diff options
author | 2011-04-15 21:39:45 +0000 | |
---|---|---|
committer | 2011-04-15 21:39:45 +0000 | |
commit | b5adee3fbde8b5099572e49684b57f4991ee187f (patch) | |
tree | 1ef089f794604bcfbd1bc38a97f483a04920f04f /lib/libc | |
parent | Add a bit of paranoia to uvm_pageinsert. (diff) | |
download | wireguard-openbsd-b5adee3fbde8b5099572e49684b57f4991ee187f.tar.xz wireguard-openbsd-b5adee3fbde8b5099572e49684b57f4991ee187f.zip |
Remove wrong check.
HPPA longjmp tests that the env parameter < the current stack pointer.
The test relies on the stack being at the end of the memory space.
This test is wrong for a couple of reasons:
- the main stack is at 0x78000000-0x80000000, but allocations between
0x80000000-0xc0000000 are available to the program,
- pthread stacks may be at any place in the address space, allowing a
heap-allocated env parameter to fail the check.
ok deraadt@, kettenis@, guenther@ at least
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/arch/hppa/gen/setjmp.S | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/lib/libc/arch/hppa/gen/setjmp.S b/lib/libc/arch/hppa/gen/setjmp.S index a4610b51f0f..44077a9c1a5 100644 --- a/lib/libc/arch/hppa/gen/setjmp.S +++ b/lib/libc/arch/hppa/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $OpenBSD: setjmp.S,v 1.7 2005/08/07 16:40:14 espie Exp $ */ +/* $OpenBSD: setjmp.S,v 1.8 2011/04/15 21:39:45 ariane Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -114,9 +114,6 @@ EXIT(_setjmp) ENTRY(siglongjmp,64) /* XXX have to dup this from below */ - sub,>> %sp, %arg0, %r0 /* botch if jbuf was on stack */ - bl,n longjmperror, %rp - nop ldw 16(%arg0), %r1 /* botch if it's a real signal frame */ add,= %r0, %r1, %r0 bl,n longjmperror, %rp @@ -129,9 +126,6 @@ ENTRY(siglongjmp,64) ALTENTRY(longjmp) /* XXX have to dup this from below */ - sub,>> %sp, %arg0, %r0 /* botch if jbuf was on stack */ - bl,n longjmperror, %rp - nop ldw 16(%arg0), %r1 /* botch if it's a real signal frame */ add,= %r0, %r1, %r0 bl,n longjmperror, %rp @@ -156,9 +150,6 @@ ALTENTRY(longjmp) ldw HPPA_FRAME_ARG(1)(%sp), %arg1 ALTENTRY(_longjmp) - sub,>> %sp, %arg0, %r0 /* botch if jbuf was on stack */ - bl,n longjmperror, %rp - nop ldw 16(%arg0), %r1 /* botch if it's a real signal frame */ add,= %r0, %r1, %r0 bl,n longjmperror, %rp |