Re: [PATCH] scsi: virtio_scsi: Use struct_size() helper

From: Stefan Hajnoczi
Date: Mon Jul 01 2019 - 11:22:09 EST


On Wed, Jun 19, 2019 at 02:28:33PM -0500, Gustavo A. R. Silva wrote:
> One of the more common cases of allocation size calculations is finding
> the size of a structure that has a zero-sized array at the end, along
> with memory for some number of elements for that array. For example:
>
> struct virtio_scsi {
> ...
> struct virtio_scsi_vq req_vqs[];
> };
>
> Make use of the struct_size() helper instead of an open-coded version
> in order to avoid any potential type mistakes.
>
> So, replace the following form:
>
> sizeof(*vscsi) + sizeof(vscsi->req_vqs[0]) * num_queues
>
> with:
>
> struct_size(vscsi, req_vqs, num_queues)
>
> This code was detected with the help of Coccinelle.
>
> Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>
> ---
> drivers/scsi/virtio_scsi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature