A STT_SECTION symbol is not needed if if it is not used as a relocation
target. Therefore, a section, in this case a debug section, may not have
a secsym associated with it.

This is a livepatch backport of kpatch upstream commit [1]:
create-diff-object: Check that the section has a secsym ba3defa

Signed-off-by: Sarah Newman <sarah.new...@computer.org>

[1] 
https://github.com/dynup/kpatch/commit/ba3defa06073dcc69917dbbbb9df570ca4e56612
---
 create-diff-object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/create-diff-object.c b/create-diff-object.c
index a516670..780e6c8 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1484,7 +1484,7 @@ static void kpatch_include_debug_sections(struct 
kpatch_elf *kelf)
        list_for_each_entry(sec, &kelf->sections, list) {
                if (is_debug_section(sec)) {
                        sec->include = 1;
-                       if (!is_rela_section(sec))
+                       if (!is_rela_section(sec) && sec->secsym)
                                sec->secsym->include = 1;
                }
        }
-- 
2.17.1


Reply via email to