svn commit: r202421 - stable/8/sys/amd64/amd64

Konstantin Belousov kib at FreeBSD.org
Fri Jan 15 22:19:51 UTC 2010


Author: kib
Date: Fri Jan 15 22:19:51 2010
New Revision: 202421
URL: http://svn.freebsd.org/changeset/base/202421

Log:
  MFC r201890:
  Set md_ldt after md_ldt_sd is populated.

Modified:
  stable/8/sys/amd64/amd64/sys_machdep.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/amd64/amd64/sys_machdep.c
==============================================================================
--- stable/8/sys/amd64/amd64/sys_machdep.c	Fri Jan 15 21:45:55 2010	(r202420)
+++ stable/8/sys/amd64/amd64/sys_machdep.c	Fri Jan 15 22:19:51 2010	(r202421)
@@ -420,13 +420,14 @@ user_ldt_alloc(struct proc *p, int force
 		return (pldt);
 	}
 
-	mdp->md_ldt = new_ldt;
 	if (pldt != NULL) {
 		bcopy(pldt->ldt_base, new_ldt->ldt_base, max_ldt_segment *
 		    sizeof(struct user_segment_descriptor));
 		user_ldt_derefl(pldt);
 	}
 	ssdtosyssd(&sldt, &p->p_md.md_ldt_sd);
+	atomic_store_rel_ptr((volatile uintptr_t *)&mdp->md_ldt,
+	    (uintptr_t)new_ldt);
 	if (p == curproc)
 		set_user_ldt(mdp);
 


More information about the svn-src-all mailing list