X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=arch%2Fx86%2Fmm%2Fpat.c;h=d4585077977a0bd1c6c7234b09051d671851a6aa;hb=751851af7aae9b8bd5a60b3897209081fbc18b2b;hp=a885a1019b8a6908f08e7481a5724daa5ecde273;hpb=58cf35228fec541418cc3bd781d6c069d904815e;p=linux-2.6 diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index a885a1019b..d458507797 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c @@ -449,7 +449,8 @@ int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn, if (retval < 0) return 0; - if (pfn <= max_pfn_mapped && + if (((pfn < max_low_pfn_mapped) || + (pfn >= (1UL<<(32 - PAGE_SHIFT)) && pfn < max_pfn_mapped)) && ioremap_change_attr((unsigned long)__va(offset), size, flags) < 0) { free_memtype(offset, offset + size); printk(KERN_INFO