]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Fix ptrace in the vsyscall dso area
authorAndrew Morton <akpm@osdl.org>
Wed, 4 Feb 2004 02:54:15 +0000 (18:54 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Wed, 4 Feb 2004 02:54:15 +0000 (18:54 -0800)
From: Roland McGrath <roland@redhat.com>

The #include is the part of this patch that matters, so the #ifdef below
works.

The rest of the patch removes gratuitous duplication due to some strange
aversion to concision in the presence of #ifdef, the kind that is all too
common, utterly pointless, and error prone.

include/linux/mm.h

index 3ecd3d633c5f7b6164f0e9696aa7efb19d6984e5..ffc1e13d0a5561a02d23012ddb3bf0ede7604739 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/mmzone.h>
 #include <linux/rbtree.h>
 #include <linux/fs.h>
+#include <linux/elf.h>
 
 #ifndef CONFIG_DISCONTIGMEM          /* Don't use mapnrs, do it properly */
 extern unsigned long max_mapnr;
@@ -643,31 +644,24 @@ kernel_map_pages(struct page *page, int numpages, int enable)
 #endif
 
 #ifndef CONFIG_ARCH_GATE_AREA
-#ifdef AT_SYSINFO_EHDR
 static inline int in_gate_area(struct task_struct *task, unsigned long addr)
 {
+#ifdef AT_SYSINFO_EHDR
        if ((addr >= FIXADDR_USER_START) && (addr < FIXADDR_USER_END))
                return 1;
-       else
-               return 0;
+#endif
+       return 0;
 }
 
 extern struct vm_area_struct gate_vma;
 static inline struct vm_area_struct *get_gate_vma(struct task_struct *tsk)
 {
+#ifdef AT_SYSINFO_EHDR
        return &gate_vma;
-}
 #else
-static inline int in_gate_area(struct task_struct *task, unsigned long addr)
-{
        return 0;
-}
-
-static inline struct vm_area_struct *get_gate_vma(struct task_struct *tsk)
-{
-       return NULL;
-}
 #endif
+}
 #endif
 
 #endif /* __KERNEL__ */