2024-03-02 00:18:20 +08:00
|
|
|
From 2cf99367ed7cdf4f0b2a929f6bddd7ef8c8a6441 Mon Sep 17 00:00:00 2001
|
2021-11-16 12:10:06 +08:00
|
|
|
From: Zhipeng Xie <xiezhipeng1@huawei.com>
|
|
|
|
|
Date: Thu, 12 Mar 2020 05:10:55 -0400
|
2024-03-02 00:18:20 +08:00
|
|
|
Subject: [PATCH 20/38] use original reloc for symbols exported from modules
|
2021-11-16 12:10:06 +08:00
|
|
|
|
|
|
|
|
symbols exported in a patch will generate a symbol version with
|
|
|
|
|
object module name in Module.symvers, but the symbol is actually
|
|
|
|
|
in patch module which cause livepatch symbol lookup failed.
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
|
|
|
|
|
---
|
2024-03-02 00:18:20 +08:00
|
|
|
kpatch-build/create-diff-object.c | 9 +--------
|
|
|
|
|
1 file changed, 1 insertion(+), 8 deletions(-)
|
2021-11-16 12:10:06 +08:00
|
|
|
|
|
|
|
|
diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c
|
2024-03-02 00:18:20 +08:00
|
|
|
index 83836f6..2a3a5de 100644
|
2021-11-16 12:10:06 +08:00
|
|
|
--- a/kpatch-build/create-diff-object.c
|
|
|
|
|
+++ b/kpatch-build/create-diff-object.c
|
2024-03-02 00:18:20 +08:00
|
|
|
@@ -3533,14 +3533,7 @@ static bool need_klp_reloc(struct kpatch_elf *kelf, struct lookup_table *table,
|
2021-11-16 12:10:06 +08:00
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- /*
|
|
|
|
|
- * The symbol is exported by the to-be-patched module, or by
|
|
|
|
|
- * another module which the patched module depends on. Use a
|
2024-03-02 00:18:20 +08:00
|
|
|
- * klp relocation because of late module loading: the patch
|
|
|
|
|
- * module may be loaded before the to-be-patched (or other)
|
|
|
|
|
- * module.
|
2021-11-16 12:10:06 +08:00
|
|
|
- */
|
|
|
|
|
- return true;
|
|
|
|
|
+ return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (symbol.global) {
|
|
|
|
|
--
|
2023-01-30 16:10:43 +08:00
|
|
|
2.33.0
|
2021-11-16 12:10:06 +08:00
|
|
|
|