Message ID | 20200729104903.3586064-1-ioanaruxandra.stancioi@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | uapi, seg6_iptunnel: Add missing include in seg6_iptunnel.h | expand |
From: Ioana-Ruxandra Stancioi <ioanaruxandra.stancioi@gmail.com> Date: Wed, 29 Jul 2020 10:49:03 +0000 > From: Ioana-Ruxandra Stăncioi <stancioi@google.com> > > 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@google.com> 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.
diff --git a/include/uapi/linux/seg6_iptunnel.h b/include/uapi/linux/seg6_iptunnel.h index 09fb608a35ec..b904228f463c 100644 --- a/include/uapi/linux/seg6_iptunnel.h +++ b/include/uapi/linux/seg6_iptunnel.h @@ -38,6 +38,7 @@ enum { }; #ifdef __KERNEL__ +#include <linux/ipv6.h> static inline size_t seg6_lwt_headroom(struct seg6_iptunnel_encap *tuninfo) {