https://github.com/torvalds/linux
Revision d5ed3a4af77b851b6271ad3d9abc4c57fa3ce0f5 authored by Jan Kara on 19 August 2010, 21:13:33 UTC, committed by Linus Torvalds on 20 August 2010, 16:34:55 UTC
When radix_tree_maxindex() is ~0UL, it can happen that scanning overflows
index and tree traversal code goes astray reading memory until it hits
unreadable memory.  Check for overflow and exit in that case.

Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent f2e41e9
History
Tip revision: d5ed3a4af77b851b6271ad3d9abc4c57fa3ce0f5 authored by Jan Kara on 19 August 2010, 21:13:33 UTC
lib/radix-tree.c: fix overflow in radix_tree_range_tag_if_tagged()
Tip revision: d5ed3a4
File Mode Size
Kconfig -rw-r--r-- 1.2 KB
Makefile -rw-r--r-- 248 bytes
alloc.c -rw-r--r-- 21.2 KB
alloc.h -rw-r--r-- 3.5 KB
bmap.c -rw-r--r-- 13.9 KB
bmap.h -rw-r--r-- 7.9 KB
btnode.c -rw-r--r-- 8.5 KB
btnode.h -rw-r--r-- 2.0 KB
btree.c -rw-r--r-- 59.6 KB
btree.h -rw-r--r-- 2.7 KB
cpfile.c -rw-r--r-- 25.1 KB
cpfile.h -rw-r--r-- 1.7 KB
dat.c -rw-r--r-- 12.3 KB
dat.h -rw-r--r-- 2.4 KB
dir.c -rw-r--r-- 17.6 KB
direct.c -rw-r--r-- 8.9 KB
direct.h -rw-r--r-- 1.5 KB
file.c -rw-r--r-- 4.1 KB
gcdat.c -rw-r--r-- 2.8 KB
gcinode.c -rw-r--r-- 8.1 KB
ifile.c -rw-r--r-- 4.9 KB
ifile.h -rw-r--r-- 1.7 KB
inode.c -rw-r--r-- 22.6 KB
ioctl.c -rw-r--r-- 17.0 KB
mdt.c -rw-r--r-- 14.4 KB
mdt.h -rw-r--r-- 3.6 KB
namei.c -rw-r--r-- 10.8 KB
nilfs.h -rw-r--r-- 10.7 KB
page.c -rw-r--r-- 13.9 KB
page.h -rw-r--r-- 2.5 KB
recovery.c -rw-r--r-- 24.5 KB
sb.h -rw-r--r-- 2.9 KB
segbuf.c -rw-r--r-- 14.0 KB
segbuf.h -rw-r--r-- 6.2 KB
segment.c -rw-r--r-- 74.9 KB
segment.h -rw-r--r-- 8.1 KB
sufile.c -rw-r--r-- 18.5 KB
sufile.h -rw-r--r-- 4.7 KB
super.c -rw-r--r-- 32.8 KB
the_nilfs.c -rw-r--r-- 23.9 KB
the_nilfs.h -rw-r--r-- 10.4 KB

back to top