lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 31 Jan 2012 09:07:06 -0500
From:	Josh Boyer <jwboyer@...il.com>
To:	Sasha Levin <levinsasha928@...il.com>
Cc:	rusty@...tcorp.com.au, linux-kernel@...r.kernel.org,
	Sasha Levin <sasha.levin@...cle.com>,
	Tim Abbott <tim.abbott@...cle.com>, stable@...r.kernel.org
Subject: Re: [PATCH] module: Remove module size limit

On Mon, Jan 30, 2012 at 11:07 PM, Sasha Levin <levinsasha928@...il.com> wrote:
> 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: Rusty Russell <rusty@...tcorp.com.au>
> Cc: Tim Abbott <tim.abbott@...cle.com>
> Cc: stable@...r.kernel.org
> Signed-off-by: Sasha Levin <sasha.levin@...cle.com>
> ---
>  kernel/module.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/module.c b/kernel/module.c
> index 2c93276..3d56b6f 100644
> --- a/kernel/module.c
> +++ b/kernel/module.c
> @@ -2380,8 +2380,7 @@ static int copy_and_check(struct load_info *info,
>                return -ENOEXEC;
>
>        /* Suck in entire file: we'll want most of it. */
> -       /* vmalloc barfs on "unusual" numbers.  Check here */
> -       if (len > 64 * 1024 * 1024 || (hdr = vmalloc(len)) == NULL)
> +       if ((hdr = vmalloc(len)) == NULL)
>                return -ENOMEM;
>
>        if (copy_from_user(hdr, umod, len) != 0) {

I could be missing something somewhere, but this is the only upper bounds
check that is in place on the overall module size.  If we remove this without
putting some other kind of sanity check, wouldn't it be possible for someone
to exhaust the entire vmalloc space for the kernel by loading a bloated module?

I would think we still want to have some form of upper bounds check to prevent
that, but maybe I'm paranoid.

As an aside, which real world use cases are blocked by having a 64MB limit?
That is already HUGE.

josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ