diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-04-25 11:52:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-04-25 11:52:02 -0700 |
commit | 9b3e59e3deccef70afece5e6484a324cbc126bcd (patch) | |
tree | ca7aa841edfe6dd141618b7afe94af8b466b379f /tools | |
parent | ab51cac00ef2859f20a73d33a53f3a8987b65e11 (diff) | |
parent | 7f9b34f36cf6b2099f19e679a9e8315c955ef2ee (diff) | |
download | lwn-9b3e59e3deccef70afece5e6484a324cbc126bcd.tar.gz lwn-9b3e59e3deccef70afece5e6484a324cbc126bcd.zip |
Merge tag 'objtool-urgent-2020-04-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull objtool fixes from Ingo Molnar:
"Two fixes: fix an off-by-one bug, and fix 32-bit builds on 64-bit
systems"
* tag 'objtool-urgent-2020-04-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
objtool: Fix off-by-one in symbol_by_offset()
objtool: Fix 32bit cross builds
Diffstat (limited to 'tools')
-rw-r--r-- | tools/objtool/elf.c | 2 | ||||
-rw-r--r-- | 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); |