Jayson Santos has sighted mm/prio_tree.c:78,79 BUGs (kernel bugzilla 8446),
commit7f31259e23a4eb1b95c2f13e816c286a832264dc
authorHugh Dickins <hugh@veritas.com>
Tue, 15 May 2007 20:46:47 +0000 (15 22:46 +0200)
committerjames toy <toyj@union.edu>
Tue, 15 May 2007 20:46:47 +0000 (15 22:46 +0200)
treed622d8d4c9bf2d39a376823b14f3116bd80accf3
parent6d58de2533ddace90b47f95a95b24dd3c22ce01c
Jayson Santos has sighted mm/prio_tree.c:78,79 BUGs (kernel bugzilla 8446),
and one was sighted a couple of years ago.  No reason yet to suppose
they're prio_tree bugs, but we can't tell much about them without seeing
the vmas.

So dump vma and the one it's supposed to resemble: I had expected to use
print_hex_dump(), but that's designed for u8 dumps, whereas almost every
field of vm_area_struct is either a pointer or an unsigned long - which
look nonsense dumped as u8s.

Replace the two BUG_ONs by a single WARN_ON; and if it fires, just keep
this vma out of the tree (truncation and swapout won't be able to find it).
 How safe this is depends on what the error really is; but we hold a file's
i_mmap_lock here, so it may be impossible to recover from BUG_ON.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: Jayson Santos <jaysonsantos2003@yahoo.com.br>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/prio_tree.c