diff options
author | marcel <marcel@FreeBSD.org> | 2003-05-25 01:01:28 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-05-25 01:01:28 +0000 |
commit | 58b1c667e7301998073f86b06e93e7a21bc949a8 (patch) | |
tree | cad5dbecee578b0109f3e2224be69309cc743d1d /sys/ia64 | |
parent | ebc58977d3a477711b1d81579908dde8f735e187 (diff) | |
download | FreeBSD-src-58b1c667e7301998073f86b06e93e7a21bc949a8.zip FreeBSD-src-58b1c667e7301998073f86b06e93e7a21bc949a8.tar.gz |
Now that we define user mode as any IP address that isn't in the
kernel's VA regions, we cannot limit the use of break-based
syscalls to user mode only. The signal trampolines are in the
gateway page, which is mapped into the process address space in
region 5 and thus is kernel space.
We don't special case the gateway page here. Allow break-based
syscalls from anywhere in the kernel VA space.
Approved by: re@ (blanket)
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/trap.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/ia64/ia64/trap.c b/sys/ia64/ia64/trap.c index 4fedd51..622da64 100644 --- a/sys/ia64/ia64/trap.c +++ b/sys/ia64/ia64/trap.c @@ -346,8 +346,7 @@ trap(int vector, struct trapframe *framep) user = ((framep->tf_special.iip >> 61) < 5) ? 1 : 0; /* Short-circuit break instruction based system calls. */ - if (vector == IA64_VEC_BREAK && user && - framep->tf_special.ifa == 0x100000) { + if (vector == IA64_VEC_BREAK && framep->tf_special.ifa == 0x100000) { break_syscall(framep); return; } |