summaryrefslogtreecommitdiffstats
path: root/arch/parisc/hpux/gate.S
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-05-19 06:29:22 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-01 15:58:13 +0200
commit00df111e7eb505558c54f23861e9341e56dd5fb0 (patch)
treed351d0268b39837c1c57f1e5f923e1f1184c308e /arch/parisc/hpux/gate.S
parentbury the rest of TIF_IRET (diff)
downloadlinux-00df111e7eb505558c54f23861e9341e56dd5fb0.tar.xz
linux-00df111e7eb505558c54f23861e9341e56dd5fb0.zip
parisc: fix double restarts
Don't bother restoring r28 on syscall restarts; it's clobbered by syscall anyway. Reuse (now unused) ->orig_r28 as "no restarts allowed" flag. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/parisc/hpux/gate.S')
-rw-r--r--arch/parisc/hpux/gate.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/parisc/hpux/gate.S b/arch/parisc/hpux/gate.S
index 38a1c1b8d4e8..011468857e98 100644
--- a/arch/parisc/hpux/gate.S
+++ b/arch/parisc/hpux/gate.S
@@ -71,7 +71,7 @@ ENTRY(hpux_gateway_page)
STREG %r26, TASK_PT_GR26(%r1) /* 1st argument */
STREG %r27, TASK_PT_GR27(%r1) /* user dp */
STREG %r28, TASK_PT_GR28(%r1) /* return value 0 */
- STREG %r28, TASK_PT_ORIG_R28(%r1) /* return value 0 (saved for signals) */
+ STREG %r0, TASK_PT_ORIG_R28(%r1) /* don't prohibit restarts */
STREG %r29, TASK_PT_GR29(%r1) /* 8th argument */
STREG %r31, TASK_PT_GR31(%r1) /* preserve syscall return ptr */