All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Vernet <void@manifault.com>
To: Eduard Zingerman <eddyz87@gmail.com>
Cc: bpf@vger.kernel.org, ast@kernel.org, andrii@kernel.org,
	daniel@iogearbox.net, martin.lau@linux.dev, kernel-team@fb.com,
	yonghong.song@linux.dev
Subject: Re: [PATCH bpf-next v1 5/8] selftests/bpf: bad_struct_ops test
Date: Wed, 28 Feb 2024 14:11:18 -0600	[thread overview]
Message-ID: <20240228201118.GA164963@maniforge> (raw)
In-Reply-To: <8771665b7c0d607896b533e8c973785b28b5af0f.camel@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2084 bytes --]

On Wed, Feb 28, 2024 at 10:06:21PM +0200, Eduard Zingerman wrote:
> On Wed, 2024-02-28 at 12:15 -0600, David Vernet wrote:
> [...]
> 
> > > +static libbpf_print_fn_t old_print_cb;
> > > +static bool msg_found;
> > > +
> > > +static int print_cb(enum libbpf_print_level level, const char *fmt, va_list args)
> > > +{
> > > +	old_print_cb(level, fmt, args);
> > > +	if (level == LIBBPF_WARN && strncmp(fmt, EXPECTED_MSG, strlen(EXPECTED_MSG)) == 0)
> > > +		msg_found = true;
> > > +
> > > +	return 0;
> > > +}
> > 
> > Not necessary at all for this patch set / just an observation, but it would be
> > nice to have this be something offered by the core prog_tests framework
> > (meaning, the ability to assert libbpf output for a testcase).
> 
> This might be useful, I will add a utility function for it (probably two).
> 
> [...]
> 
> > > diff --git a/tools/testing/selftests/bpf/progs/bad_struct_ops.c b/tools/testing/selftests/bpf/progs/bad_struct_ops.c
> > > new file mode 100644
> > > index 000000000000..9c103afbfdb1
> > > --- /dev/null
> > > +++ b/tools/testing/selftests/bpf/progs/bad_struct_ops.c
> > > @@ -0,0 +1,17 @@
> > > +// SPDX-License-Identifier: GPL-2.0
> > > +
> > > +#include <vmlinux.h>
> > > +#include <bpf/bpf_helpers.h>
> > > +#include <bpf/bpf_tracing.h>
> > > +#include "../bpf_testmod/bpf_testmod.h"
> > > +
> > > +char _license[] SEC("license") = "GPL";
> > > +
> > > +SEC("struct_ops/test_1")
> > > +int BPF_PROG(test_1) { return 0; }
> > > +
> > > +SEC(".struct_ops.link")
> > > +struct bpf_testmod_ops testmod_1 = { .test_1 = (void *)test_1 };
> > 
> > Just to make be 100% sure that we're isolating the issue under test, should we
> > also add a .test_2 prog and add it to the struct bpf_testmod_ops map?
> 
> You are concerned that error might be confused with libbpf insisting
> that '.test_2' should be present, right?
> libbpf allows NULL members but I can add '.test_2' here, no problem.

Correct, and yes that's true. Feel free to ignore if you think it's cleaner
without, totally up to you.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

  reply	other threads:[~2024-02-28 20:11 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-27 20:45 [PATCH bpf-next v1 0/8] libbpf: type suffixes and autocreate flag for struct_ops maps Eduard Zingerman
2024-02-27 20:45 ` [PATCH bpf-next v1 1/8] libbpf: allow version suffixes (___smth) for struct_ops types Eduard Zingerman
2024-02-27 21:47   ` Kui-Feng Lee
2024-02-27 21:49     ` Eduard Zingerman
2024-02-28 16:29   ` David Vernet
2024-02-28 17:28     ` Eduard Zingerman
2024-02-28 17:30       ` David Vernet
2024-02-28 23:21       ` Andrii Nakryiko
2024-02-28 23:37         ` Eduard Zingerman
2024-02-27 20:45 ` [PATCH bpf-next v1 2/8] libbpf: tie struct_ops programs to kernel BTF ids, not to local ids Eduard Zingerman
2024-02-28  7:41   ` Martin KaFai Lau
2024-02-28 17:23   ` David Vernet
2024-02-28 17:40     ` Eduard Zingerman
2024-02-28 17:50       ` David Vernet
2024-02-28 23:28   ` Andrii Nakryiko
2024-02-28 23:31     ` Eduard Zingerman
2024-02-28 23:34       ` Andrii Nakryiko
2024-02-27 20:45 ` [PATCH bpf-next v1 3/8] libbpf: honor autocreate flag for struct_ops maps Eduard Zingerman
2024-02-28 17:44   ` David Vernet
2024-02-27 20:45 ` [PATCH bpf-next v1 4/8] selftests/bpf: test struct_ops map definition with type suffix Eduard Zingerman
2024-02-28 18:03   ` David Vernet
2024-02-27 20:45 ` [PATCH bpf-next v1 5/8] selftests/bpf: bad_struct_ops test Eduard Zingerman
2024-02-28 18:15   ` David Vernet
2024-02-28 20:06     ` Eduard Zingerman
2024-02-28 20:11       ` David Vernet [this message]
2024-02-28 23:40   ` Andrii Nakryiko
2024-02-28 23:44     ` Eduard Zingerman
2024-02-28 23:56       ` Andrii Nakryiko
2024-02-29  0:06         ` Eduard Zingerman
2024-02-27 20:45 ` [PATCH bpf-next v1 6/8] selftests/bpf: test autocreate behavior for struct_ops maps Eduard Zingerman
2024-02-28 18:29   ` David Vernet
2024-02-28 18:34     ` David Vernet
2024-02-28 19:31     ` Eduard Zingerman
2024-02-28 23:43   ` Andrii Nakryiko
2024-02-28 23:55     ` Eduard Zingerman
2024-02-29  0:02       ` Andrii Nakryiko
2024-02-29  0:56         ` Martin KaFai Lau
2024-03-01  1:28         ` Eduard Zingerman
2024-03-01 18:03           ` Andrii Nakryiko
2024-03-01 18:07             ` Eduard Zingerman
2024-02-27 20:45 ` [PATCH bpf-next v1 7/8] libbpf: sync progs autoload with maps autocreate " Eduard Zingerman
2024-02-27 22:55   ` Kui-Feng Lee
2024-02-27 23:09     ` Eduard Zingerman
2024-02-27 23:16       ` Kui-Feng Lee
2024-02-27 23:30         ` Eduard Zingerman
2024-02-27 23:40           ` Kui-Feng Lee
2024-02-27 23:43             ` Eduard Zingerman
2024-02-28  0:12           ` Kui-Feng Lee
2024-02-28  0:50             ` Eduard Zingerman
2024-02-28  2:10   ` Martin KaFai Lau
2024-02-28 12:36     ` Eduard Zingerman
2024-02-28 23:55     ` Andrii Nakryiko
2024-02-29  0:04       ` Eduard Zingerman
2024-02-29  0:14         ` Andrii Nakryiko
2024-02-29  0:25       ` Martin KaFai Lau
2024-02-29  0:30         ` Andrii Nakryiko
2024-02-29  0:37           ` Martin KaFai Lau
2024-02-29  0:40             ` Eduard Zingerman
2024-02-27 20:45 ` [PATCH bpf-next v1 8/8] selftests/bpf: tests for struct_ops autoload/autocreate toggling Eduard Zingerman
2024-02-28 18:36   ` David Vernet
2024-02-28 20:10     ` Eduard Zingerman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240228201118.GA164963@maniforge \
    --to=void@manifault.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=eddyz87@gmail.com \
    --cc=kernel-team@fb.com \
    --cc=martin.lau@linux.dev \
    --cc=yonghong.song@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.