aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2008-03-23 22:44:56 +0000
committerPeter Wemm <peter@FreeBSD.org>2008-03-23 22:44:56 +0000
commit3d60169ef4461d949f33fbf1f3825b23484203e2 (patch)
treec344120484f0026511a46760959e314b776d240e
parent3d5853271ef665a16b87426ca06a7bb65da126e0 (diff)
Notes
-rw-r--r--sys/amd64/ia32/ia32_signal.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c
index a6d82a447cd4..5849d0d86047 100644
--- a/sys/amd64/ia32/ia32_signal.c
+++ b/sys/amd64/ia32/ia32_signal.c
@@ -715,10 +715,12 @@ ia32_setregs(td, entry, stack, ps_strings)
struct trapframe *regs = td->td_frame;
struct pcb *pcb = td->td_pcb;
+ critical_enter();
wrmsr(MSR_FSBASE, 0);
wrmsr(MSR_KGSBASE, 0); /* User value while we're in the kernel */
pcb->pcb_fsbase = 0;
pcb->pcb_gsbase = 0;
+ critical_exit();
load_ds(_udatasel);
load_es(_udatasel);
load_fs(_udatasel);