Commit a527750
ipv6: mcast: add RCU protection to mld_newpack()
mld_newpack() can be called without RTNL or RCU being held.
Note that we no longer can use sock_alloc_send_skb() because
ipv6.igmp_sk uses GFP_KERNEL allocations which can sleep.
Instead use alloc_skb() and charge the net->ipv6.igmp_sk
socket under RCU protection.
Fixes: b8ad0cb ("[NETNS][IPV6] mcast - handle several network namespace")
Signed-off-by: Eric Dumazet <[email protected]>
Reviewed-by: David Ahern <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>1 parent 5bef3ac commit a527750
1 file changed
+10
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1773 | 1773 | | |
1774 | 1774 | | |
1775 | 1775 | | |
1776 | | - | |
1777 | 1776 | | |
1778 | 1777 | | |
1779 | 1778 | | |
1780 | 1779 | | |
1781 | 1780 | | |
1782 | 1781 | | |
1783 | | - | |
| 1782 | + | |
1784 | 1783 | | |
1785 | | - | |
1786 | 1784 | | |
1787 | 1785 | | |
1788 | 1786 | | |
1789 | 1787 | | |
1790 | | - | |
| 1788 | + | |
1791 | 1789 | | |
1792 | 1790 | | |
1793 | 1791 | | |
1794 | 1792 | | |
1795 | 1793 | | |
1796 | 1794 | | |
1797 | 1795 | | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
1798 | 1802 | | |
1799 | 1803 | | |
1800 | 1804 | | |
| |||
1806 | 1810 | | |
1807 | 1811 | | |
1808 | 1812 | | |
| 1813 | + | |
| 1814 | + | |
1809 | 1815 | | |
1810 | 1816 | | |
1811 | 1817 | | |
| |||
0 commit comments