提交 4ef848da 编写于 作者: Y Ye Weihua 提交者: Zheng Zengkai

jump_label: skip resource release if jump label is not relocated

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I4IGQ2
CVE: NA

-------------------------------

Before a module is deleted, the kernel traverses the jump_label section to
release resources applied by each jump entry. Common modules apply for these
resources before module initialization, but livepatch modules apply during
livepatch redirection.

Therefore, when a livepatch module fails to be inserted, the resources to be
applied by jump_label are not applied. As a result, a panic occurs when a
null pointer is accessed during resource release.

To solve the this problem, skip resource release if jump label is not
relocated.
Signed-off-by: NYe Weihua <yeweihua4@huawei.com>
Reviewed-by: NYang Jihong <yangjihong1@huawei.com>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 61263f61
......@@ -695,6 +695,9 @@ static void jump_label_del_module(struct module *mod)
struct static_key *key = NULL;
struct static_key_mod *jlm, **prev;
if (unlikely(!mod_klp_rel_completed(mod)))
return;
for (iter = iter_start; iter < iter_stop; iter++) {
if (jump_entry_key(iter) == key)
continue;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册