From: Adam Lackorzynski <adam@os.inf.tu-dresden.de>

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).


---

 25-akpm/arch/i386/kernel/process.c |    2 +-
 25-akpm/arch/i386/kernel/ptrace.c  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff -puN arch/i386/kernel/process.c~get_thread_area-macros arch/i386/kernel/process.c
--- 25/arch/i386/kernel/process.c~get_thread_area-macros	Tue May  4 17:39:13 2004
+++ 25-akpm/arch/i386/kernel/process.c	Tue May  4 17:39:13 2004
@@ -733,7 +733,7 @@ asmlinkage int sys_set_thread_area(struc
 	((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 -puN arch/i386/kernel/ptrace.c~get_thread_area-macros arch/i386/kernel/ptrace.c
--- 25/arch/i386/kernel/ptrace.c~get_thread_area-macros	Tue May  4 17:39:13 2004
+++ 25-akpm/arch/i386/kernel/ptrace.c	Tue May  4 17:39:13 2004
@@ -174,7 +174,7 @@ ptrace_get_thread_area(struct task_struc
 	((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)

_