diff options
author | jhb <jhb@FreeBSD.org> | 2001-08-18 01:08:45 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-08-18 01:08:45 +0000 |
commit | 565c172bb8f5887acfb85b23eb2ef2655fe17d01 (patch) | |
tree | d446655b43775cf4a36ce14ee4b16fa1e6b26803 /sys | |
parent | f76c65e1be6c477bd146a07216a28dfd86bb4260 (diff) | |
download | FreeBSD-src-565c172bb8f5887acfb85b23eb2ef2655fe17d01.zip FreeBSD-src-565c172bb8f5887acfb85b23eb2ef2655fe17d01.tar.gz |
Grab Giant around trapsignal() at the bottom of trap().
Reported by: obrien
Diffstat (limited to 'sys')
-rw-r--r-- | sys/alpha/alpha/trap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/alpha/alpha/trap.c b/sys/alpha/alpha/trap.c index 423d4a7..99071fe 100644 --- a/sys/alpha/alpha/trap.c +++ b/sys/alpha/alpha/trap.c @@ -611,7 +611,9 @@ trap(a0, a1, a2, entry, framep) framep->tf_regs[FRAME_TRAPARG_A0] = a0; framep->tf_regs[FRAME_TRAPARG_A1] = a1; framep->tf_regs[FRAME_TRAPARG_A2] = a2; + mtx_lock(&Giant); trapsignal(p, i, ucode); + mtx_unlock(&Giant); out: if (user) { framep->tf_regs[FRAME_SP] = alpha_pal_rdusp(); |