All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shuyi Cheng <chengshuyi@linux.alibaba.com>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>, Martin Lau <kafai@fb.com>,
	Song Liu <songliubraving@fb.com>, Yonghong Song <yhs@fb.com>,
	john fastabend <john.fastabend@gmail.com>,
	KP Singh <kpsingh@kernel.org>,
	Networking <netdev@vger.kernel.org>, bpf <bpf@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	kernel-janitors@vger.kernel.org
Subject: Re: [PATCH bpf-next v4 3/3] selftests/bpf: Switches existing selftests to using open_opts for custom BTF
Date: Sat, 17 Jul 2021 09:39:56 +0800	[thread overview]
Message-ID: <7400a2b2-1e1e-0981-3966-43492305534c@linux.alibaba.com> (raw)
In-Reply-To: <CAEf4Bza3X410=1ryu4xZ+5ST2=69CB9BDusBrLMX=VSsXtnuDQ@mail.gmail.com>



On 7/17/21 4:27 AM, Andrii Nakryiko wrote:
> On Tue, Jul 13, 2021 at 5:43 AM Shuyi Cheng
> <chengshuyi@linux.alibaba.com> wrote:
>>
>> This patch mainly replaces the bpf_object_load_attr of
>> the core_autosize.c and core_reloc.c files with bpf_object_open_opts.
>>
>> Signed-off-by: Shuyi Cheng <chengshuyi@linux.alibaba.com>
>> ---
>>   .../selftests/bpf/prog_tests/core_autosize.c       | 22 ++++++++---------
>>   .../testing/selftests/bpf/prog_tests/core_reloc.c  | 28 ++++++++++------------
>>   2 files changed, 24 insertions(+), 26 deletions(-)
>>
> 
> So I applied this, but it's obvious you haven't bothered even
> *building* selftests, because it had at least one compilation warning
> and one compilation *error*, not building test_progs at all. I've
> noted stuff I fixed (and still remember) below. I understand it might
> be your first kernel contribution, but it's not acceptable to submit
> patches that don't build. Next time please be more thorough.
> 

I'm very sorry, it was my fault. Although I learned a lot from libbpf, 
there is still a lot to learn and improve. Thank you very much for your 
advice and the very powerful libbpf.

regards,
Shuyi

> [...]
> 
>>
>> -       load_attr.obj = skel->obj;
>> -       load_attr.target_btf_path = btf_file;
>> -       err = bpf_object__load_xattr(&load_attr);
>> +       err = bpf_object__load(skel);
> 
> This didn't compile outright, because it should have been
> test_core_autosize__load(skel).
> 
>>          if (!ASSERT_ERR(err, "bad_prog_load"))
>>                  goto cleanup;
>>
>> diff --git a/tools/testing/selftests/bpf/prog_tests/core_reloc.c b/tools/testing/selftests/bpf/prog_tests/core_reloc.c
>> index d02e064..10eb2407 100644
>> --- a/tools/testing/selftests/bpf/prog_tests/core_reloc.c
>> +++ b/tools/testing/selftests/bpf/prog_tests/core_reloc.c
>> @@ -816,7 +816,7 @@ static size_t roundup_page(size_t sz)
>>   void test_core_reloc(void)
>>   {
>>          const size_t mmap_sz = roundup_page(sizeof(struct data));
>> -       struct bpf_object_load_attr load_attr = {};
>> +       struct bpf_object_open_opts open_opts = {};
>>          struct core_reloc_test_case *test_case;
>>          const char *tp_name, *probe_name;
>>          int err, i, equal;
>> @@ -846,9 +846,17 @@ void test_core_reloc(void)
>>                                  continue;
>>                  }
>>
>> -               obj = bpf_object__open_file(test_case->bpf_obj_file, NULL);
>> +               if (test_case->btf_src_file) {
>> +                       err = access(test_case->btf_src_file, R_OK);
>> +                       if (!ASSERT_OK(err, "btf_src_file"))
>> +                               goto cleanup;
>> +               }
>> +
>> +               open_opts.btf_custom_path = test_case->btf_src_file;
> 
> This was reporting a valid warning about dropping const modifier. For
> good reason, becyase btf_custom_path in open_opts should have been
> `const char *`, I fixed that.
> 
>> +               open_opts.sz = sizeof(struct bpf_object_open_opts);
>> +               obj = bpf_object__open_file(test_case->bpf_obj_file, &open_opts);
>>                  if (!ASSERT_OK_PTR(obj, "obj_open"))
>> -                       continue;
>> +                       goto cleanup;
>>
>>                  probe_name = "raw_tracepoint/sys_enter";
>>                  tp_name = "sys_enter";
> 
> [...]
> 

  reply	other threads:[~2021-07-17  1:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-13 12:42 [PATCH bpf-next v4 0/3] Add btf_custom_path in bpf_obj_open_opts Shuyi Cheng
2021-07-13 12:42 ` [PATCH bpf-next v4 1/3] libbpf: Introduce 'btf_custom_path' to 'bpf_obj_open_opts' Shuyi Cheng
2021-07-16  4:51   ` Andrii Nakryiko
2021-07-17  1:15     ` Shuyi Cheng
2021-07-13 12:42 ` [PATCH bpf-next v4 2/3] libbpf: Fix the possible memory leak on error Shuyi Cheng
2021-07-13 12:42 ` [PATCH bpf-next v4 3/3] selftests/bpf: Switches existing selftests to using open_opts for custom BTF Shuyi Cheng
2021-07-16  4:53   ` Andrii Nakryiko
2021-07-16 20:27   ` Andrii Nakryiko
2021-07-17  1:39     ` Shuyi Cheng [this message]
2021-07-16  4:49 ` [PATCH bpf-next v4 0/3] Add btf_custom_path in bpf_obj_open_opts Andrii Nakryiko

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=7400a2b2-1e1e-0981-3966-43492305534c@linux.alibaba.com \
    --to=chengshuyi@linux.alibaba.com \
    --cc=andrii.nakryiko@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=john.fastabend@gmail.com \
    --cc=kafai@fb.com \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=songliubraving@fb.com \
    --cc=yhs@fb.com \
    /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.