Messages in this thread Patch in this message | | | Date | Sat, 25 Apr 2020 11:04:40 +0200 | From | Ingo Molnar <> | Subject | [GIT PULL] objtool fixes |
| |
Linus,
Please pull the latest objtool/urgent git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git objtool-urgent-2020-04-25
# HEAD: 7f9b34f36cf6b2099f19e679a9e8315c955ef2ee objtool: Fix off-by-one in symbol_by_offset()
Two fixes: fix an off-by-one bug, and fix 32-bit builds on 64-bit systems.
Thanks,
Ingo
------------------> Julien Thierry (1): objtool: Fix off-by-one in symbol_by_offset()
Peter Zijlstra (1): objtool: Fix 32bit cross builds
tools/objtool/elf.c | 2 +- tools/objtool/elf.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c index 09ddc8f1def3..c4857fa3f1d1 100644 --- a/tools/objtool/elf.c +++ b/tools/objtool/elf.c @@ -105,7 +105,7 @@ static int symbol_by_offset(const void *key, const struct rb_node *node) if (*o < s->offset) return -1; - if (*o > s->offset + s->len) + if (*o >= s->offset + s->len) return 1; return 0; diff --git a/tools/objtool/elf.h b/tools/objtool/elf.h index ebbb10c61e24..0b79c2353a21 100644 --- a/tools/objtool/elf.h +++ b/tools/objtool/elf.h @@ -99,7 +99,7 @@ static inline u32 sec_offset_hash(struct section *sec, unsigned long offset) offset &= OFFSET_STRIDE_MASK; ol = offset; - oh = offset >> 32; + oh = (offset >> 16) >> 16; __jhash_mix(ol, oh, idx);
| |