summaryrefslogtreecommitdiffstats
path: root/kernel/kallsyms.c
diff options
context:
space:
mode:
authorVegard Nossum <vegard.nossum@gmail.com>2008-07-25 10:45:34 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-25 19:53:27 +0200
commit2fc9c4e18f94431e7eb77d97edb2a995b46fba55 (patch)
tree4d5f003ab52c9e50774c856a5cc2e53699b0b21e /kernel/kallsyms.c
parentintroduce HAVE_EFFICIENT_UNALIGNED_ACCESS Kconfig symbol (diff)
downloadlinux-2fc9c4e18f94431e7eb77d97edb2a995b46fba55.tar.xz
linux-2fc9c4e18f94431e7eb77d97edb2a995b46fba55.zip
kallsyms: fix potential overflow in binary search
This will probably never trigger... but it won't hurt to be careful. http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com> Cc: Joshua Bloch <jjb@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/kallsyms.c')
-rw-r--r--kernel/kallsyms.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
index 6fc0040f3e3a..38fc10ac7541 100644
--- a/kernel/kallsyms.c
+++ b/kernel/kallsyms.c
@@ -176,7 +176,7 @@ static unsigned long get_symbol_pos(unsigned long addr,
high = kallsyms_num_syms;
while (high - low > 1) {
- mid = (low + high) / 2;
+ mid = low + (high - low) / 2;
if (kallsyms_addresses[mid] <= addr)
low = mid;
else