[PATCH] vdpa/mlx5: Fix uninitialised variable in core/mr.c

Jason Wang
Fri, 07 Aug 2020 03:54:14 -0000

On 2020/8/7 ??2:56, Alex Dewar wrote:
> If the kernel is unable to allocate memory for the variable dmr then
> err will be returned without being set. Set err to -ENOMEM in this
> case.
>
> Fixes: 94abbccdf291 ("vdpa/mlx5: Add shared memory registration
code")
> Addresses-Coverity: ("Uninitialized variables")
> Signed-off-by: Alex Dewar <alex.dewar at gmx.co.uk>


Acked-by: Jason Wang <jasowang at redhat.com>


> ---
>   drivers/vdpa/mlx5/core/mr.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/vdpa/mlx5/core/mr.c b/drivers/vdpa/mlx5/core/mr.c
> index f5dec0274133..ef1c550f8266 100644
> --- a/drivers/vdpa/mlx5/core/mr.c
> +++ b/drivers/vdpa/mlx5/core/mr.c
> @@ -319,8 +319,10 @@ static int add_direct_chain(struct mlx5_vdpa_dev
*mvdev, u64 start, u64 size, u8
>   	while (size) {
>   		sz = (u32)min_t(u64, MAX_KLM_SIZE, size);
>   		dmr = kzalloc(sizeof(*dmr), GFP_KERNEL);
> -		if (!dmr)
> +		if (!dmr) {
> +			err = -ENOMEM;
>   			goto err_alloc;
> +		}
>
>   		dmr->start = st;
>   		dmr->end = st + sz;
> --
> 2.28.0
>