mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			889 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			889 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From eaf7f2fd0d6d933195a1bba7da252ab9b001694c Mon Sep 17 00:00:00 2001
 | 
						|
From: Phil Elwell <phil@raspberrypi.org>
 | 
						|
Date: Fri, 13 Mar 2015 12:43:36 +0000
 | 
						|
Subject: [PATCH 005/277] Protect __release_resource against resources without
 | 
						|
 parents
 | 
						|
 | 
						|
Without this patch, removing a device tree overlay can crash here.
 | 
						|
 | 
						|
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 | 
						|
---
 | 
						|
 kernel/resource.c | 6 ++++++
 | 
						|
 1 file changed, 6 insertions(+)
 | 
						|
 | 
						|
diff --git a/kernel/resource.c b/kernel/resource.c
 | 
						|
index 9b5f04404152..f8a9af6e6b91 100644
 | 
						|
--- a/kernel/resource.c
 | 
						|
+++ b/kernel/resource.c
 | 
						|
@@ -246,6 +246,12 @@ static int __release_resource(struct resource *old, bool release_child)
 | 
						|
 {
 | 
						|
 	struct resource *tmp, **p, *chd;
 | 
						|
 
 | 
						|
+	if (!old->parent) {
 | 
						|
+		WARN(old->sibling, "sibling but no parent");
 | 
						|
+		if (old->sibling)
 | 
						|
+			return -EINVAL;
 | 
						|
+		return 0;
 | 
						|
+	}
 | 
						|
 	p = &old->parent->child;
 | 
						|
 	for (;;) {
 | 
						|
 		tmp = *p;
 | 
						|
-- 
 | 
						|
2.16.1
 | 
						|
 |