]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - kernel/module.c
module: fix ddebug_remove_module()
authorZhou Chengming <zhouchengming1@huawei.com>
Fri, 7 Jul 2017 03:15:58 +0000 (11:15 +0800)
committerJessica Yu <jeyu@kernel.org>
Tue, 25 Jul 2017 13:08:32 +0000 (15:08 +0200)
commit5279631271b32201243c60308a8987bd585e4460
treeaadd8b14c39efbee509876d18f4a5a796a8d13c0
parent4fd3e4ef1f7e94299b42c2f473e196d0b8c114d0
module: fix ddebug_remove_module()

ddebug_remove_module() use mod->name to find the ddebug_table of the
module and remove it. But dynamic_debug_setup() use the first
_ddebug->modname to create ddebug_table for the module. It's ok when
the _ddebug->modname is the same with the mod->name.

But livepatch module is special, it may contain _ddebugs of other
modules, the modname of which is different from the name of livepatch
module. So ddebug_remove_module() can't use mod->name to find the
right ddebug_table and remove it. It can cause kernel crash when we cat
the file <debugfs>/dynamic_debug/control.

Signed-off-by: Zhou Chengming <zhouchengming1@huawei.com>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
kernel/module.c