From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Xin Liu <liuxin350@huawei.com>
Cc: alan.maguire@oracle.com, andrii@kernel.org,
arnaldo.melo@gmail.com, ast@kernel.org, bpf@vger.kernel.org,
daniel@iogearbox.net, dwarves@vger.kernel.org,
kernel-team@fb.com, ndesaulniers@google.com,
yonghong.song@linux.dev, yanan@huawei.com, wuchangye@huawei.com,
xiesongyang@huawei.com, kongweibin2@huawei.com,
zhangmingyi5@huawei.com, liwei883@huawei.com
Subject: Re: [PATCH dwarves] btf_encoder: Fix dwarf int type with greater-than-16 byte issue
Date: Thu, 25 Apr 2024 11:19:34 -0300 [thread overview]
Message-ID: <ZipmdsxjENtoRRkG@x1> (raw)
In-Reply-To: <20240425134340.750289-1-liuxin350@huawei.com>
On Thu, Apr 25, 2024 at 09:43:40PM +0800, Xin Liu wrote:
> On Wed, 24 Apr 2024 15:35:38 -0700 Yonghong Song <yonghong.song@linux.dev> wrote:
> > Nick Desaulniers and Xin Liu separately reported that int type might
> > have greater-than-16 byte size ([1] and [2]). More specifically, the
> > reported int type sizes are 1024 and 64 bytes.
> >
> > The libbpf and bpf program does not really support any int type greater
> > than 16 bytes. Therefore, with current pahole, btf encoding will fail
> > with greater-than-16 byte int types.
> >
> > Since for now bpf does not support '> 16' bytes int type, the simplest
> > way is to sanitize such types, similar to existing conditions like
> > '!byte_sz' and 'byte_sz & (byte_sz - 1)'. This way, pahole won't
> > call libbpf with an unsupported int type size. The patch [3] was
> > proposed before. Now I resubmitted this patch as there are another
> > failure due to the same issue.
> >
> > [1] https://github.com/libbpf/libbpf/pull/680
> > [2] https://lore.kernel.org/bpf/20240422144538.351722-1-liuxin350@huawei.com/
> > [3] https://lore.kernel.org/bpf/20230426055030.3743074-1-yhs@fb.com/
> >
> > Cc: Xin Liu <liuxin350@huawei.com>
> > Cc: Alan Maguire <alan.maguire@oracle.com>
> > Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
>
> Reviewed-by: Xin Liu <liuxin350@huawei.com>
Thanks, applied to next,
- Arnaldo
> > ---
> > btf_encoder.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/btf_encoder.c b/btf_encoder.c
> > index e1e3529..19e9d90 100644
> > --- a/btf_encoder.c
> > +++ b/btf_encoder.c
> > @@ -393,7 +393,7 @@ static int32_t btf_encoder__add_base_type(struct btf_encoder *encoder, const str
> > * these non-regular int types to avoid libbpf/kernel complaints.
> > */
> > byte_sz = BITS_ROUNDUP_BYTES(bt->bit_size);
> > - if (!byte_sz || (byte_sz & (byte_sz - 1))) {
> > + if (!byte_sz || (byte_sz & (byte_sz - 1)) || byte_sz > 16) {
> > name = "__SANITIZED_FAKE_INT__";
> > byte_sz = 4;
> > }
prev parent reply other threads:[~2024-04-25 14:19 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-24 22:35 [PATCH dwarves] btf_encoder: Fix dwarf int type with greater-than-16 byte issue Yonghong Song
2024-04-25 8:17 ` Alan Maguire
2024-04-25 13:43 ` Xin Liu
2024-04-25 14:19 ` Arnaldo Carvalho de Melo [this message]
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=ZipmdsxjENtoRRkG@x1 \
--to=acme@kernel.org \
--cc=alan.maguire@oracle.com \
--cc=andrii@kernel.org \
--cc=arnaldo.melo@gmail.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=dwarves@vger.kernel.org \
--cc=kernel-team@fb.com \
--cc=kongweibin2@huawei.com \
--cc=liuxin350@huawei.com \
--cc=liwei883@huawei.com \
--cc=ndesaulniers@google.com \
--cc=wuchangye@huawei.com \
--cc=xiesongyang@huawei.com \
--cc=yanan@huawei.com \
--cc=yonghong.song@linux.dev \
--cc=zhangmingyi5@huawei.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.