4b80ab0bec1486e51fa0a67a7a805d2f6540d1c2
[openwrt/staging/jogo.git] /
1 From 3115fe312a2c751954f1ab0f0ba07aea1c1c7d1b Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Fri, 13 Mar 2015 12:43:36 +0000
4 Subject: [PATCH] Protect __release_resource against resources without parents
5
6 Without this patch, removing a device tree overlay can crash here.
7
8 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
9 ---
10 kernel/resource.c | 6 ++++++
11 1 file changed, 6 insertions(+)
12
13 --- a/kernel/resource.c
14 +++ b/kernel/resource.c
15 @@ -246,6 +246,12 @@ static int __release_resource(struct res
16 {
17 struct resource *tmp, **p, *chd;
18
19 + if (!old->parent) {
20 + WARN(old->sibling, "sibling but no parent");
21 + if (old->sibling)
22 + return -EINVAL;
23 + return 0;
24 + }
25 p = &old->parent->child;
26 for (;;) {
27 tmp = *p;