lkml.org 
[lkml]   [2022]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 1/2] binfmt_misc: fix crash when load/unload module
On Mon, Jan 24, 2022 at 10:18:12AM -0800, Tong Zhang wrote:
> We should unregister the table upon module unload otherwise something
> horrible will happen when we load binfmt_misc module again. Also note
> that we should keep value returned by register_sysctl_mount_point() and
> release it later, otherwise it will leak.
> Also, per Christian's comment, to fully restore the old behavior that
> won't break userspace the check(binfmt_misc_header) should be
> eliminated.
>
> reproduce:
> modprobe binfmt_misc
> modprobe -r binfmt_misc
> modprobe binfmt_misc
> modprobe -r binfmt_misc
> modprobe binfmt_misc
>
> [ 18.032038] Call Trace:
> [ 18.032108] <TASK>
> [ 18.032169] dump_stack_lvl+0x34/0x44
> [ 18.032273] __register_sysctl_table+0x6f4/0x720
> [ 18.032397] ? preempt_count_sub+0xf/0xb0
> [ 18.032508] ? 0xffffffffc0040000
> [ 18.032600] init_misc_binfmt+0x2d/0x1000 [binfmt_misc]
> [ 18.042520] binfmt_misc: Failed to create fs/binfmt_misc sysctl mount point
> modprobe: can't load module binfmt_misc (kernel/fs/binfmt_misc.ko): Cannot allocate memory
> [ 18.063549] binfmt_misc: Failed to create fs/binfmt_misc sysctl mount point
> [ 18.204779] BUG: unable to handle page fault for address: fffffbfff8004802
>
> Fixes: 3ba442d5331f ("fs: move binfmt_misc sysctl to its own file")
> Co-developed-by: Christian Brauner<brauner@kernel.org>
> Signed-off-by: Tong Zhang <ztong0001@gmail.com>

Acked-by: Luis Chamberlain <mcgrof@kernel.org>

Luis

\
 
 \ /
  Last update: 2022-01-25 19:17    [W:0.072 / U:0.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site