diff mbox series

uapi, seg6_iptunnel: Add missing include in seg6_iptunnel.h

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

Commit Message

Ioana-Ruxandra Stancioi July 29, 2020, 10:49 a.m. UTC
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>
---
 include/uapi/linux/seg6_iptunnel.h | 1 +
 1 file changed, 1 insertion(+)

Comments

David Miller July 29, 2020, 7:50 p.m. UTC | #1
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 mbox series

Patch

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)
 {