Re: 2.6.25-git2: BUG: unable to handle kernel paging request at ffffffffffffffff

From: Rafael J. Wysocki
Date: Mon Apr 21 2008 - 12:12:15 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/