kernel-hacking-2024-linux-s.../arch
Al Viro 14203e19cb microblaze: fix the horror with restarts of sigreturn()
solution a-la arm one - pick a callee-saved register (r30), set it
non-zero when entering a syscall, have sigreturn wrapper zero it out
and pass the value in it to do_notify_resume() as "in_syscall" (actually,
"restarts allowed") argument.

Note that we don't give a damn about ret_from_fork() - return value
is not restart-worthy anyway.

Possible remaining bug: on !MMU we still have _debug_exception()
restartable.  If it hits with -ERESTART_... accidentally in r3, fun happens.
MMU does _not_ have _debug_exception() restartable.  If that's decided to
be a bug (as I strongly suspect it to be), we'll just need to replace
setting r30 to 1 with setting r30 to 0 in !MMU _debug_exception().
Up to microblaze maintainers...

[folded a fix from Michal]

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-02-03 18:16:02 -05:00
..
alpha consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
arm consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
arm64 - Page protection fixes, including proper PAGE_NONE handling 2013-01-16 09:44:40 -08:00
avr32 consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
blackfin ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
c6x These are a few cleanups for asm-generic: 2012-12-21 16:39:08 -08:00
cris consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
frv ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
h8300 consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
hexagon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
ia64 consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
m32r consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
m68k consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
microblaze microblaze: fix the horror with restarts of sigreturn() 2013-02-03 18:16:02 -05:00
mips mips: use sane prototype for sys_rt_sigsuspend() 2013-02-03 18:14:17 -05:00
mn10300 consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
openrisc ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
parisc consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
powerpc take sys_rt_sigsuspend() prototype to linux/syscalls.h 2013-02-03 18:14:23 -05:00
s390 consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
score ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
sh sh: ecovec: add sample amixer settings 2013-01-16 18:30:44 +09:00
sparc consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
tile ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
um Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
unicore32 ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
x86 consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
xtensa take sys_rt_sigsuspend() prototype to linux/syscalls.h 2013-02-03 18:14:23 -05:00
.gitignore
Kconfig generic sys_sigaction() and compat_sys_sigaction() 2013-02-03 15:09:23 -05:00