summaryrefslogtreecommitdiff
path: root/target/linux/patches/3.5.4/module-alloc-size-check.patch
blob: a792ac60a5a567435dda7810375bd931607991eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
https://dev.openwrt.org/browser/trunk/target/linux/generic/patches-3.3/340-module_alloc_size_check.patch?rev=30813
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2322,12 +2322,15 @@
 
 void * __weak module_alloc(unsigned long size)
 {
-	return size == 0 ? NULL : vmalloc_exec(size);
+	return vmalloc_exec(size);
 }
 
 static void *module_alloc_update_bounds(unsigned long size)
 {
-	void *ret = module_alloc(size);
+	void *ret = NULL;
+
+	if (size)
+		ret = module_alloc(size);
 
 	if (ret) {
 		mutex_lock(&module_mutex);