All of lore.kernel.org
 help / color / mirror / Atom feed
From: baihaowen <baihaowen@meizu.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 KaFai 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>
Subject: Re: [PATCH] libbpf: potential NULL dereference in usdt_manager_attach_usdt()
Date: Fri, 8 Apr 2022 09:30:07 +0800	[thread overview]
Message-ID: <2c29b3cd-ec23-f9c8-ae9f-d713ce3dd4f0@meizu.com> (raw)
In-Reply-To: <CAEf4BzbByQ8OUuACyLEHewPsFjfUpH8Yr1x2+Db5xtGgnPXhrQ@mail.gmail.com>

在 4/8/22 3:04 AM, Andrii Nakryiko 写道:
> On Wed, Apr 6, 2022 at 7:38 PM Haowen Bai <baihaowen@meizu.com> wrote:
>> link could be null but still dereference bpf_link__destroy(&link->link)
>> and it will lead to a null pointer access.
>>
>> Signed-off-by: Haowen Bai <baihaowen@meizu.com>
>> ---
>>  tools/lib/bpf/usdt.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/lib/bpf/usdt.c b/tools/lib/bpf/usdt.c
>> index 1bce2eab5e89..b02ebc4ba57c 100644
>> --- a/tools/lib/bpf/usdt.c
>> +++ b/tools/lib/bpf/usdt.c
>> @@ -996,7 +996,7 @@ struct bpf_link *usdt_manager_attach_usdt(struct usdt_manager *man, const struct
>>         link = calloc(1, sizeof(*link));
>>         if (!link) {
>>                 err = -ENOMEM;
>> -               goto err_out;
>> +               goto link_err;
> this is not a complete fix because there are two more similar goto
> err_out; above which you didn't fix. I think better fix is to just add
> if (link) check before bpf_link__destroy(), which is what I did
> locally when applying.
>
>
>>         }
>>
>>         link->usdt_man = man;
>> @@ -1072,7 +1072,7 @@ struct bpf_link *usdt_manager_attach_usdt(struct usdt_manager *man, const struct
>>
>>  err_out:
>>         bpf_link__destroy(&link->link);
>> -
>> +link_err:
>>         free(targets);
>>         hashmap__free(specs_hash);
>>         if (elf)
>> --
>> 2.7.4
>>
Thank you for your kindness help. :)

-- 
Haowen Bai


  reply	other threads:[~2022-04-08  1:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-07  2:38 [PATCH] libbpf: potential NULL dereference in usdt_manager_attach_usdt() Haowen Bai
2022-04-07 19:04 ` Andrii Nakryiko
2022-04-08  1:30   ` baihaowen [this message]
2022-04-07 19:10 ` patchwork-bot+netdevbpf

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=2c29b3cd-ec23-f9c8-ae9f-d713ce3dd4f0@meizu.com \
    --to=baihaowen@meizu.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=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.