Commit d3632493 authored by Bart Van Assche's avatar Bart Van Assche Committed by Doug Ledford

IB/cma: Add a missing rcu_read_unlock()

Ensure that validate_ipv4_net_dev() calls rcu_read_unlock() if
fib_lookup() fails. Detected by sparse. Compile-tested only.

Fixes: "IB/cma: Validate routing of incoming requests" (commit f887f2ac).
Cc: Haggai Eran <haggaie@mellanox.com>
Cc: stable <stable@vger.kernel.org>
Reviewed-by: default avatarSagi Grimberg <sagig@mellanox.com>
Reviewed-by: default avatarHaggai Eran <haggaie@mellanox.com>
Reviewed-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 8f5ba10e
...@@ -1126,10 +1126,7 @@ static bool validate_ipv4_net_dev(struct net_device *net_dev, ...@@ -1126,10 +1126,7 @@ static bool validate_ipv4_net_dev(struct net_device *net_dev,
rcu_read_lock(); rcu_read_lock();
err = fib_lookup(dev_net(net_dev), &fl4, &res, 0); err = fib_lookup(dev_net(net_dev), &fl4, &res, 0);
if (err) ret = err == 0 && FIB_RES_DEV(res) == net_dev;
return false;
ret = FIB_RES_DEV(res) == net_dev;
rcu_read_unlock(); rcu_read_unlock();
return ret; return ret;
......
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