Messages in this thread Patch in this message | | | Date | Tue, 4 May 2004 13:36:41 +0200 | From | Adam Lackorzynski <> | Subject | [PATCH] get_thread_area macros |
| |
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@os.inf.tu-dresden.de 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |