Messages in this thread Patch in this message | | | Date | Tue, 17 Jan 2012 00:35:36 +0000 (GMT) | From | 최종환 <> | Subject | Re: Re: [PATCH] driver-core: Fix null reference in subsys_interface_unregister |
| |
Greg KH wrote:
>On Sat, Jan 14, 2012 at 11:06:03AM +0900, jhbird.choi@samsung.com wrote: >> From: Jonghwan Choi > > > >Check if the sif is not NULL before de-referencing it
>Why would it be? Have you hit this somehow? If so, in what code?
> thanks,
> greg k-h
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 99dc592..4ddb38b 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c @@ -1193,13 +1193,15 @@ EXPORT_SYMBOL_GPL(subsys_interface_register);
void subsys_interface_unregister(struct subsys_interface *sif) { - struct bus_type *subsys = sif->subsys; // -> Sif is already used, that means sif is not null + struct bus_type *subsys; struct subsys_dev_iter iter; struct device *dev;
- if (!sif) // -> Check whether sif is null + if (!sif || !sif->subsys) return;
+ subsys = sif->subsys; + mutex_lock(&subsys->p->mutex); list_del_init(&sif->node); if (sif->remove_dev) { --
sif is already used, but null pointer check for sif later. so i think that sif should be checked before use it.
Sorry about that, since my e-mail client has a problem, I couldn't send that to mailing list. I will send it to mailing list. Thanks. | |