Messages in this thread Patch in this message | | | Date | Tue, 17 Jan 2006 15:24:09 +1100 | From | Nick Piggin <> | Subject | Re: Oops with current linus' git tree |
| |
Nick Piggin wrote: > Diego Calleja wrote: > >> I'm having two noticeable problems with the current linus' tree >> >> 1) Oops while watching a DVD with kaffeine (kde based video player), >> oops pasted below. >> > > From your oops it looks as though the radix_tree_lookup in find_get_page > has returned 0x40. It could be a flipped bit - is your memory OK? > > Can you apply the attached patch and try to reproduce the oops? >
Really attached now.
-- SUSE Labs, Novell Inc.
Index: linux-2.6/lib/radix-tree.c =================================================================== --- linux-2.6.orig/lib/radix-tree.c 2006-01-03 19:05:57.000000000 +1100 +++ linux-2.6/lib/radix-tree.c 2006-01-17 15:17:36.000000000 +1100 @@ -233,6 +233,8 @@ int radix_tree_insert(struct radix_tree_ int offset; int error; + BUG_ON((unsigned long)item < PAGE_OFFSET); + /* Make sure the tree is high enough. */ if ((!index && !root->rnode) || index > radix_tree_maxindex(root->height)) { @@ -334,6 +336,8 @@ void *radix_tree_lookup(struct radix_tre void **slot; slot = __lookup_slot(root, index); + if (slot && *slot) + BUG_ON((unsigned long)(*slot) < PAGE_OFFSET); return slot != NULL ? *slot : NULL; } EXPORT_SYMBOL(radix_tree_lookup); | |