diff options
author | jhb <jhb@FreeBSD.org> | 2001-06-29 04:18:59 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-06-29 04:18:59 +0000 |
commit | 3c7ad7347031542b48d722a7f375355a04259295 (patch) | |
tree | 20de132804ff93a2c44724d5d221955293b14849 /sys/alpha | |
parent | cc8833dfe93c8b4278dc447d08a183bffab6c910 (diff) | |
download | FreeBSD-src-3c7ad7347031542b48d722a7f375355a04259295.zip FreeBSD-src-3c7ad7347031542b48d722a7f375355a04259295.tar.gz |
Grab Giant around fault handling at the top level for now.
Diffstat (limited to 'sys/alpha')
-rw-r--r-- | sys/alpha/alpha/trap.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/alpha/alpha/trap.c b/sys/alpha/alpha/trap.c index a4132c7..3e958ef 100644 --- a/sys/alpha/alpha/trap.c +++ b/sys/alpha/alpha/trap.c @@ -523,6 +523,7 @@ trap(a0, a1, a2, entry, framep) goto out; } + mtx_lock(&Giant); /* * It is only a kernel address space fault iff: * 1. !user and @@ -629,9 +630,11 @@ trap(a0, a1, a2, entry, framep) rv = KERN_INVALID_ADDRESS; } if (rv == KERN_SUCCESS) { + mtx_unlock(&Giant); goto out; } + mtx_unlock(&Giant); if (!user) { /* Check for copyin/copyout fault */ if (p != NULL && |