12345678910111213141516171819202122232425262728293031 |
- 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;
|