Explorar o código

[PATCH] Fix a memory leak in the i386 setup code

Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Catalin Marinas %!s(int64=19) %!d(string=hai) anos
pai
achega
a7546075e7
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      arch/i386/kernel/setup.c

+ 4 - 1
arch/i386/kernel/setup.c

@@ -1327,7 +1327,10 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat
 		res->start = e820.map[i].addr;
 		res->end = res->start + e820.map[i].size - 1;
 		res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
-		request_resource(&iomem_resource, res);
+		if (request_resource(&iomem_resource, res)) {
+			kfree(res);
+			continue;
+		}
 		if (e820.map[i].type == E820_RAM) {
 			/*
 			 *  We don't know which RAM region contains kernel data,