mbox series

[bpf,0/3] bpf: fix bpffs/bpftool bitfield value printing

Message ID 20190110191400.3626831-1-yhs@fb.com
Headers show
Series bpf: fix bpffs/bpftool bitfield value printing | expand

Message

Yonghong Song Jan. 10, 2019, 7:14 p.m. UTC
The previous BTF kind_flag support patch set introduced a bug
for kernel bpffs pretty printing and another bug for bpftool
map pretty printing. If a bitfield struct member offset is
greater than 256 bits, printed value for that struct
member will be incorrect.

Patch #1 fixed the bug in kernel bpffs pretty printing.
Patch #2 enhanced the test_btf test case to cover the issue
exposed by patch #1.
Patch #3 fixed the bug in bpftool map pretty printing.

Yonghong Song (3):
  bpf: fix bpffs bitfield pretty print
  tools/bpf: test btf bitfield with >=256 struct member offset
  tools/bpf: fix bpftool map dump with bitfields

 kernel/bpf/btf.c                       | 12 +++++------
 tools/bpf/bpftool/btf_dumper.c         | 13 ++++++------
 tools/testing/selftests/bpf/test_btf.c | 29 +++++++++++++++++++-------
 3 files changed, 34 insertions(+), 20 deletions(-)

Comments

Daniel Borkmann Jan. 11, 2019, 10 a.m. UTC | #1
On 01/10/2019 08:14 PM, Yonghong Song wrote:
> The previous BTF kind_flag support patch set introduced a bug
> for kernel bpffs pretty printing and another bug for bpftool
> map pretty printing. If a bitfield struct member offset is
> greater than 256 bits, printed value for that struct
> member will be incorrect.
> 
> Patch #1 fixed the bug in kernel bpffs pretty printing.
> Patch #2 enhanced the test_btf test case to cover the issue
> exposed by patch #1.
> Patch #3 fixed the bug in bpftool map pretty printing.
> 
> Yonghong Song (3):
>   bpf: fix bpffs bitfield pretty print
>   tools/bpf: test btf bitfield with >=256 struct member offset
>   tools/bpf: fix bpftool map dump with bitfields
> 
>  kernel/bpf/btf.c                       | 12 +++++------
>  tools/bpf/bpftool/btf_dumper.c         | 13 ++++++------
>  tools/testing/selftests/bpf/test_btf.c | 29 +++++++++++++++++++-------
>  3 files changed, 34 insertions(+), 20 deletions(-)
> 

Applied, thanks!