linux/arch
Roland McGrath 1a3e4ca41c x86 vDSO: don't use disabled vDSO for signal trampoline
If the vDSO was not mapped, don't use it as the "restorer" for a signal
handler.  Whether we have a pointer in mm->context.vdso depends on what
happened at exec time, so we shouldn't check any global flags now.

Background:

Currently, every 32-bit exec gets the vDSO mapped even if it's disabled
(the process just doesn't get told about it).  Because it's in fact
always there, the bug that this patch fixes cannot happen now.  With
the second patch, it won't be mapped at all when it's disabled, which is
one of the things that people might really want when they disable it (so
nothing they didn't ask for goes into their address space).

The 32-bit signal handler setup when SA_RESTORER is not used refers to
current->mm->context.vdso without regard to whether the vDSO has been
disabled when the process was exec'd.  This patch fixes this not to use
it when it's null, which becomes possible after the second patch. (This
never happens in normal use, because glibc's sigaction call uses
SA_RESTORER unless glibc detected the vDSO.)

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-17 17:40:45 +02:00
..
alpha alpha: fix ALSA DMA mmap crash 2008-04-02 15:28:19 -07:00
arm [ARM] 4873/1: Fix ITE 8152 interrupt demux 2008-03-28 15:07:46 +00:00
avr32 avr32 mustn't select HAVE_IDE 2008-04-17 01:14:32 +02:00
blackfin [Blackfin] arch: fix atomic and32/xor32 comments and ENDPROC markings 2008-03-03 17:44:14 -07:00
cris cris: correct usage of __user for copy to and from user space in lib/usercopy and uaccess.h 2008-03-04 16:35:16 -08:00
frv FRV: Correctly determine the address of an illegal instruction 2008-04-14 07:55:15 -07:00
h8300 h8300: defconfig update 2008-02-23 17:12:16 -08:00
ia64 acpi: unneccessary to scan the PCI bus already scanned 2008-04-15 19:35:41 -07:00
m32r ide: introduce HAVE_IDE 2008-02-09 10:46:40 +01:00
m68k m68k: update defconfigs for 2.6.25 2008-04-04 14:42:30 -07:00
m68knommu m68k{,nommu}: Wire up new timerfd syscalls 2008-03-04 08:04:11 -08:00
mips Pb1200/DBAu1200: fix bad IDE resource size 2008-04-17 01:14:33 +02:00
mn10300 MN10300: define HZ as a config option 2008-02-23 17:12:13 -08:00
parisc [PARISC] fix signal trampoline cache flushing 2008-04-15 15:51:36 -07:00
powerpc [POWERPC] Fix MPC5200 (not B!) device tree so FEC ethernet works 2008-04-03 22:11:12 +11:00
ppc [PPC] 8xx: swap bug-fix 2008-03-07 16:56:54 -06:00
s390 [S390] futex: let futex_atomic_cmpxchg_pt survive early functional tests. 2008-03-20 17:33:46 +01:00
sh sh: export empty_zero_page 2008-04-16 02:21:47 +09:00
sparc [SPARC]: Fix several regset and ptrace bugs. 2008-04-09 19:39:25 -07:00
sparc64 [SPARC]: Fix several regset and ptrace bugs. 2008-04-09 19:39:25 -07:00
um [UML]: uml-net: don't set IFF_ALLMULTI in set_multicast_list 2008-03-26 00:16:29 -07:00
v850 ide: introduce HAVE_IDE 2008-02-09 10:46:40 +01:00
x86 x86 vDSO: don't use disabled vDSO for signal trampoline 2008-04-17 17:40:45 +02:00
xtensa [XTENSA] Allow debugger to modify the WINDOWBASE register. 2008-02-13 17:45:36 -08:00
.gitignore arch: Ignore arch/i386 and arch/x86_64 2008-01-19 21:29:39 -08:00
Kconfig Kprobes: indicate kretprobe support in Kconfig 2008-03-04 16:35:11 -08:00