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.ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±þG«�éÿŠ{ayºʇڙë,j­¢f£¢·hš�ï�êÿ‘êçz_è®(­éšŽŠÝ¢j"�ú¶m§ÿÿ¾«þG«�éÿ¢¸?™¨è­Ú&£ø§~�á¶iO•æ¬z·švØ^¶m§ÿÿà ÿ¶ìÿ¢¸?–I¥