net/ipv6: Correct PIM6 mrt_lock handling
authorRichard Laing <richard.laing@alliedtelesis.co.nz>
Thu, 3 Sep 2015 01:52:31 +0000 (13:52 +1200)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Oct 2015 02:46:12 +0000 (03:46 +0100)
commitea43243cfc86b7dbecdd23d2533c1a257390365d
tree6004bf6b3c00b1e36992df968d51b875760e9bd9
parentd2e030979b01b6f5e9785199cc982efad980e122
net/ipv6: Correct PIM6 mrt_lock handling

[ Upstream commit 25b4a44c19c83d98e8c0807a7ede07c1f28eab8b ]

In the IPv6 multicast routing code the mrt_lock was not being released
correctly in the MFC iterator, as a result adding or deleting a MIF would
cause a hang because the mrt_lock could not be acquired.

This fix is a copy of the code for the IPv4 case and ensures that the lock
is released correctly.

Signed-off-by: Richard Laing <richard.laing@alliedtelesis.co.nz>
Acked-by: Cong Wang <cwang@twopensource.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/ipv6/ip6mr.c