diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2011-04-14 14:06:07 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2011-04-14 14:06:07 +0000 |
commit | 261dcbec2c4c9a0c15d4408e30c8034c82c44e77 (patch) | |
tree | 6b67229d5bf1c0c4a5f2aa8e99c828007bb63af3 /sys/arch | |
parent | 84bcb77d0e7012c5a8b08695ac7a4d1f84c2397e (diff) |
Fix copy_on_fault by decrementing the stack pointer before restoring the
return pointer.
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/hppa64/hppa64/locore.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/hppa64/hppa64/locore.S b/sys/arch/hppa64/hppa64/locore.S index 803c55305da..5d4be5c50c4 100644 --- a/sys/arch/hppa64/hppa64/locore.S +++ b/sys/arch/hppa64/hppa64/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.20 2011/04/13 17:36:29 jsing Exp $ */ +/* $OpenBSD: locore.S,v 1.21 2011/04/14 14:06:06 jsing Exp $ */ /* * Copyright (c) 2005 Michael Shalayeff @@ -1514,8 +1514,8 @@ LEAF_ENTRY(copy_on_fault) mtsp %r0, %sr1 mtsp %r0, %sr2 std %r1, PCB_ONFAULT+U_PCB(%rp) - ldd HPPA_FRAME_RP(%sp), %rp ldo -HPPA_FRAME_SIZE(%sp), %sp + ldd HPPA_FRAME_RP(%sp), %rp bv %r0(%rp) ldi EFAULT, %ret0 EXIT(copy_on_fault) |