* [PATCH bpf-next] libbf: fix uninitialized pointer at btf__parse_raw()
@ 2020-08-05 22:33 Daniel T. Lee
2020-08-06 6:21 ` John Fastabend
0 siblings, 1 reply; 3+ messages in thread
From: Daniel T. Lee @ 2020-08-05 22:33 UTC (permalink / raw)
To: Daniel Borkmann, Alexei Starovoitov, Andrii Nakryiko; +Cc: netdev, bpf
Recently, from commit 94a1fedd63ed ("libbpf: Add btf__parse_raw() and
generic btf__parse() APIs"), new API has been added to libbpf that
allows to parse BTF from raw data file (btf__parse_raw()).
The commit derives build failure of samples/bpf due to improper access
of uninitialized pointer at btf_parse_raw().
btf.c: In function btf__parse_raw:
btf.c:625:28: error: btf may be used uninitialized in this function
625 | return err ? ERR_PTR(err) : btf;
| ~~~~~~~~~~~~~~~~~~~^~~~~
This commit fixes the build failure of samples/bpf by adding code of
initializing btf pointer as NULL.
Fixes: 94a1fedd63ed ("libbpf: Add btf__parse_raw() and generic btf__parse() APIs")
Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com>
---
tools/lib/bpf/btf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c
index 856b09a04563..4843e44916f7 100644
--- a/tools/lib/bpf/btf.c
+++ b/tools/lib/bpf/btf.c
@@ -564,8 +564,8 @@ struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext)
struct btf *btf__parse_raw(const char *path)
{
+ struct btf *btf = NULL;
void *data = NULL;
- struct btf *btf;
FILE *f = NULL;
__u16 magic;
int err = 0;
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* RE: [PATCH bpf-next] libbf: fix uninitialized pointer at btf__parse_raw()
2020-08-05 22:33 [PATCH bpf-next] libbf: fix uninitialized pointer at btf__parse_raw() Daniel T. Lee
@ 2020-08-06 6:21 ` John Fastabend
2020-08-06 23:48 ` Alexei Starovoitov
0 siblings, 1 reply; 3+ messages in thread
From: John Fastabend @ 2020-08-06 6:21 UTC (permalink / raw)
To: Daniel T. Lee, Daniel Borkmann, Alexei Starovoitov, Andrii Nakryiko
Cc: netdev, bpf
Daniel T. Lee wrote:
> Recently, from commit 94a1fedd63ed ("libbpf: Add btf__parse_raw() and
> generic btf__parse() APIs"), new API has been added to libbpf that
> allows to parse BTF from raw data file (btf__parse_raw()).
>
> The commit derives build failure of samples/bpf due to improper access
> of uninitialized pointer at btf_parse_raw().
>
> btf.c: In function btf__parse_raw:
> btf.c:625:28: error: btf may be used uninitialized in this function
> 625 | return err ? ERR_PTR(err) : btf;
> | ~~~~~~~~~~~~~~~~~~~^~~~~
>
> This commit fixes the build failure of samples/bpf by adding code of
> initializing btf pointer as NULL.
>
> Fixes: 94a1fedd63ed ("libbpf: Add btf__parse_raw() and generic btf__parse() APIs")
> Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com>
> ---
Unless errno is zero this should be ok in practice, but I guess compiler
wont know that.
Acked-by: John Fastabend <john.fastabend@gmail.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] libbf: fix uninitialized pointer at btf__parse_raw()
2020-08-06 6:21 ` John Fastabend
@ 2020-08-06 23:48 ` Alexei Starovoitov
0 siblings, 0 replies; 3+ messages in thread
From: Alexei Starovoitov @ 2020-08-06 23:48 UTC (permalink / raw)
To: John Fastabend
Cc: Daniel T. Lee, Daniel Borkmann, Alexei Starovoitov,
Andrii Nakryiko, Network Development, bpf
On Wed, Aug 5, 2020 at 11:22 PM John Fastabend <john.fastabend@gmail.com> wrote:
>
> Daniel T. Lee wrote:
> > Recently, from commit 94a1fedd63ed ("libbpf: Add btf__parse_raw() and
> > generic btf__parse() APIs"), new API has been added to libbpf that
> > allows to parse BTF from raw data file (btf__parse_raw()).
> >
> > The commit derives build failure of samples/bpf due to improper access
> > of uninitialized pointer at btf_parse_raw().
> >
> > btf.c: In function btf__parse_raw:
> > btf.c:625:28: error: btf may be used uninitialized in this function
> > 625 | return err ? ERR_PTR(err) : btf;
> > | ~~~~~~~~~~~~~~~~~~~^~~~~
> >
> > This commit fixes the build failure of samples/bpf by adding code of
> > initializing btf pointer as NULL.
> >
> > Fixes: 94a1fedd63ed ("libbpf: Add btf__parse_raw() and generic btf__parse() APIs")
> > Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com>
> > ---
>
> Unless errno is zero this should be ok in practice, but I guess compiler
> wont know that.
>
> Acked-by: John Fastabend <john.fastabend@gmail.com>
Applied. Thanks
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-08-06 23:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-05 22:33 [PATCH bpf-next] libbf: fix uninitialized pointer at btf__parse_raw() Daniel T. Lee
2020-08-06 6:21 ` John Fastabend
2020-08-06 23:48 ` Alexei Starovoitov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).