Re: [PATCH v2 7/8] qla2xxx: klocwork - correct the index of array

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Jun 7, 2023, at 4:38 AM, Nilesh Javali <njavali@xxxxxxxxxxx> wrote:
> 
> From: Bikash Hazarika <bhazarika@xxxxxxxxxxx>
> 
> Klocwork reported array 'port_dstate_str' of size
> 10 may use index value(s) 10..15.
> 
> Add a fix to correct the index of array.
> 
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Bikash Hazarika <bhazarika@xxxxxxxxxxx>
> Signed-off-by: Nilesh Javali <njavali@xxxxxxxxxxx>
> ---
> v2:
> - Remove the outer parenthesis.
> 
> drivers/scsi/qla2xxx/qla_inline.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_inline.h b/drivers/scsi/qla2xxx/qla_inline.h
> index cce6e425c121..946a39504a35 100644
> --- a/drivers/scsi/qla2xxx/qla_inline.h
> +++ b/drivers/scsi/qla2xxx/qla_inline.h
> @@ -109,11 +109,13 @@ qla2x00_set_fcport_disc_state(fc_port_t *fcport, int state)
> {
> int old_val;
> uint8_t shiftbits, mask;
> + uint8_t port_dstate_str_sz;
> 
> /* This will have to change when the max no. of states > 16 */
> shiftbits = 4;
> mask = (1 << shiftbits) - 1;
> 
> + port_dstate_str_sz = sizeof(port_dstate_str) / sizeof(char *);
> fcport->disc_state = state;
> while (1) {
> old_val = atomic_read(&fcport->shadow_disc_state);
> @@ -121,7 +123,8 @@ qla2x00_set_fcport_disc_state(fc_port_t *fcport, int state)
>    old_val, (old_val << shiftbits) | state)) {
> ql_dbg(ql_dbg_disc, fcport->vha, 0x2134,
>    "FCPort %8phC disc_state transition: %s to %s - portid=%06x.\n",
> -    fcport->port_name, port_dstate_str[old_val & mask],
> +    fcport->port_name, (old_val & mask) < port_dstate_str_sz ?
> +    port_dstate_str[old_val & mask] : "Unknown",
>    port_dstate_str[state], fcport->d_id.b24);
> return;
> }
> -- 
> 2.23.1
> 

Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>

-- 
Himanshu Madhani Oracle Linux Engineering





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux