On Sunday, 20 of April 2008, Linus Torvalds wrote: > > On Sun, 20 Apr 2008, Rafael J. Wysocki wrote: > > > > I've just got the following traces from 2.6.25-git2 on HP nx6325 (64-bit). > > I think they are related to the hang I described yesterday: > > > > [12844.066757] BUG: unable to handle kernel paging request at ffffffffffffffff > > Something has added a dentry pointer that has the value -1 to the dentry > hash list. The access that oopses seems to be the > > prefetch(pos->next) > > which is part of hlist_for_each_entry_rcu(), where "pos" is -1. > > I suspect it's an RCU error, ie somebody has released a dentry entry, and > free'd it without waiting for the RCU grace period. > > Talking about RCU I also think that whoever did those "rcu_dereference()" > macros in <linux/list.h> was insane. It's totally pointless to do > "rcu_dereference()" on a local variable. It simply *cannot* make sense. > Herbert, Paul, you guys should look at it. > > As far as I can tell, rcu_dereference() should _always_ be done when we > access the "next" pointer (except for when prefetching, where we simply > don't care). > > Paul? Herbert? Totally untested patch appended. > > NOTE! I do not expect this patch to matter for this oops. There's > something else going on there. Well, it seems that the oops is actually known from -mm: http://lkml.org/lkml/2008/4/21/55 and something similar was observed with 2.6.25-rc8-mm2. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html