* [PATCH bpf-next 1/2] selftests/bpf: Fix task_local_data failure with 64K page
@ 2026-01-20 21:09 Yonghong Song
2026-01-20 21:09 ` [PATCH bpf-next 2/2] selftests/bpf: Fix xdp_pull_data " Yonghong Song
2026-01-22 8:00 ` [PATCH bpf-next 1/2] selftests/bpf: Fix task_local_data " Alan Maguire
0 siblings, 2 replies; 5+ messages in thread
From: Yonghong Song @ 2026-01-20 21:09 UTC (permalink / raw)
To: bpf
Cc: Alexei Starovoitov, Andrii Nakryiko, Daniel Borkmann, kernel-team,
Martin KaFai Lau, Amery Hung
On arm64 systems with 64K pages, the selftest task_local_data has the following
failures:
...
test_task_local_data_basic:PASS:tld_create_key 0 nsec
test_task_local_data_basic:FAIL:tld_create_key unexpected tld_create_key: actual 0 != expected -28
...
test_task_local_data_basic_thread:PASS:run task_main 0 nsec
test_task_local_data_basic_thread:FAIL:task_main retval unexpected error: 2 (errno 0)
test_task_local_data_basic_thread:FAIL:tld_get_data value0 unexpected tld_get_data value0: actual 0 != expected 6268
...
#447/1 task_local_data/task_local_data_basic:FAIL
...
#447/2 task_local_data/task_local_data_race:FAIL
#447 task_local_data:FAIL
When TLD_DYN_DATA_SIZE is 64K page size, for
struct tld_meta_u {
_Atomic __u8 cnt;
__u16 size;
struct tld_metadata metadata[];
};
fields 'cnt' and 'size' would overflow. For example,
for 4K page, 'cnt' will be 4096/64 = 64. But for 64K page,
'cnt' will be 65536/64 = 1024 and 'cnt' is not enough for 1024.
For field 'size', it is okay for value 4K, but it is not enough
for 64K as maximum 'size' value is '64K - 1'.
To accommodate 64K page, '_Atomic __u8 cnt' becomes '_Atomic __u16 cnt'
and '__u16 size' becomes '__u32 size'. A few other places are adjusted
accordingly.
Cc: Amery Hung <ameryhung@gmail.com>
Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
---
tools/testing/selftests/bpf/prog_tests/task_local_data.h | 6 +++---
.../testing/selftests/bpf/prog_tests/test_task_local_data.c | 2 +-
tools/testing/selftests/bpf/progs/task_local_data.bpf.h | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/task_local_data.h b/tools/testing/selftests/bpf/prog_tests/task_local_data.h
index 2de38776a2d4..4c38f9a7bc90 100644
--- a/tools/testing/selftests/bpf/prog_tests/task_local_data.h
+++ b/tools/testing/selftests/bpf/prog_tests/task_local_data.h
@@ -94,8 +94,8 @@ struct tld_metadata {
};
struct tld_meta_u {
- _Atomic __u8 cnt;
- __u16 size;
+ _Atomic __u16 cnt;
+ __u32 size;
struct tld_metadata metadata[];
};
@@ -217,7 +217,7 @@ static int __tld_init_data_p(int map_fd)
static tld_key_t __tld_create_key(const char *name, size_t size, bool dyn_data)
{
int err, i, sz, off = 0;
- __u8 cnt;
+ __u16 cnt;
if (!TLD_READ_ONCE(tld_meta_p)) {
err = __tld_init_meta_p();
diff --git a/tools/testing/selftests/bpf/prog_tests/test_task_local_data.c b/tools/testing/selftests/bpf/prog_tests/test_task_local_data.c
index 9fd6306b455c..cc4d49222d9d 100644
--- a/tools/testing/selftests/bpf/prog_tests/test_task_local_data.c
+++ b/tools/testing/selftests/bpf/prog_tests/test_task_local_data.c
@@ -4,7 +4,7 @@
#include <test_progs.h>
#define TLD_FREE_DATA_ON_THREAD_EXIT
-#define TLD_DYN_DATA_SIZE 4096
+#define TLD_DYN_DATA_SIZE getpagesize()
#include "task_local_data.h"
struct test_tld_struct {
diff --git a/tools/testing/selftests/bpf/progs/task_local_data.bpf.h b/tools/testing/selftests/bpf/progs/task_local_data.bpf.h
index 432fff2af844..e13f239b46b0 100644
--- a/tools/testing/selftests/bpf/progs/task_local_data.bpf.h
+++ b/tools/testing/selftests/bpf/progs/task_local_data.bpf.h
@@ -80,8 +80,8 @@ struct tld_metadata {
};
struct tld_meta_u {
- __u8 cnt;
- __u16 size;
+ __u16 cnt;
+ __u32 size;
struct tld_metadata metadata[TLD_MAX_DATA_CNT];
};
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH bpf-next 2/2] selftests/bpf: Fix xdp_pull_data failure with 64K page
2026-01-20 21:09 [PATCH bpf-next 1/2] selftests/bpf: Fix task_local_data failure with 64K page Yonghong Song
@ 2026-01-20 21:09 ` Yonghong Song
2026-01-22 11:02 ` Alan Maguire
2026-01-22 8:00 ` [PATCH bpf-next 1/2] selftests/bpf: Fix task_local_data " Alan Maguire
1 sibling, 1 reply; 5+ messages in thread
From: Yonghong Song @ 2026-01-20 21:09 UTC (permalink / raw)
To: bpf
Cc: Alexei Starovoitov, Andrii Nakryiko, Daniel Borkmann, kernel-team,
Martin KaFai Lau, Amery Hung
If the argument 'pull_len' of run_test() is 'PULL_MAX' or
'PULL_MAX | PULL_PLUS_ONE', the eventual pull_len size
will close to the page size. On arm64 systems with 64K pages,
the pull_len size will be close to 64K. But the existing buffer
will be close to 9000 which is not enough to pull.
So for 64K page size and selective run_tests(), increase
buff size from 9000 to 90000 to ensure enough buffer space
to pull.
Cc: Amery Hung <ameryhung@gmail.com>
Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
---
.../selftests/bpf/prog_tests/xdp_pull_data.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c b/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
index efa350d04ec5..32ac99406d28 100644
--- a/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
+++ b/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
@@ -8,6 +8,7 @@
#define PULL_PLUS_ONE (1 << 30)
#define XDP_PACKET_HEADROOM 256
+#define PAGE_SIZE_64K 65536
/* Find headroom and tailroom occupied by struct xdp_frame and struct
* skb_shared_info so that we can calculate the maximum pull lengths for
@@ -114,12 +115,17 @@ static void test_xdp_pull_data_basic(void)
{
u32 pg_sz, max_meta_len, max_data_len;
struct test_xdp_pull_data *skel;
+ int buff_len;
skel = test_xdp_pull_data__open_and_load();
if (!ASSERT_OK_PTR(skel, "test_xdp_pull_data__open_and_load"))
return;
pg_sz = sysconf(_SC_PAGE_SIZE);
+ if (pg_sz == PAGE_SIZE_64K)
+ buff_len = 90000;
+ else
+ buff_len = 9000;
if (find_xdp_sizes(skel, pg_sz))
goto out;
@@ -140,13 +146,13 @@ static void test_xdp_pull_data_basic(void)
run_test(skel, XDP_PASS, pg_sz, 9000, 0, 1025, 1025);
/* multi-buf pkt, empty linear data area, pull requires memmove */
- run_test(skel, XDP_PASS, pg_sz, 9000, 0, 0, PULL_MAX);
+ run_test(skel, XDP_PASS, pg_sz, buff_len, 0, 0, PULL_MAX);
/* multi-buf pkt, no headroom */
- run_test(skel, XDP_PASS, pg_sz, 9000, max_meta_len, 1024, PULL_MAX);
+ run_test(skel, XDP_PASS, pg_sz, buff_len, max_meta_len, 1024, PULL_MAX);
/* multi-buf pkt, no tailroom, pull requires memmove */
- run_test(skel, XDP_PASS, pg_sz, 9000, 0, max_data_len, PULL_MAX);
+ run_test(skel, XDP_PASS, pg_sz, buff_len, 0, max_data_len, PULL_MAX);
/* Test cases with invalid pull length */
@@ -154,7 +160,7 @@ static void test_xdp_pull_data_basic(void)
run_test(skel, XDP_DROP, pg_sz, 2048, 0, 2048, 2049);
/* multi-buf pkt with no space left in linear data area */
- run_test(skel, XDP_DROP, pg_sz, 9000, max_meta_len, max_data_len,
+ run_test(skel, XDP_DROP, pg_sz, buff_len, max_meta_len, max_data_len,
PULL_MAX | PULL_PLUS_ONE);
/* multi-buf pkt, empty linear data area */
@@ -165,7 +171,7 @@ static void test_xdp_pull_data_basic(void)
PULL_MAX | PULL_PLUS_ONE);
/* multi-buf pkt, no tailroom */
- run_test(skel, XDP_DROP, pg_sz, 9000, 0, max_data_len,
+ run_test(skel, XDP_DROP, pg_sz, buff_len, 0, max_data_len,
PULL_MAX | PULL_PLUS_ONE);
out:
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH bpf-next 1/2] selftests/bpf: Fix task_local_data failure with 64K page
2026-01-20 21:09 [PATCH bpf-next 1/2] selftests/bpf: Fix task_local_data failure with 64K page Yonghong Song
2026-01-20 21:09 ` [PATCH bpf-next 2/2] selftests/bpf: Fix xdp_pull_data " Yonghong Song
@ 2026-01-22 8:00 ` Alan Maguire
1 sibling, 0 replies; 5+ messages in thread
From: Alan Maguire @ 2026-01-22 8:00 UTC (permalink / raw)
To: Yonghong Song, bpf
Cc: Alexei Starovoitov, Andrii Nakryiko, Daniel Borkmann, kernel-team,
Martin KaFai Lau, Amery Hung
On 20/01/2026 21:09, Yonghong Song wrote:
> On arm64 systems with 64K pages, the selftest task_local_data has the following
> failures:
> ...
> test_task_local_data_basic:PASS:tld_create_key 0 nsec
> test_task_local_data_basic:FAIL:tld_create_key unexpected tld_create_key: actual 0 != expected -28
> ...
> test_task_local_data_basic_thread:PASS:run task_main 0 nsec
> test_task_local_data_basic_thread:FAIL:task_main retval unexpected error: 2 (errno 0)
> test_task_local_data_basic_thread:FAIL:tld_get_data value0 unexpected tld_get_data value0: actual 0 != expected 6268
> ...
> #447/1 task_local_data/task_local_data_basic:FAIL
> ...
> #447/2 task_local_data/task_local_data_race:FAIL
> #447 task_local_data:FAIL
>
> When TLD_DYN_DATA_SIZE is 64K page size, for
> struct tld_meta_u {
> _Atomic __u8 cnt;
> __u16 size;
> struct tld_metadata metadata[];
> };
> fields 'cnt' and 'size' would overflow. For example,
> for 4K page, 'cnt' will be 4096/64 = 64. But for 64K page,
> 'cnt' will be 65536/64 = 1024 and 'cnt' is not enough for 1024.
> For field 'size', it is okay for value 4K, but it is not enough
> for 64K as maximum 'size' value is '64K - 1'.
>
> To accommodate 64K page, '_Atomic __u8 cnt' becomes '_Atomic __u16 cnt'
> and '__u16 size' becomes '__u32 size'. A few other places are adjusted
> accordingly.
>
> Cc: Amery Hung <ameryhung@gmail.com>
> Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>
Tested-by: Alan Maguire <alan.maguire@oracle.com>
> ---
> tools/testing/selftests/bpf/prog_tests/task_local_data.h | 6 +++---
> .../testing/selftests/bpf/prog_tests/test_task_local_data.c | 2 +-
> tools/testing/selftests/bpf/progs/task_local_data.bpf.h | 4 ++--
> 3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/task_local_data.h b/tools/testing/selftests/bpf/prog_tests/task_local_data.h
> index 2de38776a2d4..4c38f9a7bc90 100644
> --- a/tools/testing/selftests/bpf/prog_tests/task_local_data.h
> +++ b/tools/testing/selftests/bpf/prog_tests/task_local_data.h
> @@ -94,8 +94,8 @@ struct tld_metadata {
> };
>
> struct tld_meta_u {
> - _Atomic __u8 cnt;
> - __u16 size;
> + _Atomic __u16 cnt;
> + __u32 size;
> struct tld_metadata metadata[];
> };
>
> @@ -217,7 +217,7 @@ static int __tld_init_data_p(int map_fd)
> static tld_key_t __tld_create_key(const char *name, size_t size, bool dyn_data)
> {
> int err, i, sz, off = 0;
> - __u8 cnt;
> + __u16 cnt;
>
> if (!TLD_READ_ONCE(tld_meta_p)) {
> err = __tld_init_meta_p();
> diff --git a/tools/testing/selftests/bpf/prog_tests/test_task_local_data.c b/tools/testing/selftests/bpf/prog_tests/test_task_local_data.c
> index 9fd6306b455c..cc4d49222d9d 100644
> --- a/tools/testing/selftests/bpf/prog_tests/test_task_local_data.c
> +++ b/tools/testing/selftests/bpf/prog_tests/test_task_local_data.c
> @@ -4,7 +4,7 @@
> #include <test_progs.h>
>
> #define TLD_FREE_DATA_ON_THREAD_EXIT
> -#define TLD_DYN_DATA_SIZE 4096
> +#define TLD_DYN_DATA_SIZE getpagesize()
> #include "task_local_data.h"
>
> struct test_tld_struct {
> diff --git a/tools/testing/selftests/bpf/progs/task_local_data.bpf.h b/tools/testing/selftests/bpf/progs/task_local_data.bpf.h
> index 432fff2af844..e13f239b46b0 100644
> --- a/tools/testing/selftests/bpf/progs/task_local_data.bpf.h
> +++ b/tools/testing/selftests/bpf/progs/task_local_data.bpf.h
> @@ -80,8 +80,8 @@ struct tld_metadata {
> };
>
> struct tld_meta_u {
> - __u8 cnt;
> - __u16 size;
> + __u16 cnt;
> + __u32 size;
> struct tld_metadata metadata[TLD_MAX_DATA_CNT];
> };
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH bpf-next 2/2] selftests/bpf: Fix xdp_pull_data failure with 64K page
2026-01-20 21:09 ` [PATCH bpf-next 2/2] selftests/bpf: Fix xdp_pull_data " Yonghong Song
@ 2026-01-22 11:02 ` Alan Maguire
2026-01-22 15:31 ` Yonghong Song
0 siblings, 1 reply; 5+ messages in thread
From: Alan Maguire @ 2026-01-22 11:02 UTC (permalink / raw)
To: Yonghong Song, bpf
Cc: Alexei Starovoitov, Andrii Nakryiko, Daniel Borkmann, kernel-team,
Martin KaFai Lau, Amery Hung
On 20/01/2026 21:09, Yonghong Song wrote:
> If the argument 'pull_len' of run_test() is 'PULL_MAX' or
> 'PULL_MAX | PULL_PLUS_ONE', the eventual pull_len size
> will close to the page size. On arm64 systems with 64K pages,
> the pull_len size will be close to 64K. But the existing buffer
> will be close to 9000 which is not enough to pull.
>
> So for 64K page size and selective run_tests(), increase
> buff size from 9000 to 90000 to ensure enough buffer space
> to pull.
>
> Cc: Amery Hung <ameryhung@gmail.com>
> Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Tested-by: Alan Maguire <alan.maguire@oracle.com>
one optional suggestion below..
> ---
> .../selftests/bpf/prog_tests/xdp_pull_data.c | 16 +++++++++++-----
> 1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c b/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
> index efa350d04ec5..32ac99406d28 100644
> --- a/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
> +++ b/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
> @@ -8,6 +8,7 @@
> #define PULL_PLUS_ONE (1 << 30)
>
> #define XDP_PACKET_HEADROOM 256
> +#define PAGE_SIZE_64K 65536
>
> /* Find headroom and tailroom occupied by struct xdp_frame and struct
> * skb_shared_info so that we can calculate the maximum pull lengths for
> @@ -114,12 +115,17 @@ static void test_xdp_pull_data_basic(void)
> {
> u32 pg_sz, max_meta_len, max_data_len;
> struct test_xdp_pull_data *skel;
> + int buff_len;
>
> skel = test_xdp_pull_data__open_and_load();
> if (!ASSERT_OK_PTR(skel, "test_xdp_pull_data__open_and_load"))
> return;
>
> pg_sz = sysconf(_SC_PAGE_SIZE);
> + if (pg_sz == PAGE_SIZE_64K)
> + buff_len = 90000;
> + else
> + buff_len = 9000;
>
nit: should we generalize here and just use 1.5 * pg_sz; i.e.
buff_len = pg_sz + (pg_sz/2);
that would eliminate the need for the 64k page size #define.
> if (find_xdp_sizes(skel, pg_sz))
> goto out;
> @@ -140,13 +146,13 @@ static void test_xdp_pull_data_basic(void)
> run_test(skel, XDP_PASS, pg_sz, 9000, 0, 1025, 1025);
>
> /* multi-buf pkt, empty linear data area, pull requires memmove */
> - run_test(skel, XDP_PASS, pg_sz, 9000, 0, 0, PULL_MAX);
> + run_test(skel, XDP_PASS, pg_sz, buff_len, 0, 0, PULL_MAX);
>
> /* multi-buf pkt, no headroom */
> - run_test(skel, XDP_PASS, pg_sz, 9000, max_meta_len, 1024, PULL_MAX);
> + run_test(skel, XDP_PASS, pg_sz, buff_len, max_meta_len, 1024, PULL_MAX);
>
> /* multi-buf pkt, no tailroom, pull requires memmove */
> - run_test(skel, XDP_PASS, pg_sz, 9000, 0, max_data_len, PULL_MAX);
> + run_test(skel, XDP_PASS, pg_sz, buff_len, 0, max_data_len, PULL_MAX);
>
> /* Test cases with invalid pull length */
>
> @@ -154,7 +160,7 @@ static void test_xdp_pull_data_basic(void)
> run_test(skel, XDP_DROP, pg_sz, 2048, 0, 2048, 2049);
>
> /* multi-buf pkt with no space left in linear data area */
> - run_test(skel, XDP_DROP, pg_sz, 9000, max_meta_len, max_data_len,
> + run_test(skel, XDP_DROP, pg_sz, buff_len, max_meta_len, max_data_len,
> PULL_MAX | PULL_PLUS_ONE);
>
> /* multi-buf pkt, empty linear data area */
> @@ -165,7 +171,7 @@ static void test_xdp_pull_data_basic(void)
> PULL_MAX | PULL_PLUS_ONE);
>
> /* multi-buf pkt, no tailroom */
> - run_test(skel, XDP_DROP, pg_sz, 9000, 0, max_data_len,
> + run_test(skel, XDP_DROP, pg_sz, buff_len, 0, max_data_len,
> PULL_MAX | PULL_PLUS_ONE);
>
> out:
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH bpf-next 2/2] selftests/bpf: Fix xdp_pull_data failure with 64K page
2026-01-22 11:02 ` Alan Maguire
@ 2026-01-22 15:31 ` Yonghong Song
0 siblings, 0 replies; 5+ messages in thread
From: Yonghong Song @ 2026-01-22 15:31 UTC (permalink / raw)
To: Alan Maguire, bpf
Cc: Alexei Starovoitov, Andrii Nakryiko, Daniel Borkmann, kernel-team,
Martin KaFai Lau, Amery Hung
On 1/22/26 3:02 AM, Alan Maguire wrote:
> On 20/01/2026 21:09, Yonghong Song wrote:
>> If the argument 'pull_len' of run_test() is 'PULL_MAX' or
>> 'PULL_MAX | PULL_PLUS_ONE', the eventual pull_len size
>> will close to the page size. On arm64 systems with 64K pages,
>> the pull_len size will be close to 64K. But the existing buffer
>> will be close to 9000 which is not enough to pull.
>>
>> So for 64K page size and selective run_tests(), increase
>> buff size from 9000 to 90000 to ensure enough buffer space
>> to pull.
>>
>> Cc: Amery Hung <ameryhung@gmail.com>
>> Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
> Tested-by: Alan Maguire <alan.maguire@oracle.com>
>
> one optional suggestion below..
>
>
>> ---
>> .../selftests/bpf/prog_tests/xdp_pull_data.c | 16 +++++++++++-----
>> 1 file changed, 11 insertions(+), 5 deletions(-)
>>
>> diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c b/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
>> index efa350d04ec5..32ac99406d28 100644
>> --- a/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
>> +++ b/tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
>> @@ -8,6 +8,7 @@
>> #define PULL_PLUS_ONE (1 << 30)
>>
>> #define XDP_PACKET_HEADROOM 256
>> +#define PAGE_SIZE_64K 65536
>>
>> /* Find headroom and tailroom occupied by struct xdp_frame and struct
>> * skb_shared_info so that we can calculate the maximum pull lengths for
>> @@ -114,12 +115,17 @@ static void test_xdp_pull_data_basic(void)
>> {
>> u32 pg_sz, max_meta_len, max_data_len;
>> struct test_xdp_pull_data *skel;
>> + int buff_len;
>>
>> skel = test_xdp_pull_data__open_and_load();
>> if (!ASSERT_OK_PTR(skel, "test_xdp_pull_data__open_and_load"))
>> return;
>>
>> pg_sz = sysconf(_SC_PAGE_SIZE);
>> + if (pg_sz == PAGE_SIZE_64K)
>> + buff_len = 90000;
>> + else
>> + buff_len = 9000;
>>
> nit: should we generalize here and just use 1.5 * pg_sz; i.e.
>
> buff_len = pg_sz + (pg_sz/2);
>
> that would eliminate the need for the 64k page size #define.
Thanks for suggestion! This indeed simpler. Will make the change in v2.
>
>> if (find_xdp_sizes(skel, pg_sz))
>> goto out;
>> @@ -140,13 +146,13 @@ static void test_xdp_pull_data_basic(void)
>> run_test(skel, XDP_PASS, pg_sz, 9000, 0, 1025, 1025);
>>
>> /* multi-buf pkt, empty linear data area, pull requires memmove */
>> - run_test(skel, XDP_PASS, pg_sz, 9000, 0, 0, PULL_MAX);
>> + run_test(skel, XDP_PASS, pg_sz, buff_len, 0, 0, PULL_MAX);
>>
>> /* multi-buf pkt, no headroom */
>> - run_test(skel, XDP_PASS, pg_sz, 9000, max_meta_len, 1024, PULL_MAX);
>> + run_test(skel, XDP_PASS, pg_sz, buff_len, max_meta_len, 1024, PULL_MAX);
>>
>> /* multi-buf pkt, no tailroom, pull requires memmove */
>> - run_test(skel, XDP_PASS, pg_sz, 9000, 0, max_data_len, PULL_MAX);
>> + run_test(skel, XDP_PASS, pg_sz, buff_len, 0, max_data_len, PULL_MAX);
>>
>> /* Test cases with invalid pull length */
>>
>> @@ -154,7 +160,7 @@ static void test_xdp_pull_data_basic(void)
>> run_test(skel, XDP_DROP, pg_sz, 2048, 0, 2048, 2049);
>>
>> /* multi-buf pkt with no space left in linear data area */
>> - run_test(skel, XDP_DROP, pg_sz, 9000, max_meta_len, max_data_len,
>> + run_test(skel, XDP_DROP, pg_sz, buff_len, max_meta_len, max_data_len,
>> PULL_MAX | PULL_PLUS_ONE);
>>
>> /* multi-buf pkt, empty linear data area */
>> @@ -165,7 +171,7 @@ static void test_xdp_pull_data_basic(void)
>> PULL_MAX | PULL_PLUS_ONE);
>>
>> /* multi-buf pkt, no tailroom */
>> - run_test(skel, XDP_DROP, pg_sz, 9000, 0, max_data_len,
>> + run_test(skel, XDP_DROP, pg_sz, buff_len, 0, max_data_len,
>> PULL_MAX | PULL_PLUS_ONE);
>>
>> out:
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-01-22 15:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-20 21:09 [PATCH bpf-next 1/2] selftests/bpf: Fix task_local_data failure with 64K page Yonghong Song
2026-01-20 21:09 ` [PATCH bpf-next 2/2] selftests/bpf: Fix xdp_pull_data " Yonghong Song
2026-01-22 11:02 ` Alan Maguire
2026-01-22 15:31 ` Yonghong Song
2026-01-22 8:00 ` [PATCH bpf-next 1/2] selftests/bpf: Fix task_local_data " Alan Maguire
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox