Commit 0c7ae130 authored by Paul Chaignon's avatar Paul Chaignon Committed by Alexei Starovoitov
Browse files

tools/headers: Regenerate stddef.h to fix BPF selftests



With commit dacbfc16 ("crypto: af_alg - Annotate struct af_alg_iv
with __counted_by"), two selftests, test_tag and crypto_sanity, now
indirectly rely on the __counted_by macro. On systems with commit
dacbfc16 in the installed UAPI headers, the selftests build fails
with:

  In file included from tools/testing/selftests/bpf/prog_tests/crypto_sanity.c:7:
  /usr/include/linux/if_alg.h:45:22: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘__counted_by’
     45 |         __u8    iv[] __counted_by(ivlen);
        |                      ^~~~~~~~~~~~

This patch fixes it by regenerating stddef.h in tools/include using the
instructions from commit a778f5d4 ("tools/headers: Pull in stddef.h
to uapi to fix BPF selftests build in CI").

Fixes: dacbfc16 ("crypto: af_alg - Annotate struct af_alg_iv with __counted_by")
Signed-off-by: default avatarPaul Chaignon <paul.chaignon@gmail.com>
Reviewed-by: default avatarAlan Maguire <alan.maguire@oracle.com>
Tested-by: default avatarIhor Solodrai <ihor.solodrai@linux.dev>
Link: https://lore.kernel.org/r/8da8ef16055aa452d940668ed5359ce54adc6b0b.1777715500.git.paul.chaignon@gmail.com


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent b5c111f4
Loading
Loading
Loading
Loading
+25 −1
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
#define _LINUX_STDDEF_H



#ifndef __always_inline
#define __always_inline __inline__
#endif
@@ -36,6 +35,11 @@
		struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \
	} ATTRS

#ifdef __cplusplus
/* sizeof(struct{}) is 1 in C++, not 0, can't use C version of the macro. */
#define __DECLARE_FLEX_ARRAY(T, member)	\
	T member[0]
#else
/**
 * __DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
 *
@@ -52,3 +56,23 @@
		TYPE NAME[]; \
	}
#endif

#ifndef __counted_by
#define __counted_by(m)
#endif

#ifndef __counted_by_le
#define __counted_by_le(m)
#endif

#ifndef __counted_by_be
#define __counted_by_be(m)
#endif

#ifndef __counted_by_ptr
#define __counted_by_ptr(m)
#endif

#define __kernel_nonstring

#endif /* _LINUX_STDDEF_H */