All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tao Chen <chen.dylane@linux.dev>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org,
	martin.lau@linux.dev, eddyz87@gmail.com, song@kernel.org,
	yonghong.song@linux.dev, john.fastabend@gmail.com,
	kpsingh@kernel.org, sdf@fomichev.me, haoluo@google.com,
	jolsa@kernel.org, willemb@google.com, kerneljasonxing@gmail.com,
	bpf@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH bpf-next v2 2/2] bpf/selftests: Add selftests for token info
Date: Wed, 16 Jul 2025 13:28:32 +0800	[thread overview]
Message-ID: <d9716ac8-b6b1-4524-8c94-2f7261f9b5cf@linux.dev> (raw)
In-Reply-To: <CAEf4Bza8FVL55qLds5ZWaKuz5Hw_r+bwg-MeXWX9H7ZsA_8ZJw@mail.gmail.com>

在 2025/7/16 05:51, Andrii Nakryiko 写道:
> On Mon, Jul 14, 2025 at 8:59 PM Tao Chen <chen.dylane@linux.dev> wrote:
>>
>> A previous change added bpf_token_info to get token info with
>> bpf_get_obj_info_by_fd, this patch adds a new test for token info.
>>
>>   #461/12  token/bpf_token_info:OK
>>
>> Signed-off-by: Tao Chen <chen.dylane@linux.dev>
>> ---
>>   .../testing/selftests/bpf/prog_tests/token.c  | 39 +++++++++++++++++++
>>   1 file changed, 39 insertions(+)
>>
>> diff --git a/tools/testing/selftests/bpf/prog_tests/token.c b/tools/testing/selftests/bpf/prog_tests/token.c
>> index cfc032b910c..a16f25bdd4c 100644
>> --- a/tools/testing/selftests/bpf/prog_tests/token.c
>> +++ b/tools/testing/selftests/bpf/prog_tests/token.c
>> @@ -1047,6 +1047,36 @@ static int userns_obj_priv_implicit_token_envvar(int mnt_fd, struct token_lsm *l
>>
>>   #define bit(n) (1ULL << (n))
>>
>> +static int userns_bpf_token_info(int mnt_fd, struct token_lsm *lsm_skel)
>> +{
>> +       int err, token_fd = -1;
>> +       struct bpf_token_info info;
>> +       u32 len = sizeof(struct bpf_token_info);
>> +
>> +       /* create BPF token from BPF FS mount */
>> +       token_fd = bpf_token_create(mnt_fd, NULL);
>> +       if (!ASSERT_GT(token_fd, 0, "token_create")) {
>> +               err = -EINVAL;
>> +               goto cleanup;
>> +       }
>> +
>> +       memset(&info, 0, len);
>> +       err = bpf_obj_get_info_by_fd(token_fd, &info, &len);
>> +       if (!ASSERT_ERR(err, "bpf_obj_get_token_info"))
>> +               goto cleanup;
>> +       if (!ASSERT_EQ(info.allowed_cmds, bit(BPF_MAP_CREATE), "token_info_cmds_map_create"))
>> +               goto cleanup;
>> +       if (!ASSERT_EQ(info.allowed_progs, bit(BPF_PROG_TYPE_XDP), "token_info_progs_xdp"))
>> +               goto cleanup;
> 
> nit: there is no harm in just doing a few ASSERT_EQ() checks
> unconditionally, it's cleaner and more succinct (and either way you
> return err == 0 in this case)
>

It seems necessary to assign the err when ASSERT_EQ fails, will fix it 
in v3, thanks.

>> +
>> +       /* The BPF_PROG_TYPE_EXT is not set in token */
>> +       ASSERT_EQ(info.allowed_progs, bit(BPF_PROG_TYPE_EXT), "token_info_progs_ext");
>> +
>> +cleanup:
>> +       zclose(token_fd);
>> +       return err;
>> +}
>> +
>>   void test_token(void)
>>   {
>>          if (test__start_subtest("map_token")) {
>> @@ -1150,4 +1180,13 @@ void test_token(void)
>>
>>                  subtest_userns(&opts, userns_obj_priv_implicit_token_envvar);
>>          }
>> +       if (test__start_subtest("bpf_token_info")) {
>> +               struct bpffs_opts opts = {
>> +                       .cmds = bit(BPF_MAP_CREATE),
>> +                       .progs = bit(BPF_PROG_TYPE_XDP),
>> +                       .attachs = ~0ULL,
>> +               };
>> +
>> +               subtest_userns(&opts, userns_bpf_token_info);
>> +       }
>>   }
>> --
>> 2.48.1
>>


-- 
Best Regards
Tao Chen

  reply	other threads:[~2025-07-16  5:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-15  3:58 [PATCH bpf-next v2 1/2] bpf: Add struct bpf_token_info Tao Chen
2025-07-15  3:58 ` [PATCH bpf-next v2 2/2] bpf/selftests: Add selftests for token info Tao Chen
2025-07-15 21:51   ` Andrii Nakryiko
2025-07-16  5:28     ` Tao Chen [this message]
2025-07-15 21:52 ` [PATCH bpf-next v2 1/2] bpf: Add struct bpf_token_info Andrii Nakryiko
2025-07-16  5:29   ` Tao Chen

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=d9716ac8-b6b1-4524-8c94-2f7261f9b5cf@linux.dev \
    --to=chen.dylane@linux.dev \
    --cc=andrii.nakryiko@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=eddyz87@gmail.com \
    --cc=haoluo@google.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kerneljasonxing@gmail.com \
    --cc=kpsingh@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.lau@linux.dev \
    --cc=sdf@fomichev.me \
    --cc=song@kernel.org \
    --cc=willemb@google.com \
    --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.