summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2003-05-25 01:01:28 +0000
committermarcel <marcel@FreeBSD.org>2003-05-25 01:01:28 +0000
commit58b1c667e7301998073f86b06e93e7a21bc949a8 (patch)
treecad5dbecee578b0109f3e2224be69309cc743d1d /sys/ia64
parentebc58977d3a477711b1d81579908dde8f735e187 (diff)
downloadFreeBSD-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.c3
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;
}
OpenPOWER on IntegriCloud