* Re: [bug report] [S390] dasd: Add support for raw ECKD access.
[not found] <20160803124338.GA16986@mwanda>
@ 2016-08-04 7:34 ` Stefan Haberland
0 siblings, 0 replies; only message in thread
From: Stefan Haberland @ 2016-08-04 7:34 UTC (permalink / raw)
To: linux-s390
Hi,
thanks for the report.
Am 03.08.2016 um 14:43 schrieb Dan Carpenter:
> Hello Stefan Haberland,
>
> The patch e4dbb0f2b5dd: "[S390] dasd: Add support for raw ECKD
> access." from Jan 5, 2011, leads to the following static checker
> warning:
>
> drivers/s390/block/dasd_eckd.c:3970 dasd_raw_build_cp()
> warn: 'cqr' isn't an ERR_PTR
>
> drivers/s390/block/dasd_eckd.c
> 3961 cqr->startdev = startdev;
> 3962 cqr->memdev = startdev;
> 3963 cqr->block = block;
> 3964 cqr->expires = startdev->default_expires * HZ;
> 3965 cqr->lpm = startdev->path_data.ppm;
> 3966 cqr->retries = startdev->default_retries;
> 3967 cqr->buildclk = get_tod_clock();
> 3968 cqr->status = DASD_CQR_FILLED;
> ^^^^^^^^^^^
> We're dereferencing cqr pretty hard here.
cqr is checked previously so it is valid at this point.
>
> 3969
> 3970 if (IS_ERR(cqr) && PTR_ERR(cqr) != -EAGAIN)
> ^^^^^^^^^^^
> so it had better not be an error pointer. Perhaps move this after the
> out label?
This line does not make any sense.
It will never be reached since cqr is checked previously and returning
an error in cqr is correct. I will remove it.
>
> 3971 cqr = NULL;
> 3972 out:
> 3973 return cqr;
> 3974 }
>
> regards,
> dan carpenter
> --
> To unsubscribe from this list: send the line "unsubscribe linux-s390" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2016-08-04 7:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20160803124338.GA16986@mwanda>
2016-08-04 7:34 ` [bug report] [S390] dasd: Add support for raw ECKD access Stefan Haberland
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).