summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2003-04-17 21:57:16 +0000
committerjhb <jhb@FreeBSD.org>2003-04-17 21:57:16 +0000
commit1ed25f3bbfc096463bb66591808d133c7257add4 (patch)
tree71ff32862197cf1dd457e4660a6ec24822e2b68e /sys/alpha
parentfe07eb9dfb67dec3b9867ee376a889a70b355179 (diff)
downloadFreeBSD-src-1ed25f3bbfc096463bb66591808d133c7257add4.zip
FreeBSD-src-1ed25f3bbfc096463bb66591808d133c7257add4.tar.gz
Protect the per-process UAC field with the proc lock where it isn't already
protected.
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/vm_machdep.c2
-rw-r--r--sys/alpha/include/proc.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/alpha/alpha/vm_machdep.c b/sys/alpha/alpha/vm_machdep.c
index 28bb44e..a843cba 100644
--- a/sys/alpha/alpha/vm_machdep.c
+++ b/sys/alpha/alpha/vm_machdep.c
@@ -119,7 +119,9 @@ cpu_fork(td1, p2, td2, flags)
td2->td_pcb = (struct pcb *)
(td2->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1;
td2->td_md.md_flags = td1->td_md.md_flags & MDTD_FPUSED;
+ PROC_LOCK(p2);
p2->p_md.md_uac = p1->p_md.md_uac;
+ PROC_UNLOCK(p2);
/*
* Cache the physical address of the pcb, so we can
diff --git a/sys/alpha/include/proc.h b/sys/alpha/include/proc.h
index e21f433..754ccb0 100644
--- a/sys/alpha/include/proc.h
+++ b/sys/alpha/include/proc.h
@@ -62,7 +62,7 @@ struct mdthread {
#define MDP_UAC_MASK (MDP_UAC_NOPRINT | MDP_UAC_NOFIX | MDP_UAC_SIGBUS)
struct mdproc {
- u_int md_uac; /* Unaligned Access Check flags. */
+ u_int md_uac; /* (c) Unaligned Access Check flags. */
};
#endif /* !_MACHINE_PROC_H_ */
OpenPOWER on IntegriCloud