IB/core: Removed port validity check from ib_get_cached_subnet_prefix
authorAnand Khoje <anand.a.khoje@oracle.com>
Wed, 16 Jun 2021 15:45:07 +0000 (21:15 +0530)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 21 Jun 2021 23:49:32 +0000 (20:49 -0300)
Removed port validity check from ib_get_cached_subnet_prefix() as this
check is not needed because "port_num" is valid.

Link: https://lore.kernel.org/r/20210616154509.1047-2-anand.a.khoje@oracle.com
Suggested-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Anand Khoje <anand.a.khoje@oracle.com>
Signed-off-by: Haakon Bugge <haakon.bugge@oracle.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/cache.c
drivers/infiniband/core/core_priv.h
drivers/infiniband/core/device.c
drivers/infiniband/core/security.c

index f44a0d4..c9e9fc8 100644 (file)
@@ -1069,19 +1069,14 @@ int ib_get_cached_pkey(struct ib_device *device,
 }
 EXPORT_SYMBOL(ib_get_cached_pkey);
 
-int ib_get_cached_subnet_prefix(struct ib_device *device, u32 port_num,
+void ib_get_cached_subnet_prefix(struct ib_device *device, u32 port_num,
                                u64 *sn_pfx)
 {
        unsigned long flags;
 
-       if (!rdma_is_port_valid(device, port_num))
-               return -EINVAL;
-
        read_lock_irqsave(&device->cache_lock, flags);
        *sn_pfx = device->port_data[port_num].cache.subnet_prefix;
        read_unlock_irqrestore(&device->cache_lock, flags);
-
-       return 0;
 }
 EXPORT_SYMBOL(ib_get_cached_subnet_prefix);
 
index 78782cc..647cca4 100644 (file)
@@ -212,7 +212,7 @@ int ib_nl_handle_ip_res_resp(struct sk_buff *skb,
                             struct nlmsghdr *nlh,
                             struct netlink_ext_ack *extack);
 
-int ib_get_cached_subnet_prefix(struct ib_device *device,
+void ib_get_cached_subnet_prefix(struct ib_device *device,
                                u32 port_num,
                                u64 *sn_pfx);
 
index 53a7ec6..fa20b18 100644 (file)
@@ -887,15 +887,8 @@ static void ib_policy_change_task(struct work_struct *work)
 
                rdma_for_each_port (dev, i) {
                        u64 sp;
-                       int ret = ib_get_cached_subnet_prefix(dev,
-                                                             i,
-                                                             &sp);
-
-                       WARN_ONCE(ret,
-                                 "ib_get_cached_subnet_prefix err: %d, this should never happen here\n",
-                                 ret);
-                       if (!ret)
-                               ib_security_cache_change(dev, i, sp);
+                       ib_get_cached_subnet_prefix(dev, i, &sp);
+                       ib_security_cache_change(dev, i, sp);
                }
        }
        up_read(&devices_rwsem);
index b552885..3512c2e 100644 (file)
@@ -72,7 +72,7 @@ static int get_pkey_and_subnet_prefix(struct ib_port_pkey *pp,
        if (ret)
                return ret;
 
-       ret = ib_get_cached_subnet_prefix(dev, pp->port_num, subnet_prefix);
+       ib_get_cached_subnet_prefix(dev, pp->port_num, subnet_prefix);
 
        return ret;
 }
@@ -664,10 +664,7 @@ static int ib_security_pkey_access(struct ib_device *dev,
        if (ret)
                return ret;
 
-       ret = ib_get_cached_subnet_prefix(dev, port_num, &subnet_prefix);
-
-       if (ret)
-               return ret;
+       ib_get_cached_subnet_prefix(dev, port_num, &subnet_prefix);
 
        return security_ib_pkey_access(sec, subnet_prefix, pkey);
 }