kernel: fix vmalloc stack traces triggered by module with an empty init section (mostly happens on x86)

SVN-Revision: 30813
master
Felix Fietkau 13 years ago
parent b8aead7f92
commit e308da91e7
  1. 20
      target/linux/generic/patches-3.2/340-module_alloc_size_check.patch
  2. 20
      target/linux/generic/patches-3.3/340-module_alloc_size_check.patch

@ -0,0 +1,20 @@
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2286,12 +2286,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);

@ -0,0 +1,20 @@
--- 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);
Loading…
Cancel
Save