linux/arch
Roland McGrath 15e8f348db x86_64: remove bogus optimization in sysret_signal
This short-circuit path in sysret_signal looks wrong to me.
AFAICT, in practice the branch is never taken--and if it were,
it would go wrong.  To wit, try loading a module whose init
function does set_thread_flag(TIF_IRET), and see insmod crash
(presumably with a wrong user stack pointer).

This is because the FIXUP_TOP_OF_STACK work hasn't been done yet
when we jump around the call to ptregscall_common and get to
int_with_check--where it expects the user RSP,SS,CS and EFLAGS to
have been stored by FIXUP_TOP_OF_STACK.

I don't think it's normally possible to get to sysret_signal with no
_TIF_DO_NOTIFY_MASK bits set anyway, so these two instructions are
already superfluous.  If it ever did happen, it is harmless to call
do_notify_resume with nothing for it to do.

Signed-off-by: Roland McGrath <roland@redhat.com>
2008-07-23 17:43:36 -07:00
..
alpha Merge branch 'generic-ipi' into generic-ipi-for-linus 2008-07-15 21:55:59 +02:00
arm kgdb: support for ARCH=arm 2008-07-23 11:30:15 -05:00
avr32 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2008-07-23 12:03:18 -07:00
blackfin remove mention of CONFIG_KMOD from documentation 2008-07-22 19:24:29 +10:00
cris Merge branch 'for-linus' of git://www.jni.nu/cris 2008-07-20 17:37:46 -07:00
frv PCI: remove unused arch pcibios_update_resource() functions 2008-06-27 13:14:01 -07:00
h8300 [PATCH] take init_files to fs/file.c 2008-05-16 17:22:20 -04:00
ia64 sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
m32r smp_call_function: get rid of the unused nonatomic/retry argument 2008-06-26 11:24:35 +02:00
m68k arch/m68k/mm/sun3mmu.c: Eliminate NULL test and memset after alloc_bootmem 2008-07-20 17:24:40 -07:00
m68knommu Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-07-16 17:25:46 -07:00
mips device create: mips: convert device_create to device_create_drvdata 2008-07-21 21:54:43 -07:00
mn10300 MN10300: Fix MN10300's serial port driver to get at its tty_struct 2008-07-20 17:12:35 -07:00
parisc Merge branch 'generic-ipi' into generic-ipi-for-linus 2008-07-15 21:55:59 +02:00
powerpc kgdb, powerpc: arch specific powerpc kgdb support 2008-07-23 11:30:15 -05:00
s390 sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
sh sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
sparc sparc32: pass -m32 when building vmlinux.lds 2008-07-22 15:47:17 -07:00
sparc64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2008-07-22 13:17:15 -07:00
um UML - Fix boot crash 2008-07-23 09:36:56 -07:00
v850 [PATCH] take init_files to fs/file.c 2008-05-16 17:22:20 -04:00
x86 x86_64: remove bogus optimization in sysret_signal 2008-07-23 17:43:36 -07:00
xtensa remove mention of CONFIG_KMOD from documentation 2008-07-22 19:24:29 +10:00
.gitignore
Kconfig Add generic helpers for arch IPI function calls 2008-06-26 11:21:34 +02:00