[PATCH] avoiding the same resource to be inserted

From: Huang Shijie
Date: Mon Aug 16 2010 - 11:52:35 EST


If the same resource is inserted to the resource tree
(maybe not on purpose), a dead loop will be created. In this situation,
The kernel does not report any warning or error :(

The command below will show a endless print.
#cat /proc/iomem

So, adding the check for the same resource is needed for the stability
and reliability of the kernel.

Signed-off-by: Huang Shijie <shijie8@xxxxxxxxx>
---
kernel/resource.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/resource.c b/kernel/resource.c
index 7b36976..60daab4 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -451,7 +451,7 @@ static struct resource * __insert_resource(struct resource *parent, struct resou
if (!first)
return first;

- if (first == parent)
+ if (first == parent || first == new)
return first;

if ((first->start > new->start) || (first->end < new->end))
--
1.6.6.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/