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] [day] [month] [year] [list]
Message-ID: <20180308131208.qlrfmla2x3gwt3mp@redbean>
Date:   Thu, 8 Mar 2018 14:12:10 +0100
From:   Jessica Yu <jeyu@...nel.org>
To:     Leon Yu <chianglungyu@...il.com>
Cc:     Linus Torvalds <torvalds@...ux-foundation.org>,
        linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH resend] module: propagate error in modules_open()

+++ Leon Yu [06/03/18 23:16 +0800]:
>otherwise kernel can oops later in seq_release() due to dereferencing null
>file->private_data which is only set if seq_open() succeeds.
>
>BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
>IP: seq_release+0xc/0x30
>Call Trace:
> close_pdeo+0x37/0xd0
> proc_reg_release+0x5d/0x60
> __fput+0x9d/0x1d0
> ____fput+0x9/0x10
> task_work_run+0x75/0x90
> do_exit+0x252/0xa00
> do_group_exit+0x36/0xb0
> SyS_exit_group+0xf/0x10
>
>Fixes: 516fb7f2e73d ("/proc/module: use the same logic as /proc/kallsyms for address exposure")
>Cc: Jessica Yu <jeyu@...nel.org>
>Cc: Linus Torvalds <torvalds@...ux-foundation.org>
>Cc: stable@...r.kernel.org # 4.15+
>Signed-off-by: Leon Yu <chianglungyu@...il.com>

Ah yeah, the error code was dropped in that commit. 

Applied, thanks for the fix.

Jessica

>---
> kernel/module.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/kernel/module.c b/kernel/module.c
>index ad2d420024f6..e42764acedb4 100644
>--- a/kernel/module.c
>+++ b/kernel/module.c
>@@ -4228,7 +4228,7 @@ static int modules_open(struct inode *inode, struct file *file)
> 		m->private = kallsyms_show_value() ? NULL : (void *)8ul;
> 	}
>
>-	return 0;
>+	return err;
> }
>
> static const struct file_operations proc_modules_operations = {
>--
>2.16.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ