Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jan 2010 22:19:51 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r202421 - stable/8/sys/amd64/amd64
Message-ID:  <201001152219.o0FMJppK006195@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001152219.o0FMJppK006195>