* [PATCH 7/11] drivers/scsi: Eliminate a NULL pointer dereference
@ 2010-05-27 12:33 Julia Lawall
2010-05-27 16:53 ` Dan Carpenter
0 siblings, 1 reply; 4+ messages in thread
From: Julia Lawall @ 2010-05-27 12:33 UTC (permalink / raw)
To: HighPoint Linux Team, James E.J. Bottomley, linux-scsi,
linux-kernel, kernel-janitors
From: Julia Lawall <julia@diku.dk>
The end of the function is reachable both when host is and is not NULL.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@r exists@
expression E,E1;
identifier f;
statement S1,S2,S3;
@@
if ((E == NULL && ...) || ...)
{
... when != if (...) S1 else S2
when != E = E1
* E->f
... when any
return ...;
}
else S3
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
If it is a problem to use 0 when host is NULL, then the code could be fixed
in another way.
drivers/scsi/hptiop.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
index 645f7cd..0729f15 100644
--- a/drivers/scsi/hptiop.c
+++ b/drivers/scsi/hptiop.c
@@ -1157,7 +1157,7 @@ free_pci_regions:
disable_pci_device:
pci_disable_device(pcidev);
- dprintk("scsi%d: hptiop_probe fail\n", host->host_no);
+ dprintk("scsi%d: hptiop_probe fail\n", host ? host->host_no : 0);
return -ENODEV;
}
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH 7/11] drivers/scsi: Eliminate a NULL pointer dereference
2010-05-27 12:33 [PATCH 7/11] drivers/scsi: Eliminate a NULL pointer dereference Julia Lawall
@ 2010-05-27 16:53 ` Dan Carpenter
2010-05-27 17:08 ` walter harms
0 siblings, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2010-05-27 16:53 UTC (permalink / raw)
To: Julia Lawall
Cc: HighPoint Linux Team, James E.J. Bottomley, linux-scsi,
linux-kernel, kernel-janitors
On Thu, May 27, 2010 at 02:33:47PM +0200, Julia Lawall wrote:
> If it is a problem to use 0 when host is NULL, then the code could be fixed
> in another way.
>
Yeah. It seems like it would be better to give a clearly bogus number.
I would have said -1 but "scsi-1" looks normal so maybe something like
9999999?
regards,
dan carpenter
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 7/11] drivers/scsi: Eliminate a NULL pointer dereference
2010-05-27 16:53 ` Dan Carpenter
@ 2010-05-27 17:08 ` walter harms
2010-05-27 17:13 ` Julia Lawall
0 siblings, 1 reply; 4+ messages in thread
From: walter harms @ 2010-05-27 17:08 UTC (permalink / raw)
To: Dan Carpenter, Julia Lawall, HighPoint Linux Team,
James E.J. Bottomley, linux-scsi
Dan Carpenter schrieb:
> On Thu, May 27, 2010 at 02:33:47PM +0200, Julia Lawall wrote:
>> If it is a problem to use 0 when host is NULL, then the code could be fixed
>> in another way.
>>
>
> Yeah. It seems like it would be better to give a clearly bogus number.
> I would have said -1 but "scsi-1" looks normal so maybe something like
> 9999999?
>
lets spend some bytes:
if (host)
dprintk("scsi%d: hptiop_probe failed\n",host->host_no);
else
dprintk("scsi: no host, hptiop_probe failed\n");
re,
wh
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH 7/11] drivers/scsi: Eliminate a NULL pointer dereference
2010-05-27 17:08 ` walter harms
@ 2010-05-27 17:13 ` Julia Lawall
0 siblings, 0 replies; 4+ messages in thread
From: Julia Lawall @ 2010-05-27 17:13 UTC (permalink / raw)
To: walter harms
Cc: Dan Carpenter, HighPoint Linux Team, James E.J. Bottomley,
linux-scsi, linux-kernel, kernel-janitors
On Thu, 27 May 2010, walter harms wrote:
>
>
> Dan Carpenter schrieb:
> > On Thu, May 27, 2010 at 02:33:47PM +0200, Julia Lawall wrote:
> >> If it is a problem to use 0 when host is NULL, then the code could be fixed
> >> in another way.
> >>
> >
> > Yeah. It seems like it would be better to give a clearly bogus number.
> > I would have said -1 but "scsi-1" looks normal so maybe something like
> > 9999999?
> >
>
> lets spend some bytes:
>
>
> if (host)
> dprintk("scsi%d: hptiop_probe failed\n",host->host_no);
> else
> dprintk("scsi: no host, hptiop_probe failed\n");
dprintk is defined in hptiop.h as:
#if 0
#define dprintk(fmt, args...) do { printk(fmt, ##args); } while(0)
#else
#define dprintk(fmt, args...)
#endif
So unless someone adjusts the #if 0, there is no code. I guess there is a
danger that adding such an if would actually generate some code?
julia
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-05-27 17:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-27 12:33 [PATCH 7/11] drivers/scsi: Eliminate a NULL pointer dereference Julia Lawall
2010-05-27 16:53 ` Dan Carpenter
2010-05-27 17:08 ` walter harms
2010-05-27 17:13 ` Julia Lawall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox