|
@@ -1,31 +0,0 @@
|
|
|
-From 3942ee1f7bc754dd0dd9ae79f89d0f2635be334f Mon Sep 17 00:00:00 2001
|
|
|
-From: David Lamparter <equinox@opensourcerouting.org>
|
|
|
-Date: Wed, 10 Nov 2021 15:30:07 +0100
|
|
|
-Subject: [PATCH] lib: fix elf_py TLS section handling
|
|
|
-
|
|
|
-... need to ignore TLS sections, their address is effectively
|
|
|
-meaningless but can overlap other sections we actually need to access.
|
|
|
-
|
|
|
-Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|
|
-
|
|
|
-[Retrieved from:
|
|
|
-https://github.com/FRRouting/frr/commit/3942ee1f7bc754dd0dd9ae79f89d0f2635be334f]
|
|
|
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
|
----
|
|
|
- lib/elf_py.c | 3 +++
|
|
|
- 1 file changed, 3 insertions(+)
|
|
|
-
|
|
|
-diff --git a/lib/elf_py.c b/lib/elf_py.c
|
|
|
-index 1c306893ad8..f230add6957 100644
|
|
|
---- a/lib/elf_py.c
|
|
|
-+++ b/lib/elf_py.c
|
|
|
-@@ -636,6 +636,9 @@ static Elf_Scn *elf_find_addr(struct elffile *ef, uint64_t addr, size_t *idx)
|
|
|
- Elf_Scn *scn = elf_getscn(ef->elf, i);
|
|
|
- GElf_Shdr _shdr, *shdr = gelf_getshdr(scn, &_shdr);
|
|
|
-
|
|
|
-+ /* virtual address is kinda meaningless for TLS sections */
|
|
|
-+ if (shdr->sh_flags & SHF_TLS)
|
|
|
-+ continue;
|
|
|
- if (addr < shdr->sh_addr ||
|
|
|
- addr >= shdr->sh_addr + shdr->sh_size)
|
|
|
- continue;
|