* [PATCH v2 0/2] build and compiler warning fixes
@ 2026-03-16 1:36 Yang Xiuwei
2026-03-16 1:36 ` [PATCH v2 1/2] examples/send-zerocopy: fix -Wstringop-truncation on ifr.ifr_name Yang Xiuwei
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Yang Xiuwei @ 2026-03-16 1:36 UTC (permalink / raw)
To: axboe; +Cc: io-uring, Yang Xiuwei
Fix two issues: (1) send-zerocopy -Wstringop-truncation on ifr.ifr_name;
(2) cbpf_filter build failure when kernel headers lack openat2.h.
Changes since v1:
- Patch 2/2: Per Jens's suggestion, use RESOLVE_IN_ROOT fallback instead
of stubbing the test.
- Patch 1/2 unchanged.
v1: https://lore.kernel.org/io-uring/20260314083538.791693-1-yangxiuwei@kylinos.cn/
Yang Xiuwei (2):
examples/send-zerocopy: fix -Wstringop-truncation on ifr.ifr_name
test/cbpf_filter: fix build when openat2.h is not available
examples/send-zerocopy.c | 2 +-
test/cbpf_filter.c | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v2 1/2] examples/send-zerocopy: fix -Wstringop-truncation on ifr.ifr_name 2026-03-16 1:36 [PATCH v2 0/2] build and compiler warning fixes Yang Xiuwei @ 2026-03-16 1:36 ` Yang Xiuwei 2026-03-16 1:36 ` [PATCH v2 2/2] test/cbpf_filter: fix build when openat2.h is not available Yang Xiuwei 2026-03-16 10:37 ` [PATCH v2 0/2] build and compiler warning fixes Jens Axboe 2 siblings, 0 replies; 4+ messages in thread From: Yang Xiuwei @ 2026-03-16 1:36 UTC (permalink / raw) To: axboe; +Cc: io-uring, Yang Xiuwei strncpy(ifr.ifr_name, cfg_ifname, sizeof(ifr.ifr_name)) triggers -Wstringop-truncation because the bound equals the destination size, so the compiler assumes the result may not be null-terminated. Use sizeof(ifr.ifr_name) - 1 as the bound so at most 15 bytes are copied. Fixes: 3e4f05342662 ("examples/send-zerocopy: use strncpy() to copy interface name") Signed-off-by: Yang Xiuwei <yangxiuwei@kylinos.cn> --- examples/send-zerocopy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/send-zerocopy.c b/examples/send-zerocopy.c index f0248d20..b2821af6 100644 --- a/examples/send-zerocopy.c +++ b/examples/send-zerocopy.c @@ -353,7 +353,7 @@ static void do_tx(struct thread_data *td, int domain, int type, int protocol) struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, cfg_ifname, sizeof(ifr.ifr_name)); + strncpy(ifr.ifr_name, cfg_ifname, sizeof(ifr.ifr_name) - 1); if (setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr)) < 0) t_error(1, errno, "Binding to device failed\n"); -- 2.25.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] test/cbpf_filter: fix build when openat2.h is not available 2026-03-16 1:36 [PATCH v2 0/2] build and compiler warning fixes Yang Xiuwei 2026-03-16 1:36 ` [PATCH v2 1/2] examples/send-zerocopy: fix -Wstringop-truncation on ifr.ifr_name Yang Xiuwei @ 2026-03-16 1:36 ` Yang Xiuwei 2026-03-16 10:37 ` [PATCH v2 0/2] build and compiler warning fixes Jens Axboe 2 siblings, 0 replies; 4+ messages in thread From: Yang Xiuwei @ 2026-03-16 1:36 UTC (permalink / raw) To: axboe; +Cc: io-uring, Yang Xiuwei cbpf_filter.c included <linux/openat2.h> for struct open_how and RESOLVE_IN_ROOT, so the test failed to build on systems without that header (e.g. older distros). liburing's compat already provides struct open_how; add a fallback #define for RESOLVE_IN_ROOT (0x10) when the header is missing, so the test both builds and runs on old headers with a current kernel. Suggested-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Yang Xiuwei <yangxiuwei@kylinos.cn> --- test/cbpf_filter.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/cbpf_filter.c b/test/cbpf_filter.c index 41fd284e..b80b1503 100644 --- a/test/cbpf_filter.c +++ b/test/cbpf_filter.c @@ -15,12 +15,15 @@ #include <sys/wait.h> #include <sys/prctl.h> #include <linux/filter.h> -#include <linux/openat2.h> #include "liburing.h" #include "liburing/io_uring/bpf_filter.h" #include "helpers.h" +#ifndef RESOLVE_IN_ROOT +#define RESOLVE_IN_ROOT 0x10 +#endif + /* * cBPF filter context layout (struct io_uring_bpf_ctx): * offset 0: user_data (u64) -- 2.25.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 0/2] build and compiler warning fixes 2026-03-16 1:36 [PATCH v2 0/2] build and compiler warning fixes Yang Xiuwei 2026-03-16 1:36 ` [PATCH v2 1/2] examples/send-zerocopy: fix -Wstringop-truncation on ifr.ifr_name Yang Xiuwei 2026-03-16 1:36 ` [PATCH v2 2/2] test/cbpf_filter: fix build when openat2.h is not available Yang Xiuwei @ 2026-03-16 10:37 ` Jens Axboe 2 siblings, 0 replies; 4+ messages in thread From: Jens Axboe @ 2026-03-16 10:37 UTC (permalink / raw) To: Yang Xiuwei; +Cc: io-uring On Mon, 16 Mar 2026 09:36:19 +0800, Yang Xiuwei wrote: > Fix two issues: (1) send-zerocopy -Wstringop-truncation on ifr.ifr_name; > (2) cbpf_filter build failure when kernel headers lack openat2.h. > > Changes since v1: > - Patch 2/2: Per Jens's suggestion, use RESOLVE_IN_ROOT fallback instead > of stubbing the test. > - Patch 1/2 unchanged. > > [...] Applied, thanks! [1/2] examples/send-zerocopy: fix -Wstringop-truncation on ifr.ifr_name commit: b6a45c81fe1dd6d657f0ea96873cf38a69b0a410 [2/2] test/cbpf_filter: fix build when openat2.h is not available commit: a6e7bd5522be2ece8fe1accd2dbb4082742300a6 Best regards, -- Jens Axboe ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-03-16 10:37 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-16 1:36 [PATCH v2 0/2] build and compiler warning fixes Yang Xiuwei 2026-03-16 1:36 ` [PATCH v2 1/2] examples/send-zerocopy: fix -Wstringop-truncation on ifr.ifr_name Yang Xiuwei 2026-03-16 1:36 ` [PATCH v2 2/2] test/cbpf_filter: fix build when openat2.h is not available Yang Xiuwei 2026-03-16 10:37 ` [PATCH v2 0/2] build and compiler warning fixes Jens Axboe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox