aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/resource.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-11-03 08:57:41 +0100
committerIngo Molnar <mingo@elte.hu>2008-11-03 08:57:41 +0100
commitdb5935001a43528e673ad26ffec9d98c60a496a9 (patch)
tree8e735327a97beccabb5d94ef93df25d2bacda705 /kernel/resource.c
parent34f3a814eef8069a24e5b3ebcf27aba9dabac2ea (diff)
parent45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03 (diff)
downloadkernel_samsung_smdk4412-db5935001a43528e673ad26ffec9d98c60a496a9.zip
kernel_samsung_smdk4412-db5935001a43528e673ad26ffec9d98c60a496a9.tar.gz
kernel_samsung_smdk4412-db5935001a43528e673ad26ffec9d98c60a496a9.tar.bz2
Merge commit 'v2.6.28-rc3' into sched/core
Diffstat (limited to 'kernel/resource.c')
-rw-r--r--kernel/resource.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/resource.c b/kernel/resource.c
index 7fec0e4..4337063 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -17,6 +17,7 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/device.h>
+#include <linux/pfn.h>
#include <asm/io.h>
@@ -522,7 +523,7 @@ static void __init __reserve_region_with_split(struct resource *root,
{
struct resource *parent = root;
struct resource *conflict;
- struct resource *res = kzalloc(sizeof(*res), GFP_KERNEL);
+ struct resource *res = kzalloc(sizeof(*res), GFP_ATOMIC);
if (!res)
return;
@@ -849,7 +850,8 @@ int iomem_map_sanity_check(resource_size_t addr, unsigned long size)
continue;
if (p->end < addr)
continue;
- if (p->start <= addr && (p->end >= addr + size - 1))
+ if (PFN_DOWN(p->start) <= PFN_DOWN(addr) &&
+ PFN_DOWN(p->end) >= PFN_DOWN(addr + size - 1))
continue;
printk(KERN_WARNING "resource map sanity check conflict: "
"0x%llx 0x%llx 0x%llx 0x%llx %s\n",