Messages in this thread | | | Date | Mon, 5 Oct 2009 20:05:13 -0700 | From | Greg KH <> | Subject | Re: get_device_parent() race bug |
| |
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?
thanks,
greg k-h
| |