Re: linux-next: Tree for Nov 17 (uml, no IPV6)

From: Geert Uytterhoeven
Date: Wed Nov 17 2021 - 04:47:23 EST


Hi Eric,

On Wed, Nov 17, 2021 at 10:38 AM Eric Dumazet <edumazet@xxxxxxxxxx> wrote:
> On Wed, Nov 17, 2021 at 12:44 AM Geert Uytterhoeven
> <geert@xxxxxxxxxxxxxx> wrote:
> > On Wed, Nov 17, 2021 at 6:49 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> > > On 11/16/21 6:58 PM, Stephen Rothwell wrote:
> > > > Changes since 20211116:
> > >
> > > ARCH=um SUBARCH=x86_64:
> > > # CONFIG_IPV6 is not set
> >
> > It doesn't always happen with CONFIG_IPV6=n, so I guess that's why
> > it wasn't detected before.
>
> Thanks for letting me know
>
> I guess the following addition would fix the issue ?
>
> diff --git a/arch/x86/um/asm/checksum_64.h b/arch/x86/um/asm/checksum_64.h
> index 7b6cd1921573c97361b8d486bbba3e8870d53ad6..4f0c15a61925c46b261f87fa319e6aff28f4cfce
> 100644
> --- a/arch/x86/um/asm/checksum_64.h
> +++ b/arch/x86/um/asm/checksum_64.h

Are you sure that's the right fix?
That won't fix the issue with m5272c3_defconfig.

> > > In file included from ../net/ethernet/eth.c:62:0:
> > > ../include/net/gro.h: In function ‘ip6_gro_compute_pseudo’:
> > > ../include/net/gro.h:413:22: error: implicit declaration of function ‘csum_ipv6_magic’; did you mean ‘csum_tcpudp_magic’? [-Werror=implicit-function-declaration]
> > > return ~csum_unfold(csum_ipv6_magic(&iph->saddr, &iph->daddr,
> > > ^~~~~~~~~~~~~~~
> > > csum_tcpudp_magic
> > >
> > >
> > > After I made ip6_gro_compute_pseudo() conditional on CONFIG_IPV6,
> > > I got this build error:
> > >
> > > In file included from ../net/ipv6/tcpv6_offload.c:10:0:
> > > ../net/ipv6/tcpv6_offload.c: In function ‘tcp6_gro_receive’:
> > > ../net/ipv6/tcpv6_offload.c:22:11: error: implicit declaration of function ‘ip6_gro_compute_pseudo’; did you mean ‘inet_gro_compute_pseudo’? [-Werror=implicit-function-declaration]
> > > ip6_gro_compute_pseudo)) {
> > > ^
> > > ../include/net/gro.h:235:5: note: in definition of macro ‘__skb_gro_checksum_validate’
> > > compute_pseudo(skb, proto)); \
> > > ^~~~~~~~~~~~~~
> > > ../net/ipv6/tcpv6_offload.c:21:6: note: in expansion of macro ‘skb_gro_checksum_validate’
> > > skb_gro_checksum_validate(skb, IPPROTO_TCP,
> > > ^~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > >
> > >
> > > This is UML x86_64 defconfig:
> > >
> > > $ make ARCH=um SUBARCH=x86_64 defconfig all
> >
> > noreply@xxxxxxxxxxxxxx reported the same issue for m5272c3_defconfig,
> > and I've bisected the failure to commit 4721031c3559db8e ("net:
> > move gro definitions to include/net/gro.h").

arch/m68k/include/asm/checksum.h defines csum_ipv6_magic()
unconditionally, so it looks like just a missing #include.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds