Skip to contentSkip to conversation

dasd: Add support for raw ECKD access.

bug report Stefan Haberland 1 participant 1 message Aug 4, 2016 1 message not in the archive s390

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20160803124338.GA16986@mwanda

#1 lore raw

Hi,

thanks for the report.

Am 03.08.2016 um 14:43 schrieb Dan Carpenter:

Quoted 19 lines

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;
                 ^^^^^^^^^^^
Quoted 1 line

We're dereferencing cqr pretty hard here.

cqr is checked previously so it is valid at this point.

Quoted 6 lines
   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.

Quoted 13 lines
   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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html