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)
committerDavid S. Miller <davem@davemloft.net>
Sun, 6 Sep 2015 00:31:30 +0000 (17:31 -0700)
commit25b4a44c19c83d98e8c0807a7ede07c1f28eab8b
tree94f5ebf5140c803c584e6de36b47f5b619595196
parent724a7636ad026a3a68f3fc626ccd04111f65cfd9
net/ipv6: Correct PIM6 mrt_lock handling

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>
net/ipv6/ip6mr.c