Re: [PATCH] uapi, seg6_iptunnel: Add missing include in seg6_iptunnel.h

From: David Miller
Date: Wed Jul 29 2020 - 15:50:16 EST


From: Ioana-Ruxandra Stancioi <ioanaruxandra.stancioi@xxxxxxxxx>
Date: Wed, 29 Jul 2020 10:49:03 +0000

> From: Ioana-Ruxandra Stăncioi <stancioi@xxxxxxxxxx>
>
> Include <linux/ipv6.h> in uapi/linux/seg6_iptunnel.h to fix the
> following linux/seg6_iptunnel.h compilation error:
>
> invalid application of 'sizeof' to incomplete type 'struct ipv6hdr'
> head = sizeof(struct ipv6hdr);
> ^~~~~~
>
> This is to allow including this header in places where <linux/ipv6.h>
> has not been included but __KERNEL__ is defined. In the kernel the easy
> workaround is including <linux/ipv6.h>, but the header may also be used
> by code analysis tools.
>
> Signed-off-by: Ioana-Ruxandra Stăncioi <stancioi@xxxxxxxxxx>

This doesn't belong in a UAPI header (it's __KERNEL__ protected after
all), and it's only called in one place in the kernel, namely
net/ipv6/net/ipv6/seg6_iptunnel.c)

Just move the helper to that foo.c file, and drop the inline keyword.

Thank you.