Commit 41a0be3f authored by Karsten Graul's avatar Karsten Graul Committed by Jakub Kicinski

net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid()

Sparse complaints 3 times about:
net/smc/smc_ib.c:203:52: warning: incorrect type in argument 1 (different address spaces)
net/smc/smc_ib.c:203:52:    expected struct net_device const *dev
net/smc/smc_ib.c:203:52:    got struct net_device [noderef] __rcu *const ndev

Fix that by using the existing and validated ndev variable instead of
accessing attr->ndev directly.

Fixes: 5102eca9 ("net/smc: Use rdma_read_gid_l2_fields to L2 fields")
Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 0530bd6e
...@@ -198,9 +198,9 @@ int smc_ib_determine_gid(struct smc_ib_device *smcibdev, u8 ibport, ...@@ -198,9 +198,9 @@ int smc_ib_determine_gid(struct smc_ib_device *smcibdev, u8 ibport,
rcu_read_lock(); rcu_read_lock();
ndev = rdma_read_gid_attr_ndev_rcu(attr); ndev = rdma_read_gid_attr_ndev_rcu(attr);
if (!IS_ERR(ndev) && if (!IS_ERR(ndev) &&
((!vlan_id && !is_vlan_dev(attr->ndev)) || ((!vlan_id && !is_vlan_dev(ndev)) ||
(vlan_id && is_vlan_dev(attr->ndev) && (vlan_id && is_vlan_dev(ndev) &&
vlan_dev_vlan_id(attr->ndev) == vlan_id)) && vlan_dev_vlan_id(ndev) == vlan_id)) &&
attr->gid_type == IB_GID_TYPE_ROCE) { attr->gid_type == IB_GID_TYPE_ROCE) {
rcu_read_unlock(); rcu_read_unlock();
if (gid) if (gid)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment