All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf-next] selftests/bpf: Don't assume page size is 4096
@ 2023-03-26  9:53 Hengqi Chen
  2023-03-27 16:37 ` Stanislav Fomichev
  2023-03-27 18:50 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 4+ messages in thread
From: Hengqi Chen @ 2023-03-26  9:53 UTC (permalink / raw)
  To: bpf; +Cc: hengqi.chen

The verifier test creates BPF ringbuf maps using hard-coded
4096 as max_entries. Some tests will fail if the page size
of the running kernel is not 4096. Use getpagesize() instead.

Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
---
 tools/testing/selftests/bpf/test_verifier.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
index 5b90eef09ade..e4657c5bc3f1 100644
--- a/tools/testing/selftests/bpf/test_verifier.c
+++ b/tools/testing/selftests/bpf/test_verifier.c
@@ -1079,7 +1079,7 @@ static void do_test_fixup(struct bpf_test *test, enum bpf_prog_type prog_type,
 	}
 	if (*fixup_map_ringbuf) {
 		map_fds[20] = create_map(BPF_MAP_TYPE_RINGBUF, 0,
-					   0, 4096);
+					 0, getpagesize());
 		do {
 			prog[*fixup_map_ringbuf].imm = map_fds[20];
 			fixup_map_ringbuf++;
--
2.31.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH bpf-next] selftests/bpf: Don't assume page size is 4096
  2023-03-26  9:53 [PATCH bpf-next] selftests/bpf: Don't assume page size is 4096 Hengqi Chen
@ 2023-03-27 16:37 ` Stanislav Fomichev
  2023-03-27 18:41   ` Andrii Nakryiko
  2023-03-27 18:50 ` patchwork-bot+netdevbpf
  1 sibling, 1 reply; 4+ messages in thread
From: Stanislav Fomichev @ 2023-03-27 16:37 UTC (permalink / raw)
  To: Hengqi Chen; +Cc: bpf

On 03/26, Hengqi Chen wrote:
> The verifier test creates BPF ringbuf maps using hard-coded
> 4096 as max_entries. Some tests will fail if the page size
> of the running kernel is not 4096. Use getpagesize() instead.

> Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>

Can you share which platform that is? The fix seems ok, but
I'm assuming that we have many more places where 4k is hardcoded :-)


> ---
>   tools/testing/selftests/bpf/test_verifier.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

> diff --git a/tools/testing/selftests/bpf/test_verifier.c  
> b/tools/testing/selftests/bpf/test_verifier.c
> index 5b90eef09ade..e4657c5bc3f1 100644
> --- a/tools/testing/selftests/bpf/test_verifier.c
> +++ b/tools/testing/selftests/bpf/test_verifier.c
> @@ -1079,7 +1079,7 @@ static void do_test_fixup(struct bpf_test *test,  
> enum bpf_prog_type prog_type,
>   	}
>   	if (*fixup_map_ringbuf) {
>   		map_fds[20] = create_map(BPF_MAP_TYPE_RINGBUF, 0,
> -					   0, 4096);
> +					 0, getpagesize());
>   		do {
>   			prog[*fixup_map_ringbuf].imm = map_fds[20];
>   			fixup_map_ringbuf++;
> --
> 2.31.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH bpf-next] selftests/bpf: Don't assume page size is 4096
  2023-03-27 16:37 ` Stanislav Fomichev
@ 2023-03-27 18:41   ` Andrii Nakryiko
  0 siblings, 0 replies; 4+ messages in thread
From: Andrii Nakryiko @ 2023-03-27 18:41 UTC (permalink / raw)
  To: Stanislav Fomichev; +Cc: Hengqi Chen, bpf

On Mon, Mar 27, 2023 at 9:37 AM Stanislav Fomichev <sdf@google.com> wrote:
>
> On 03/26, Hengqi Chen wrote:
> > The verifier test creates BPF ringbuf maps using hard-coded
> > 4096 as max_entries. Some tests will fail if the page size
> > of the running kernel is not 4096. Use getpagesize() instead.
>
> > Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
>
> Can you share which platform that is? The fix seems ok, but
> I'm assuming that we have many more places where 4k is hardcoded :-)

We did have a bunch of fixes over time removing hard-coded page size
usage, so there should be fewer such places than you might think :)
But quick grepping for "4096" shows a bunch of matches. Not all of
them are page size, but it would indeed be good to audit.

For now, I applied this patch, as it is correct and helps. Thanks!

>
>
> > ---
> >   tools/testing/selftests/bpf/test_verifier.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
>
> > diff --git a/tools/testing/selftests/bpf/test_verifier.c
> > b/tools/testing/selftests/bpf/test_verifier.c
> > index 5b90eef09ade..e4657c5bc3f1 100644
> > --- a/tools/testing/selftests/bpf/test_verifier.c
> > +++ b/tools/testing/selftests/bpf/test_verifier.c
> > @@ -1079,7 +1079,7 @@ static void do_test_fixup(struct bpf_test *test,
> > enum bpf_prog_type prog_type,
> >       }
> >       if (*fixup_map_ringbuf) {
> >               map_fds[20] = create_map(BPF_MAP_TYPE_RINGBUF, 0,
> > -                                        0, 4096);
> > +                                      0, getpagesize());
> >               do {
> >                       prog[*fixup_map_ringbuf].imm = map_fds[20];
> >                       fixup_map_ringbuf++;
> > --
> > 2.31.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH bpf-next] selftests/bpf: Don't assume page size is 4096
  2023-03-26  9:53 [PATCH bpf-next] selftests/bpf: Don't assume page size is 4096 Hengqi Chen
  2023-03-27 16:37 ` Stanislav Fomichev
@ 2023-03-27 18:50 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-03-27 18:50 UTC (permalink / raw)
  To: Hengqi Chen; +Cc: bpf

Hello:

This patch was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko <andrii@kernel.org>:

On Sun, 26 Mar 2023 09:53:41 +0000 you wrote:
> The verifier test creates BPF ringbuf maps using hard-coded
> 4096 as max_entries. Some tests will fail if the page size
> of the running kernel is not 4096. Use getpagesize() instead.
> 
> Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
> ---
>  tools/testing/selftests/bpf/test_verifier.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> [...]

Here is the summary with links:
  - [bpf-next] selftests/bpf: Don't assume page size is 4096
    https://git.kernel.org/bpf/bpf-next/c/7283137a7622

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] 4+ messages in thread

end of thread, other threads:[~2023-03-27 18:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-26  9:53 [PATCH bpf-next] selftests/bpf: Don't assume page size is 4096 Hengqi Chen
2023-03-27 16:37 ` Stanislav Fomichev
2023-03-27 18:41   ` Andrii Nakryiko
2023-03-27 18: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.