[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <453B352A.5050700@s5r6.in-berlin.de>
Date: Sun, 22 Oct 2006 11:08:58 +0200
From: Stefan Richter <stefanr@...6.in-berlin.de>
To: Michael Buesch <mb@...sch.de>
CC: Greg KH <gregkh@...e.de>, linux-kernel@...r.kernel.org,
Dave Jones <davej@...hat.com>
Subject: Re: NULL pointer dereference in sysfs_readdir
Michael Buesch wrote:
> On Saturday 21 October 2006 23:09, Stefan Richter wrote:
...
>>>> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=188140
[hard lockups, also one oops: 'Unable to handle kernel NULL pointer
dereference at virtual address 00000020', 'EIP is at sysfs_readdir',
'Process hald']
...
>>> Maybe FC changed some of the structures. I couldn't find
>>> a used structure with an interresting member at offset 00000020, at least.
>> Could be struct sysfs_dirent.s_dentry if I'm counting correctly in
>> http://www.linux-m32r.org/lxr/http/source/include/linux/sysfs.h?v=2.6.16#L68
>> The trace was from 2.6.16.
>
> Yeah, I found that offset, too, but:
>
> There is only one usage of s_dentry
> if (next->s_dentry)
>
> But _before_ that there already comes
> if (!next->s_element)
>
> So, if "next" was NULL, it would already oops there.
What if "next" became NULL afterwards? I know it's unlikely (but so is
the whole bug, given that we have just one reporter despite the bug's
age), but is it impossible? IOW does sysfs_readdir have any indirect
mutex protection?
Dave, do you patch sysfs datatypes in FC's kernel, or types they include?
--
Stefan Richter
-=====-=-==- =-=- =-==-
http://arcgraph.de/sr/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists