Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes. Also, remove unnecessary
variable _datasize_.
This code was detected with the help of Coccinelle and, audited and
fixed manually.
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/s390/block/dasd_diag.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c
index facb588d09e4..7f53ba015300 100644
--- a/drivers/s390/block/dasd_diag.c
+++ b/drivers/s390/block/dasd_diag.c
@@ -506,7 +506,7 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev,
struct req_iterator iter;
struct bio_vec bv;
char *dst;
- unsigned int count, datasize;
+ unsigned int count;
sector_t recid, first_rec, last_rec;
unsigned int blksize, off;
unsigned char rw_cmd;
@@ -534,10 +534,8 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev,
if (count != last_rec - first_rec + 1)
return ERR_PTR(-EINVAL);
/* Build the request */
- datasize = sizeof(struct dasd_diag_req) +
- count*sizeof(struct dasd_diag_bio);
- cqr = dasd_smalloc_request(DASD_DIAG_MAGIC, 0, datasize, memdev,
- blk_mq_rq_to_pdu(req));
+ cqr = dasd_smalloc_request(DASD_DIAG_MAGIC, 0, struct_size(dreq, bio, count),
+ memdev, blk_mq_rq_to_pdu(req));
if (IS_ERR(cqr))
return cqr;
--
2.27.0
Am 19.06.20 um 18:56 schrieb Gustavo A. R. Silva:
> Make use of the struct_size() helper instead of an open-coded version
> in order to avoid any potential type mistakes. Also, remove unnecessary
> variable _datasize_.
>
> This code was detected with the help of Coccinelle and, audited and
> fixed manually.
>
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
Thanks for the patch.
Tested and applied.
> ---
> drivers/s390/block/dasd_diag.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c
> index facb588d09e4..7f53ba015300 100644
> --- a/drivers/s390/block/dasd_diag.c
> +++ b/drivers/s390/block/dasd_diag.c
> @@ -506,7 +506,7 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev,
> struct req_iterator iter;
> struct bio_vec bv;
> char *dst;
> - unsigned int count, datasize;
> + unsigned int count;
> sector_t recid, first_rec, last_rec;
> unsigned int blksize, off;
> unsigned char rw_cmd;
> @@ -534,10 +534,8 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev,
> if (count != last_rec - first_rec + 1)
> return ERR_PTR(-EINVAL);
> /* Build the request */
> - datasize = sizeof(struct dasd_diag_req) +
> - count*sizeof(struct dasd_diag_bio);
> - cqr = dasd_smalloc_request(DASD_DIAG_MAGIC, 0, datasize, memdev,
> - blk_mq_rq_to_pdu(req));
> + cqr = dasd_smalloc_request(DASD_DIAG_MAGIC, 0, struct_size(dreq, bio, count),
> + memdev, blk_mq_rq_to_pdu(req));
> if (IS_ERR(cqr))
> return cqr;
>
On Wed, Jul 08, 2020 at 11:13:08AM +0200, Stefan Haberland wrote:
> Am 19.06.20 um 18:56 schrieb Gustavo A. R. Silva:
> > Make use of the struct_size() helper instead of an open-coded version
> > in order to avoid any potential type mistakes. Also, remove unnecessary
> > variable _datasize_.
> >
> > This code was detected with the help of Coccinelle and, audited and
> > fixed manually.
> >
> > Signed-off-by: Gustavo A. R. Silva <[email protected]>
>
> Thanks for the patch.
> Tested and applied.
Thanks, Stefan.
--
Gustavo