Module Name: src Committed By: snj Date: Fri Feb 26 21:50:54 UTC 2016
Modified Files: src/sys/arch/x86/x86 [netbsd-7]: pmap.c Log Message: Pull up following revision(s) (requested by hannken in ticket #1100): sys/arch/x86/x86/pmap.c: revision 1.190 Operation pmap_pp_clear_attrs() may remove the "used" attribute from a page that is still cached in the TLB of other CPUs. Call pmap_tlb_shootnow() here before enabling preemption to clear the TLB entries on other CPUs. Should prevent tmpfs data corruption under load. Ok: Chuck Silvers To generate a diff of this commit: cvs rdiff -u -r1.183.2.3 -r1.183.2.4 src/sys/arch/x86/x86/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/x86/x86/pmap.c diff -u src/sys/arch/x86/x86/pmap.c:1.183.2.3 src/sys/arch/x86/x86/pmap.c:1.183.2.4 --- src/sys/arch/x86/x86/pmap.c:1.183.2.3 Fri Feb 12 10:55:35 2016 +++ src/sys/arch/x86/x86/pmap.c Fri Feb 26 21:50:54 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.183.2.3 2016/02/12 10:55:35 snj Exp $ */ +/* $NetBSD: pmap.c,v 1.183.2.4 2016/02/26 21:50:54 snj Exp $ */ /*- * Copyright (c) 2008, 2010 The NetBSD Foundation, Inc. @@ -171,7 +171,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.183.2.3 2016/02/12 10:55:35 snj Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.183.2.4 2016/02/26 21:50:54 snj Exp $"); #include "opt_user_ldt.h" #include "opt_lockdebug.h" @@ -3867,6 +3867,7 @@ startover: } result = pp->pp_attrs & clearbits; pp->pp_attrs &= ~clearbits; + pmap_tlb_shootnow(); kpreempt_enable(); return result != 0;