mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] x86/mm: avoid premature success when changing page attributes
@ 2016-01-25 16:54 Jan Beulich
  2016-01-27 10:05 ` Thomas Gleixner
  0 siblings, 1 reply; 11+ messages in thread
From: Jan Beulich @ 2016-01-25 16:54 UTC (permalink / raw)
  To: mingo, tglx, hpa; +Cc: linux-kernel

Since successful return from __cpa_process_fault() makes
__change_page_attr() exit early (and successfully), its caller needs to
be instructed to continue its iteration by adjusting ->numpages. While
this already happens on one of __cpa_process_fault()'s successful exit
paths, the other needs this done similarly. This was in particular a
problem when the top level caller passed zero for "checkalias"
(becoming the "primary" value for the other two mentioned functions),
as is the case in change_page_attr_set_clr() when the OR of "mask_set"
and "mask_clr" equals _PAGE_NX, as e.g. passed from set_memory_{,n}x().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 arch/x86/mm/pageattr.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- 4.5-rc1/arch/x86/mm/pageattr.c
+++ 4.5-rc1-x86-cpa-non-primary/arch/x86/mm/pageattr.c
@@ -1122,8 +1122,10 @@ static int __cpa_process_fault(struct cp
 	/*
 	 * Ignore all non primary paths.
 	 */
-	if (!primary)
+	if (!primary) {
+		cpa->numpages = 1;
 		return 0;
+	}
 
 	/*
 	 * Ignore the NULL PTE for kernel identity mapping, as it is expected

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-02-25  9:47 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-25 16:54 [PATCH] x86/mm: avoid premature success when changing page attributes Jan Beulich
2016-01-27 10:05 ` Thomas Gleixner
2016-01-27 10:44   ` Jan Beulich
2016-01-27 10:53     ` Thomas Gleixner
2016-01-27 11:10       ` Jan Beulich
2016-01-27 11:21       ` [PATCH v2] " Jan Beulich
2016-01-28  8:42         ` Ingo Molnar
2016-02-02  8:46           ` Jan Beulich
2016-02-09 14:30             ` Ingo Molnar
2016-02-10  9:03               ` [PATCH v3] " Jan Beulich
2016-02-25  9:45                 ` [tip:x86/mm] x86/mm: Avoid " tip-bot for Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome