diff options
Diffstat (limited to 'trunk/2.6.22/20053_xen3-aux-at_vector_size.patch1')
-rw-r--r-- | trunk/2.6.22/20053_xen3-aux-at_vector_size.patch1 | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/trunk/2.6.22/20053_xen3-aux-at_vector_size.patch1 b/trunk/2.6.22/20053_xen3-aux-at_vector_size.patch1 new file mode 100644 index 0000000..ae19711 --- /dev/null +++ b/trunk/2.6.22/20053_xen3-aux-at_vector_size.patch1 @@ -0,0 +1,47 @@ +From: Olaf Hering <olh@suse.de> +Subject: Make the size of mm_struct->saved_auxv arch dependend +References: 310037 + +include/asm-powerpc/elf.h has 6 entries in ARCH_DLINFO. +fs/binfmt_elf.c has 14 unconditional NEW_AUX_ENT entries and 2 +conditional NEW_AUX_ENT entries. +So in the worst case, saved_auxv does not get an AT_NULL entry at the +end. + +The saved_auxv array must be terminated with an AT_NULL entry. +Make the size of mm_struct->saved_auxv arch dependend, +based on the number of ARCH_DLINFO entries. + +Signed-off-by: Olaf Hering <olh@suse.de> + +Automatically created from "patches.fixes/aux-at_vector_size.patch" by xen-port-patches.py + +Index: 10.3-2007-11-26/include/asm-i386/mach-xen/asm/system.h +=================================================================== +--- 10.3-2007-11-26.orig/include/asm-i386/mach-xen/asm/system.h 2007-10-22 13:58:57.000000000 +0200 ++++ 10.3-2007-11-26/include/asm-i386/mach-xen/asm/system.h 2007-09-25 14:43:19.000000000 +0200 +@@ -9,6 +9,7 @@ + #include <asm/hypervisor.h> + + #ifdef __KERNEL__ ++#define AT_VECTOR_SIZE_ARCH 2 + + struct task_struct; /* one of the stranger aspects of C forward declarations.. */ + extern struct task_struct * FASTCALL(__switch_to(struct task_struct *prev, struct task_struct *next)); +Index: 10.3-2007-11-26/include/asm-x86_64/mach-xen/asm/system.h +=================================================================== +--- 10.3-2007-11-26.orig/include/asm-x86_64/mach-xen/asm/system.h 2007-10-22 13:58:57.000000000 +0200 ++++ 10.3-2007-11-26/include/asm-x86_64/mach-xen/asm/system.h 2007-12-04 14:00:57.000000000 +0100 +@@ -11,6 +11,12 @@ + + #ifdef __KERNEL__ + ++#ifdef CONFIG_IA32_EMULATION ++#define AT_VECTOR_SIZE_ARCH 2 ++#else ++#define AT_VECTOR_SIZE_ARCH 1 ++#endif ++ + #ifdef CONFIG_SMP + #define __vcpu_id smp_processor_id() + #else |