summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2008-02-13 11:04:50 +0100
committerIngo Molnar <mingo@elte.hu>2008-02-14 23:30:20 +0100
commit69b1415e934fc1a796a817e32d84162ae65962f5 (patch)
treec9a41dfe191131bcb4d9632d2f7541c3f5883474
parent7bfeab9af95565e38a97fbcfb631e5b140241187 (diff)
downloadlinux-69b1415e934fc1a796a817e32d84162ae65962f5.tar.gz
linux-69b1415e934fc1a796a817e32d84162ae65962f5.tar.bz2
linux-69b1415e934fc1a796a817e32d84162ae65962f5.zip
x86: cpa: ensure page alignment
the cpa API is page aligned - warn about any weird alignments. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/mm/pageattr.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index bd61ed13f9cf..5d2259468d3c 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -688,6 +688,15 @@ static int change_page_attr_set_clr(unsigned long addr, int numpages,
if (!pgprot_val(mask_set) && !pgprot_val(mask_clr))
return 0;
+ /* Ensure we are PAGE_SIZE aligned */
+ if (addr & ~PAGE_MASK) {
+ addr &= PAGE_MASK;
+ /*
+ * People should not be passing in unaligned addresses:
+ */
+ WARN_ON_ONCE(1);
+ }
+
cpa.vaddr = addr;
cpa.numpages = numpages;
cpa.mask_set = mask_set;