From: Parav Pandit <parav@mellanox.com>
Date: Fri, 21 Sep 2018 09:18:24 -0500
Subject: RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu
Patch-mainline: v4.20-rc1
Git-commit: fe33507ec38a8b2e8b782b83669943b7a5fefd4c
References: bsc#1103992 FATE#326009
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 <parav@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/infiniband/core/addr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/infiniband/core/addr.c
+++ b/drivers/infiniband/core/addr.c
@@ -513,7 +513,7 @@ static int rdma_set_src_addr_rcu(struct
* loopback IP address.
*/
ndev = rdma_find_ndev_for_src_ip_rcu(dev_net(ndev), dst_in);
- if (!ndev)
+ if (IS_ERR(ndev))
return -ENODEV;
}