[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <62e760de-e746-c512-350a-c2188a2bb3ed@fb.com>
Date: Fri, 6 Sep 2019 09:09:17 +0000
From: Andrii Nakryiko <andriin@...com>
To: Jiri Olsa <jolsa@...nel.org>, Alexei Starovoitov <ast@...nel.org>,
"Daniel Borkmann" <daniel@...earbox.net>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"bpf@...r.kernel.org" <bpf@...r.kernel.org>,
Yonghong Song <yhs@...com>, Martin Lau <kafai@...com>
Subject: Re: [PATCH 0/7] libbpf: Fix cast away const qualifiers in btf.h
On 9/6/19 8:31 AM, Jiri Olsa wrote:
> hi,
> when including btf.h in bpftrace, I'm getting -Wcast-qual warnings like:
>
> bpf/btf.h: In function ‘btf_var_secinfo* btf_var_secinfos(const btf_type*)’:
> bpf/btf.h:302:41: warning: cast from type ‘const btf_type*’ to type
> ‘btf_var_secinfo*’ casts away qualifiers [-Wcast-qual]
> 302 | return (struct btf_var_secinfo *)(t + 1);
> | ^
>
> I changed the btf.h header to comply with -Wcast-qual checks
> and used const cast away casting in libbpf objects, where it's
Hey Jiri,
We made all those helper funcs return non-const structs intentionally to
improve their usability and avoid all those casts that you added back.
Also, those helpers are now part of public API, so we can't just change
them to const, as it can break existing users easily.
If there is a need to run with -Wcast-qual, we should probably disable
those checks where appropriate in libbpf code.
So this will be a NACK from me, sorry.
> all related to deduplication code, so I believe loosing const
> is fine there.
>
> thanks,
> jirka
>
>
> ---
> Jiri Olsa (7):
> libbpf: Use const cast for btf_int_* functions
> libbpf: Return const btf_array from btf_array inline function
> libbpf: Return const btf_enum from btf_enum inline function
> libbpf: Return const btf_member from btf_members inline function
> libbpf: Return const btf_param from btf_params inline function
> libbpf: Return const btf_var from btf_var inline function
> libbpf: Return const struct btf_var_secinfo from btf_var_secinfos inline function
>
> tools/lib/bpf/btf.c | 21 +++++++++++----------
> tools/lib/bpf/btf.h | 30 +++++++++++++++---------------
> tools/lib/bpf/libbpf.c | 2 +-
> 3 files changed, 27 insertions(+), 26 deletions(-)
>
Powered by blists - more mailing lists