From 613e9563c6e1658c2d0fbfd1fcc76a06965f7e23 Mon Sep 17 00:00:00 2001 From: Dave Hansen Date: Thu, 7 Mar 2013 08:31:51 -0800 Subject: [PATCH] --- yaml --- r: 360940 b: refs/heads/master c: 60f583d56aa515b896a9d94f860f52640c1e8a75 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/mm/pat.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a009d6a38d74..534c7c9a8b6f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3c4aff6b9a183b4f24eb7b8dd6c8a92cdba3bc75 +refs/heads/master: 60f583d56aa515b896a9d94f860f52640c1e8a75 diff --git a/trunk/arch/x86/mm/pat.c b/trunk/arch/x86/mm/pat.c index 2610bd93c896..657438858e83 100644 --- a/trunk/arch/x86/mm/pat.c +++ b/trunk/arch/x86/mm/pat.c @@ -563,6 +563,13 @@ int kernel_map_sync_memtype(u64 base, unsigned long size, unsigned long flags) if (base > __pa(high_memory-1)) return 0; + /* + * some areas in the middle of the kernel identity range + * are not mapped, like the PCI space. + */ + if (!page_is_ram(base >> PAGE_SHIFT)) + return 0; + id_sz = (__pa(high_memory-1) <= base + size) ? __pa(high_memory) - base : size;