On Mon, Mar 27, 2023 at 9:37 AM Stanislav Fomichev <sdf@xxxxxxxxxx> 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@xxxxxxxxx> > > 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