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

Commit 448eb71f authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by David S. Miller
Browse files

ipv6/mcast: join error paths using goto

parent 5ce1bbb9
Loading
Loading
Loading
Loading
+14 −11
Original line number Original line Diff line number Diff line
@@ -303,21 +303,24 @@ static struct inet6_dev *ip6_mc_find_dev(struct net *net,
		dev = dev_get_by_index(net, ifindex);
		dev = dev_get_by_index(net, ifindex);


	if (!dev)
	if (!dev)
		return NULL;
		goto nodev;
	idev = in6_dev_get(dev);
	idev = in6_dev_get(dev);
	if (!idev) {
	if (!idev)
		dev_put(dev);
		goto release;
		return NULL;
	}
	read_lock_bh(&idev->lock);
	read_lock_bh(&idev->lock);
	if (idev->dead) {
	if (idev->dead)
		goto unlock_release;

	return idev;

unlock_release:
	read_unlock_bh(&idev->lock);
	read_unlock_bh(&idev->lock);
	in6_dev_put(idev);
	in6_dev_put(idev);
release:
	dev_put(dev);
	dev_put(dev);
nodev:
	return NULL;
	return NULL;
}
}
	return idev;
}


void ipv6_sock_mc_close(struct sock *sk)
void ipv6_sock_mc_close(struct sock *sk)
{
{