[net,v2] uapi: Add missing linux/stddef.h header file to in.h

Message ID 20221103091100.246115-1-yangjihong1@huawei.com
State New
Headers
Series [net,v2] uapi: Add missing linux/stddef.h header file to in.h |

Commit Message

Yang Jihong Nov. 3, 2022, 9:11 a.m. UTC
  commit 5854a09b4957 ("net/ipv4: Use __DECLARE_FLEX_ARRAY() helper") does
not include "linux/stddef.h" header file, and tools headers update
linux/in.h copy, BPF prog fails to be compiled:

    CLNG-BPF [test_maps] bpf_flow.bpf.o
    CLNG-BPF [test_maps] cgroup_skb_sk_lookup_kern.bpf.o
  In file included from progs/cgroup_skb_sk_lookup_kern.c:9:
  /root/linux/tools/include/uapi/linux/in.h:199:3: error: type name requires a specifier or qualifier
                  __DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex);
                  ^
  /root/linux/tools/include/uapi/linux/in.h:199:32: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int]
                  __DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex);
                                               ^
  2 errors generated.

To maintain consistency, add missing header file to kernel.

Fixes: 5854a09b4957 ("net/ipv4: Use __DECLARE_FLEX_ARRAY() helper")
Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
---

Changes since v1:
 - 'Fixes' tag separates by the commit message by a blank line
 - Remove the empty line between 'Fixes' and SoB.
 - Specify the target tree to "net" in title
 - Wrap the commit message text to 75 chars per line (except build output)

 include/uapi/linux/in.h | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Alexei Starovoitov Nov. 3, 2022, 5:02 p.m. UTC | #1
On Thu, Nov 3, 2022 at 2:16 AM Yang Jihong <yangjihong1@huawei.com> wrote:
>
> commit 5854a09b4957 ("net/ipv4: Use __DECLARE_FLEX_ARRAY() helper") does
> not include "linux/stddef.h" header file, and tools headers update
> linux/in.h copy, BPF prog fails to be compiled:
>
>     CLNG-BPF [test_maps] bpf_flow.bpf.o
>     CLNG-BPF [test_maps] cgroup_skb_sk_lookup_kern.bpf.o
>   In file included from progs/cgroup_skb_sk_lookup_kern.c:9:
>   /root/linux/tools/include/uapi/linux/in.h:199:3: error: type name requires a specifier or qualifier
>                   __DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex);
>                   ^
>   /root/linux/tools/include/uapi/linux/in.h:199:32: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int]
>                   __DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex);
>                                                ^
>   2 errors generated.
>
> To maintain consistency, add missing header file to kernel.
>
> Fixes: 5854a09b4957 ("net/ipv4: Use __DECLARE_FLEX_ARRAY() helper")
> Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
> ---
>
> Changes since v1:
>  - 'Fixes' tag separates by the commit message by a blank line
>  - Remove the empty line between 'Fixes' and SoB.
>  - Specify the target tree to "net" in title
>  - Wrap the commit message text to 75 chars per line (except build output)

Since it's bpf related please always use [PATCH bpf] in the subject.
Please monitor the tree and mailing lists as well.
In this case the proper fix is already in bpf tree.
https://lore.kernel.org/bpf/20221102182517.2675301-1-andrii@kernel.org/

Your fix alone is incomplete. See patch 2 in the fix above.
  

Patch

diff --git a/include/uapi/linux/in.h b/include/uapi/linux/in.h
index f243ce665f74..79015665daf1 100644
--- a/include/uapi/linux/in.h
+++ b/include/uapi/linux/in.h
@@ -22,6 +22,7 @@ 
 #include <linux/types.h>
 #include <linux/libc-compat.h>
 #include <linux/socket.h>
+#include <linux/stddef.h>
 
 #if __UAPI_DEF_IN_IPPROTO
 /* Standard well-defined IP protocols.  */