[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <698955ce-e177-bbab-143c-9d6c112e05b8@gmail.com>
Date: Thu, 29 Sep 2016 10:44:40 +0300
From: Tariq Toukan <ttoukan.linux@...il.com>
To: David Decotigny <ddecotig@...il.com>,
Yishai Hadas <yishaih@...lanox.com>, netdev@...r.kernel.org,
linux-rdma@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: edumazet@...gle.com, David Decotigny <decot@...glers.com>
Subject: Re: [PATCH v1] mlx4: remove unused fields
On 28/09/2016 9:00 PM, David Decotigny wrote:
> From: David Decotigny <decot@...glers.com>
>
> This also can address following UBSAN warnings:
> [ 36.640343] ================================================================================
> [ 36.648772] UBSAN: Undefined behaviour in drivers/net/ethernet/mellanox/mlx4/fw.c:857:26
> [ 36.656853] shift exponent 64 is too large for 32-bit type 'int'
> [ 36.663348] ================================================================================
> [ 36.671783] ================================================================================
> [ 36.680213] UBSAN: Undefined behaviour in drivers/net/ethernet/mellanox/mlx4/fw.c:861:27
> [ 36.688297] shift exponent 35 is too large for 32-bit type 'int'
> [ 36.694702] ================================================================================
>
> Tested:
> reboot with UBSAN, no warning.
>
> Signed-off-by: David Decotigny <decot@...glers.com>
> ---
> drivers/net/ethernet/mellanox/mlx4/fw.c | 4 ----
> drivers/net/ethernet/mellanox/mlx4/fw.h | 2 --
> 2 files changed, 6 deletions(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx4/fw.c b/drivers/net/ethernet/mellanox/mlx4/fw.c
> index 090bf81..f9cbc67 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/fw.c
> +++ b/drivers/net/ethernet/mellanox/mlx4/fw.c
> @@ -853,12 +853,8 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap)
> dev_cap->max_eqs = 1 << (field & 0xf);
> MLX4_GET(field, outbox, QUERY_DEV_CAP_RSVD_MTT_OFFSET);
> dev_cap->reserved_mtts = 1 << (field >> 4);
> - MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_MRW_SZ_OFFSET);
> - dev_cap->max_mrw_sz = 1 << field;
> MLX4_GET(field, outbox, QUERY_DEV_CAP_RSVD_MRW_OFFSET);
> dev_cap->reserved_mrws = 1 << (field & 0xf);
> - MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_MTT_SEG_OFFSET);
> - dev_cap->max_mtt_seg = 1 << (field & 0x3f);
> MLX4_GET(size, outbox, QUERY_DEV_CAP_NUM_SYS_EQ_OFFSET);
> dev_cap->num_sys_eqs = size & 0xfff;
> MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_REQ_QP_OFFSET);
> diff --git a/drivers/net/ethernet/mellanox/mlx4/fw.h b/drivers/net/ethernet/mellanox/mlx4/fw.h
> index f11614f..5343a05 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/fw.h
> +++ b/drivers/net/ethernet/mellanox/mlx4/fw.h
> @@ -80,9 +80,7 @@ struct mlx4_dev_cap {
> int max_eqs;
> int num_sys_eqs;
> int reserved_mtts;
> - int max_mrw_sz;
> int reserved_mrws;
> - int max_mtt_seg;
> int max_requester_per_qp;
> int max_responder_per_qp;
> int max_rdma_global;
Reviewed-by: Tariq Toukan <tariqt@...lanox.com>
Thanks.
Powered by blists - more mailing lists