[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ac3eb2510910052029t1eedaa18i3e90ba73719330c0@mail.gmail.com>
Date: Tue, 6 Oct 2009 05:29:31 +0200
From: Kay Sievers <kay.sievers@...y.org>
To: Greg KH <greg@...ah.com>
Cc: Tejun Heo <tj@...nel.org>, Colin Guthrie <cguthrie@...driva.org>,
Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: get_device_parent() race bug
On Tue, Oct 6, 2009 at 05:05, Greg KH <greg@...ah.com> wrote:
> On Tue, Oct 06, 2009 at 10:15:12AM +0900, Tejun Heo wrote:
>> Greg KH wrote:
>> >>> BUG: unable to handle kernel NULL pointer dereference at 0000000000000038
>> >> Ping. This one needs to be fixed in -stable. It can be triggered by
>> >> other char devices too.
>> >
>> > Sorry, been slowly catching up...
>> >
>> > This can be triggered by char devices? Huh? How? I don't see the
>> > failure path that is happening here.
>>
>> Oooh, s/char/virtual/. The bug is in the path which creates a
>> directory under the phony parent.
>>
>> > And char devices shouldn't really be using the kobject at all, except
>> > for a very basic reference count.
>> >
>> > I keep threatening to rip kobject out of a char device and just use a
>> > kref, as that is all that is really needed. Well, that and the kmap
>> > stuff, but again, it's not a "real" kobject being used there...
>> >
>> > Perhaps now is the time to do this.
>>
>> Yay!
>
> Ugh, I tried to do this today but it looks like the gendisk structure
> got all tied up with the kobj_map logic. Which doesn't look all too
> correct to me but I'm not sure.
>
> Kay, you did the gendisk kobject conversion, right? Any reason you tied
> it into the kobj_map stuff? Or was that the way the code always was?
Yeah, it was like this, we just wrapped the struct device around the
kobject. We need the map here to be able to lookup a disk by
major/minor.
Kay
--
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