forked from Minki/linux
igmp: Fix regression caused by igmp sysctl namespace code.
Commitdcd87999d4
("igmp: net: Move igmp namespace init to correct file") moved the igmp sysctls initialization from tcp_sk_init to igmp_net_init. This function is only called as part of per-namespace initialization, only if CONFIG_IP_MULTICAST is defined, otherwise igmp_mc_init() call in ip_init is compiled out, casuing the igmp pernet ops to not be registerd and those sysctl being left initialized with 0. However, there are certain functions, such as ip_mc_join_group which are always compiled and make use of some of those sysctls. Let's do a partial revert of the aforementioned commit and move the sysctl initialization into inet_init_net, that way they will always have sane values. Fixes:dcd87999d4
("igmp: net: Move igmp namespace init to correct file") Link: https://bugzilla.kernel.org/show_bug.cgi?id=196595 Reported-by: Gerardo Exequiel Pozzi <vmlinuz386@gmail.com> Signed-off-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
04db70d9fe
commit
1714020e42
@ -1731,6 +1731,13 @@ static __net_init int inet_init_net(struct net *net)
|
||||
net->ipv4.sysctl_ip_prot_sock = PROT_SOCK;
|
||||
#endif
|
||||
|
||||
/* Some igmp sysctl, whose values are always used */
|
||||
net->ipv4.sysctl_igmp_max_memberships = 20;
|
||||
net->ipv4.sysctl_igmp_max_msf = 10;
|
||||
/* IGMP reports for link-local multicast groups are enabled by default */
|
||||
net->ipv4.sysctl_igmp_llm_reports = 1;
|
||||
net->ipv4.sysctl_igmp_qrv = 2;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2974,12 +2974,6 @@ static int __net_init igmp_net_init(struct net *net)
|
||||
goto out_sock;
|
||||
}
|
||||
|
||||
/* Sysctl initialization */
|
||||
net->ipv4.sysctl_igmp_max_memberships = 20;
|
||||
net->ipv4.sysctl_igmp_max_msf = 10;
|
||||
/* IGMP reports for link-local multicast groups are enabled by default */
|
||||
net->ipv4.sysctl_igmp_llm_reports = 1;
|
||||
net->ipv4.sysctl_igmp_qrv = 2;
|
||||
return 0;
|
||||
|
||||
out_sock:
|
||||
|
Loading…
Reference in New Issue
Block a user