drivers/message/fusion/mptscsih.c: inconsequent NULL checking

From: Adrian Bunk
Date: Mon Mar 19 2007 - 05:23:32 EST


The Coverity checker spotted the following inconsequent NULL checking in
drivers/message/fusion/mptscsih.c:

<-- snip -->

...
int
mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *))
{
...
if (vdev
&& (vdev->vtarget->tflags & MPT_TARGET_FLAGS_Q_YES)
&& (SCpnt->device->tagged_supported)) {
scsictl = scsidir | MPI_SCSIIO_CONTROL_SIMPLEQ;
} else {
scsictl = scsidir | MPI_SCSIIO_CONTROL_UNTAGGED;
}

/* Use the above information to set up the message frame
*/
pScsiReq->TargetID = (u8) vdev->vtarget->id;
...

<-- snip -->

vdev is first checked but later dereferenced unconditionally.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/