Re: [PATCH] [PATCH for-rc] :Null pointer check is missing in addr_resolve

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

 



Hi Selvin,

Can you please help your colleague to make the patch right?

Thanks

On Mon, Feb 26, 2018 at 01:06:02AM -0800, Muneendra wrote:
> Null pointer check is missing in addr_resolve as
> dev_get_by_index may return a NULL pointer.
> And this patch will check whether ndev is NULL
> and further access the same.
>
> The following tests are made.
>
>  server                       client
>  ---------                    ---------
>  |1.1.1.1|<----rxe-channel--->|1.1.1.2|
>  ---------                    ---------
>
> On server: rdma_lat -c -n 2 -s 1024
> On client:rdma_lat 1.1.1.1 -c -n 2 -s 1024
>
> Fixes: 200298326b27 ("IB/core: Validate route when we init ah")
> On a side note, I am sending similar fix in ib_init_ah_attr_from_path()
> which surfaces from same patch.
>
> Signed-off-by: Muneendra <muneendra.kumar@xxxxxxxxxxxx>
> ---
>  drivers/infiniband/core/addr.c | 16 +++++-----------
>  1 file changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
> index a5b4cf0..e82344a 100644
> --- a/drivers/infiniband/core/addr.c
> +++ b/drivers/infiniband/core/addr.c
> @@ -550,19 +550,13 @@ static int addr_resolve(struct sockaddr *src_in,
>  		dst_release(dst);
>  	}
>
> -	if (ndev->flags & IFF_LOOPBACK) {
> -		ret = rdma_translate_ip(dst_in, addr);
> -		/*
> -		 * Put the loopback device and get the translated
> -		 * device instead.
> -		 */
> +	if (ndev) {
> +		if (ndev->flags & IFF_LOOPBACK)
> +			ret = rdma_translate_ip(dst_in, addr);
> +		else
> +			addr->bound_dev_if = ndev->ifindex;
>  		dev_put(ndev);
> -		ndev = dev_get_by_index(addr->net, addr->bound_dev_if);
> -	} else {
> -		addr->bound_dev_if = ndev->ifindex;
>  	}
> -	dev_put(ndev);
> -
>  	return ret;
>  }
>
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux