From: Parav Pandit Date: Fri, 21 Sep 2018 14:18:24 +0000 (-0500) Subject: RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu X-Git-Tag: microblaze-v5.0-rc1~120^2~50 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=fe33507ec38a8b2e8b782b83669943b7a5fefd4c;p=linux-2.6-microblaze.git RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu rdma_find_ndev_for_src_ip_rcu() returns either valid netdev pointer or ERR_PTR(). Instead of checking for NULL, check for error. Fixes: caf1e3ae9fa6 ("RDMA/core Introduce and use rdma_find_ndev_for_src_ip_rcu") Reported-by: syzbot+20c32fa6ff84a2d28c36@syzkaller.appspotmail.com Signed-off-by: Parav Pandit Signed-off-by: Jason Gunthorpe --- diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index 1400a9d0d56d..07e0ffe74a8a 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c @@ -513,7 +513,7 @@ static int rdma_set_src_addr_rcu(struct rdma_dev_addr *dev_addr, * loopback IP address. */ ndev = rdma_find_ndev_for_src_ip_rcu(dev_net(ndev), dst_in); - if (!ndev) + if (IS_ERR(ndev)) return -ENODEV; }