Commit c5f8f2c5 authored by Anand Khoje's avatar Anand Khoje Committed by Jason Gunthorpe
Browse files

IB/core: Removed port validity check from ib_get_cached_subnet_prefix

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: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarAnand Khoje <anand.a.khoje@oracle.com>
Signed-off-by: default avatarHaakon Bugge <haakon.bugge@oracle.com>
Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent bf194997
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -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);

+1 −1
Original line number Diff line number Diff line
@@ -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);

+2 −9
Original line number Diff line number Diff line
@@ -887,14 +887,7 @@ 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_get_cached_subnet_prefix(dev, i, &sp);
			ib_security_cache_change(dev, i, sp);
		}
	}
+2 −5
Original line number Diff line number Diff line
@@ -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);
}