aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
authorSasha Levin <levinsasha928@gmail.com>2012-01-30 23:07:22 -0500
committerLuis Henriques <luis.henriques@canonical.com>2012-04-05 11:17:32 -0400
commit2f90643aa59ed9bfa46a414615d723e9f7cf2095 (patch)
treebb4876517d9487610a6f2eec824cdfbfea6482e5 /kernel/module.c
parentb9b217b90f9d9062c031ea5fabacbda8c43348eb (diff)
module: Remove module size limit
BugLink: http://bugs.launchpad.net/bugs/971808 commit f946eeb9313ff1470758e171a60fe7438a2ded3f upstream. Module size was limited to 64MB, this was legacy limitation due to vmalloc() which was removed a while ago. Limiting module size to 64MB is both pointless and affects real world use cases. Cc: Tim Abbott <tim.abbott@oracle.com> Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 795bdc7f5c3..b9d0667efe6 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2290,8 +2290,7 @@ static int copy_and_check(struct load_info *info,
2290 return -ENOEXEC; 2290 return -ENOEXEC;
2291 2291
2292 /* Suck in entire file: we'll want most of it. */ 2292 /* Suck in entire file: we'll want most of it. */
2293 /* vmalloc barfs on "unusual" numbers. Check here */ 2293 if ((hdr = vmalloc(len)) == NULL)
2294 if (len > 64 * 1024 * 1024 || (hdr = vmalloc(len)) == NULL)
2295 return -ENOMEM; 2294 return -ENOMEM;
2296 2295
2297 if (copy_from_user(hdr, umod, len) != 0) { 2296 if (copy_from_user(hdr, umod, len) != 0) {