[<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