1
0
Files
linux/arch/x86/kernel
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
..
2008-07-21 21:35:38 +02:00
2008-07-16 10:58:55 +02:00
2008-07-18 14:35:14 +02:00
2008-07-20 09:18:17 +02:00
2008-07-03 08:19:18 +02:00
2008-04-17 17:41:36 +02:00
2008-07-08 13:16:14 +02:00
2008-07-01 11:03:31 +02:00
2008-04-26 17:35:47 +02:00
2008-06-02 11:55:52 +02:00
2008-07-16 10:54:39 +02:00
2008-04-19 19:19:54 +02:00
2008-07-15 11:18:03 +02:00
2008-04-27 12:00:28 +03:00
2008-06-12 21:25:51 +02:00
2008-07-16 12:15:17 -07:00
2008-06-12 18:05:42 -07:00
2008-07-16 12:15:16 -07:00
2008-07-06 14:01:50 +02:00
2008-07-21 21:35:38 +02:00
2008-07-16 12:15:17 -07:00
2008-07-08 12:23:31 +02:00
2008-07-18 18:51:57 +02:00
2008-07-18 18:51:57 +02:00
2008-07-15 22:46:47 +02:00
2008-07-20 09:18:17 +02:00
2008-05-25 08:58:24 +02:00