Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -1126,10 +1126,7 @@ static bool validate_ipv4_net_dev(struct net_device *net_dev,

	rcu_read_lock();
	err = fib_lookup(dev_net(net_dev), &fl4, &res, 0);
	if (err)
		return false;

	ret = FIB_RES_DEV(res) == net_dev;
	ret = err == 0 && FIB_RES_DEV(res) == net_dev;
	rcu_read_unlock();

	return ret;