linux-stable/arch
Al Viro 44fbbb3dc6 x86: get rid of calling do_notify_resume() when returning to kernel mode
If we end up calling do_notify_resume() with !user_mode(refs), it
does nothing (do_signal() explicitly bails out and we can't get there
with TIF_NOTIFY_RESUME in such situations).  Then we jump to
resume_userspace_sig, which rechecks the same thing and bails out
to resume_kernel, thus breaking the loop.

It's easier and cheaper to check *before* calling do_notify_resume()
and bail out to resume_kernel immediately.  And kill the check in
do_signal()...

Note that on amd64 we can't get there with !user_mode() at all - asm
glue takes care of that.

Acked-and-reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-06-01 13:01:51 -04:00
..
alpha new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
arm new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
avr32 new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
blackfin blackfin: check __get_user() return value 2012-06-01 13:01:27 -04:00
c6x new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
cris new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
frv FRV: Optimise the system call exit path in entry.S [ver #2] 2012-06-01 12:59:38 -04:00
h8300 new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
hexagon new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
ia64 new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
m32r new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
m68k new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
microblaze new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
mips new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
mn10300 new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
openrisc new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
parisc new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
powerpc new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
s390 new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
score new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
sh new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
sparc new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
tile new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
um new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
unicore32 new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
x86 x86: get rid of calling do_notify_resume() when returning to kernel mode 2012-06-01 13:01:51 -04:00
xtensa new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
.gitignore
Kconfig Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-05-25 09:18:59 -07:00