Re: [PATCH] bfa: remove VLA

From: Kees Cook
Date: Thu Mar 08 2018 - 16:43:16 EST


On Thu, Mar 8, 2018 at 1:38 PM, Stephen Kitt <steve@xxxxxxx> wrote:
> In preparation to enabling -Wvla, remove VLAs and replace them with
> fixed-length arrays instead.
>
> bfad_bsg.c uses a variable-length array declaration to measure the
> size of a putative array; this can be replaced by the product of the
> size of an element and the number of elements, avoiding the VLA
> altogether.
>
> This was prompted by https://lkml.org/lkml/2018/3/7/621
>
> Signed-off-by: Stephen Kitt <steve@xxxxxxx>

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

-Kees

> ---
> drivers/scsi/bfa/bfad_bsg.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/bfa/bfad_bsg.c b/drivers/scsi/bfa/bfad_bsg.c
> index 3976e787ba64..7c884f881180 100644
> --- a/drivers/scsi/bfa/bfad_bsg.c
> +++ b/drivers/scsi/bfa/bfad_bsg.c
> @@ -891,7 +891,7 @@ bfad_iocmd_fabric_get_lports(struct bfad_s *bfad, void *cmd,
>
> if (bfad_chk_iocmd_sz(payload_len,
> sizeof(struct bfa_bsg_fabric_get_lports_s),
> - sizeof(wwn_t[iocmd->nports])) != BFA_STATUS_OK) {
> + sizeof(wwn_t) * iocmd->nports) != BFA_STATUS_OK) {
> iocmd->status = BFA_STATUS_VERSION_FAIL;
> goto out;
> }
> --
> 2.11.0
>



--
Kees Cook
Pixel Security