Re: Linux 5.17-rc5

From: Eric Dumazet
Date: Mon Feb 21 2022 - 13:14:20 EST


On Mon, Feb 21, 2022 at 9:56 AM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Mon, Feb 21, 2022 at 6:23 AM Woody Suwalski <wsuwalski@xxxxxxxxx> wrote:
> >
> > Compile failed like reported by Robert Gadson in
> > https://lkml.org/lkml/2022/2/20/341
> >
> > As a workaround:
> > nf_defrag_ipv6.patch
> > --- a/net/netfilter/xt_socket.c 2022-02-21 07:29:21.938263397 -0500
> > +++ b/net/netfilter/xt_socket.c 2022-02-21 07:40:16.730022272 -0500
> > @@ -17,11 +17,11 @@
> > #include <net/inet_sock.h>
> > #include <net/netfilter/ipv4/nf_defrag_ipv4.h>
> >
> > -#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
> > +//#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
> > #include <linux/netfilter_ipv6/ip6_tables.h>
> ...
>
> Hmm. That may fix the compile failure, but it looks somewhat broken to me.
>
> Other cases of nf_defrag_ipv6_disable() end up being protected by
>
> #if IS_ENABLED(CONFIG_NF_TABLES_IPV6)
>
> at the use-point, not by just assuming it always exists even when
> CONFIG_NF_TABLES_IPV6 is off.
>
> So I think the proper fix is something along the lines of
>
> --- a/net/netfilter/xt_socket.c
> +++ b/net/netfilter/xt_socket.c
> @@ -220,8 +220,10 @@ static void socket_mt_destroy(const struct
> xt_mtdtor_param *par)
> {
> if (par->family == NFPROTO_IPV4)
> nf_defrag_ipv4_disable(par->net);
> +#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
> else if (par->family == NFPROTO_IPV6)
> nf_defrag_ipv6_disable(par->net);
> +#endif
> }
>
> instead. Entirely untested, because that's how I roll, but I suspect
> the netfilter people will know what to do.
>
> Added guilty parties and mailing list to the participants.
>
> Linus

I am pretty sure Pablo fixed this one week ago.

https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git/commit/?id=2874b7911132f6975e668f6849c8ac93bc4e1f35