Return EINVAL for unknown address in change_page_attr Matches what i386 does and makes more sense. Signed-off-by: Andi Kleen --- arch/x86_64/mm/pageattr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: linux/arch/x86_64/mm/pageattr.c =================================================================== --- linux.orig/arch/x86_64/mm/pageattr.c +++ linux/arch/x86_64/mm/pageattr.c @@ -154,7 +154,9 @@ __change_page_attr(unsigned long address pgprot_t ref_prot2; kpte = lookup_address(address); - if (!kpte) return 0; + if (!kpte) + return -EINVAL; + kpte_page = virt_to_page(((unsigned long)kpte) & PAGE_MASK); BUG_ON(PageCompound(kpte_page)); BUG_ON(PageLRU(kpte_page));