[PATCH] get_thread_area macros

From: Adam Lackorzynski
Date: Tue May 04 2004 - 06:42:05 EST


Hi,

one of the macros for get_thread_area seems to extract the wrong bit.
The "32bit" field is in bit 22, not 23 (as can be seen in desc.h).

diff -urN linux-2.6.6-rc3/arch/i386/kernel/process.c linux-2.6.6-rc3-a/arch/i386/kernel/process.c
--- linux-2.6.6-rc3/arch/i386/kernel/process.c 2004-05-03 22:28:42.000000000 +0200
+++ linux-2.6.6-rc3-a/arch/i386/kernel/process.c 2004-05-03 22:32:19.000000000 +0200
@@ -740,7 +740,7 @@
((desc)->a & 0x0ffff) | \
((desc)->b & 0xf0000) )

-#define GET_32BIT(desc) (((desc)->b >> 23) & 1)
+#define GET_32BIT(desc) (((desc)->b >> 22) & 1)
#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3)
#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1)
#define GET_LIMIT_PAGES(desc) (((desc)->b >> 23) & 1)
diff -urN linux-2.6.6-rc3/arch/i386/kernel/ptrace.c linux-2.6.6-rc3-a/arch/i386/kernel/ptrace.c
--- linux-2.6.6-rc3/arch/i386/kernel/ptrace.c 2004-05-03 22:28:42.000000000 +0200
+++ linux-2.6.6-rc3-a/arch/i386/kernel/ptrace.c 2004-05-03 22:33:43.000000000 +0200
@@ -174,7 +174,7 @@
((desc)->a & 0x0ffff) | \
((desc)->b & 0xf0000) )

-#define GET_32BIT(desc) (((desc)->b >> 23) & 1)
+#define GET_32BIT(desc) (((desc)->b >> 22) & 1)
#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3)
#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1)
#define GET_LIMIT_PAGES(desc) (((desc)->b >> 23) & 1)

Furthermore I'd suggest to put these macros into desc.h, mainly to avoid
the duplication in the two files.



Adam
--
Adam adam@xxxxxxxxxxxxxxxxxxxx
Lackorzynski http://os.inf.tu-dresden.de/~adam/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/