* [PATCH bpf-next V3] bpf: use -Wno-address-of-packed-member in some selftests
@ 2024-02-06 10:23 Jose E. Marchesi
2024-02-06 16:15 ` Yonghong Song
2024-02-06 17:50 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Jose E. Marchesi @ 2024-02-06 10:23 UTC (permalink / raw)
To: bpf
Cc: Jose E . Marchesi, Andrii Nakryiko, Yonghong Song,
Eduard Zingerman, David Faust, Cupertino Miranda
[Differences from V2:
- Remove conditionals in the source files pragmas, as the
pragma is supported by both GCC and clang.]
Both GCC and clang implement the -Wno-address-of-packed-member
warning, which is enabled by -Wall, that warns about taking the
address of a packed struct field when it can lead to an "unaligned"
address.
This triggers the following errors (-Werror) when building three
particular BPF selftests with GCC:
progs/test_cls_redirect.c
986 | if (ipv4_is_fragment((void *)&encap->ip)) {
progs/test_cls_redirect_dynptr.c
410 | pkt_ipv4_checksum((void *)&encap_gre->ip);
progs/test_cls_redirect.c
521 | pkt_ipv4_checksum((void *)&encap_gre->ip);
progs/test_tc_tunnel.c
232 | set_ipv4_csum((void *)&h_outer.ip);
These warnings do not signal any real problem in the tests as far as I
can see.
This patch adds pragmas to these test files that inhibit the
-Waddress-of-packed-member warning.
Tested in bpf-next master.
No regressions.
Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
Cc: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: Yonghong Song <yhs@meta.com>
Cc: Eduard Zingerman <eddyz87@gmail.com>
Cc: David Faust <david.faust@oracle.com>
Cc: Cupertino Miranda <cupertino.miranda@oracle.com>
---
tools/testing/selftests/bpf/progs/test_cls_redirect.c | 2 ++
tools/testing/selftests/bpf/progs/test_cls_redirect_dynptr.c | 2 ++
tools/testing/selftests/bpf/progs/test_tc_tunnel.c | 2 ++
3 files changed, 6 insertions(+)
diff --git a/tools/testing/selftests/bpf/progs/test_cls_redirect.c b/tools/testing/selftests/bpf/progs/test_cls_redirect.c
index 66b304982245..bfc9179259d5 100644
--- a/tools/testing/selftests/bpf/progs/test_cls_redirect.c
+++ b/tools/testing/selftests/bpf/progs/test_cls_redirect.c
@@ -22,6 +22,8 @@
#include "test_cls_redirect.h"
+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
+
#ifdef SUBPROGS
#define INLINING __noinline
#else
diff --git a/tools/testing/selftests/bpf/progs/test_cls_redirect_dynptr.c b/tools/testing/selftests/bpf/progs/test_cls_redirect_dynptr.c
index f41c81212ee9..da54c09e9a15 100644
--- a/tools/testing/selftests/bpf/progs/test_cls_redirect_dynptr.c
+++ b/tools/testing/selftests/bpf/progs/test_cls_redirect_dynptr.c
@@ -23,6 +23,8 @@
#include "test_cls_redirect.h"
#include "bpf_kfuncs.h"
+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
+
#define offsetofend(TYPE, MEMBER) \
(offsetof(TYPE, MEMBER) + sizeof((((TYPE *)0)->MEMBER)))
diff --git a/tools/testing/selftests/bpf/progs/test_tc_tunnel.c b/tools/testing/selftests/bpf/progs/test_tc_tunnel.c
index e6e678aa9874..d8d7ab5e8e30 100644
--- a/tools/testing/selftests/bpf/progs/test_tc_tunnel.c
+++ b/tools/testing/selftests/bpf/progs/test_tc_tunnel.c
@@ -20,6 +20,8 @@
#include <bpf/bpf_endian.h>
#include <bpf/bpf_helpers.h>
+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
+
static const int cfg_port = 8000;
static const int cfg_udp_src = 20000;
--
2.30.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next V3] bpf: use -Wno-address-of-packed-member in some selftests
2024-02-06 10:23 [PATCH bpf-next V3] bpf: use -Wno-address-of-packed-member in some selftests Jose E. Marchesi
@ 2024-02-06 16:15 ` Yonghong Song
2024-02-06 17:50 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Yonghong Song @ 2024-02-06 16:15 UTC (permalink / raw)
To: Jose E. Marchesi, bpf
Cc: Andrii Nakryiko, Yonghong Song, Eduard Zingerman, David Faust,
Cupertino Miranda
On 2/6/24 2:23 AM, Jose E. Marchesi wrote:
> [Differences from V2:
> - Remove conditionals in the source files pragmas, as the
> pragma is supported by both GCC and clang.]
>
> Both GCC and clang implement the -Wno-address-of-packed-member
> warning, which is enabled by -Wall, that warns about taking the
> address of a packed struct field when it can lead to an "unaligned"
> address.
>
> This triggers the following errors (-Werror) when building three
> particular BPF selftests with GCC:
>
> progs/test_cls_redirect.c
> 986 | if (ipv4_is_fragment((void *)&encap->ip)) {
> progs/test_cls_redirect_dynptr.c
> 410 | pkt_ipv4_checksum((void *)&encap_gre->ip);
> progs/test_cls_redirect.c
> 521 | pkt_ipv4_checksum((void *)&encap_gre->ip);
> progs/test_tc_tunnel.c
> 232 | set_ipv4_csum((void *)&h_outer.ip);
>
> These warnings do not signal any real problem in the tests as far as I
> can see.
>
> This patch adds pragmas to these test files that inhibit the
> -Waddress-of-packed-member warning.
>
> Tested in bpf-next master.
> No regressions.
>
> Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
> Cc: Andrii Nakryiko <andrii.nakryiko@gmail.com>
> Cc: Yonghong Song <yhs@meta.com>
> Cc: Eduard Zingerman <eddyz87@gmail.com>
> Cc: David Faust <david.faust@oracle.com>
> Cc: Cupertino Miranda <cupertino.miranda@oracle.com>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next V3] bpf: use -Wno-address-of-packed-member in some selftests
2024-02-06 10:23 [PATCH bpf-next V3] bpf: use -Wno-address-of-packed-member in some selftests Jose E. Marchesi
2024-02-06 16:15 ` Yonghong Song
@ 2024-02-06 17:50 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-02-06 17:50 UTC (permalink / raw)
To: Jose E. Marchesi
Cc: bpf, andrii.nakryiko, yhs, eddyz87, david.faust, cupertino.miranda
Hello:
This patch was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko <andrii@kernel.org>:
On Tue, 6 Feb 2024 11:23:30 +0100 you wrote:
> [Differences from V2:
> - Remove conditionals in the source files pragmas, as the
> pragma is supported by both GCC and clang.]
>
> Both GCC and clang implement the -Wno-address-of-packed-member
> warning, which is enabled by -Wall, that warns about taking the
> address of a packed struct field when it can lead to an "unaligned"
> address.
>
> [...]
Here is the summary with links:
- [bpf-next,V3] bpf: use -Wno-address-of-packed-member in some selftests
https://git.kernel.org/bpf/bpf-next/c/c27aa462aa78
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-06 17:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-06 10:23 [PATCH bpf-next V3] bpf: use -Wno-address-of-packed-member in some selftests Jose E. Marchesi
2024-02-06 16:15 ` Yonghong Song
2024-02-06 17:50 ` patchwork-bot+netdevbpf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.