2022-11-03 09:35:17

by Yang Jihong

[permalink] [raw]
Subject: [PATCH net v2] uapi: Add missing linux/stddef.h header file to in.h

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 <[email protected]>
---

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(+)

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. */
--
2.30.GIT



2022-11-03 17:17:26

by Alexei Starovoitov

[permalink] [raw]
Subject: Re: [PATCH net v2] uapi: Add missing linux/stddef.h header file to in.h

On Thu, Nov 3, 2022 at 2:16 AM Yang Jihong <[email protected]> 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 <[email protected]>
> ---
>
> 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/[email protected]/

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