Ruslan Semchenko
af91af33c1
tools/bpf_jit_disasm: Fix potential negative tpath index in get_exec_path()
...
If readlink() fails, len will be -1, which can cause negative indexing
and undefined behavior. This patch ensures that len is set to 0 on
readlink failure, preventing such issues.
Signed-off-by: Ruslan Semchenko <uncleruc2075@gmail.com >
Acked-by: Daniel Borkmann <daniel@iogearbox.net >
Link: https://lore.kernel.org/r/20250612131816.1870-1-uncleruc2075@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org >
2025-06-12 19:11:13 -07:00
Luo Yifan
4b15354201
tools/bpf: Fix the wrong format specifier in bpf_jit_disasm
...
There is a static checker warning that the %d in format string is
mismatched with the corresponding argument type, which could result in
incorrect printed data. This patch fixes it.
Signed-off-by: Luo Yifan <luoyifan@cmss.chinamobile.com >
Signed-off-by: Andrii Nakryiko <andrii@kernel.org >
Link: https://lore.kernel.org/bpf/20241111021004.272293-1-luoyifan@cmss.chinamobile.com
2024-11-11 20:04:59 -08:00
Andres Freund
96ed066054
tools bpf_jit_disasm: Fix compilation error with new binutils
...
binutils changed the signature of init_disassemble_info(), which now causes
compilation to fail for tools/bpf/bpf_jit_disasm.c, e.g. on debian
unstable.
Relevant binutils commit:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
Wire up the feature test and switch to init_disassemble_info_compat(),
which were introduced in prior commits, fixing the compilation failure.
I verified that bpf_jit_disasm can still disassemble bpf programs, both
with the old and new dis-asm.h API. With old binutils there's no change in
output before/after this patch. When comparing the output from old
binutils (2.35) to new bintuils with the patch (upstream snapshot) there
are a few output differences, but they are unrelated to this patch. An
example hunk is:
f4: mov %r14,%rsi
f7: mov %r15,%rdx
fa: mov $0x2a,%ecx
- ff: callq 0xffffffffea8c4988
+ ff: call 0xffffffffea8c4988
104: test %rax,%rax
107: jge 0x0000000000000110
109: xor %eax,%eax
- 10b: jmpq 0x0000000000000073
+ 10b: jmp 0x0000000000000073
110: cmp $0x16,%rax
However, I had to use an older kernel to generate the bpf_jit_enabled =
2 output, as that has been broken since 5.18 / 1022a5498f ("bpf,
x86_64: Use bpf_jit_binary_pack_alloc").
https://lore.kernel.org/20220703030210.pmjft7qc2eajzi6c@alap3.anarazel.de
Signed-off-by: Andres Freund <andres@anarazel.de >
Acked-by: Quentin Monnet <quentin@isovalent.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Ben Hutchings <benh@debian.org >
Cc: Daniel Borkmann <daniel@iogearbox.net >
Cc: Jiri Olsa <jolsa@kernel.org >
Cc: Quentin Monnet <quentin@isovalent.com >
Cc: Sedat Dilek <sedat.dilek@gmail.com >
Cc: bpf@vger.kernel.org
Link: http://lore.kernel.org/lkml/20220622181918.ykrs5rsnmx3og4sv@alap3.anarazel.de
Link: https://lore.kernel.org/r/20220801013834.156015-6-andres@anarazel.de
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2022-08-01 15:30:48 -03:00
Thomas Gleixner
a7d7a39274
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 232
...
Based on 1 normalized pattern(s):
licensed under the gnu general public license version 2 0 gplv2
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-only
has been chosen to replace the boilerplate/reference in 3 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Armijn Hemel <armijn@tjaldur.nl >
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com >
Reviewed-by: Allison Randal <allison@lohutok.net >
Reviewed-by: Enrico Weigelt <info@metux.net >
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190602204653.630925848@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-06-19 17:09:06 +02:00
Dan Carpenter
b223e3b4e0
tools/bpf_jit_disasm: silence a static checker warning
...
There is a static checker warning that "proglen" has an upper bound but
no lower bound. The allocation will just fail harmlessly so it's not a
big deal.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net >
2018-01-18 22:15:37 +01:00
Roman Gushchin
fb982666e3
tools/bpftool: fix bpftool build with bintutils >= 2.9
...
Bpftool build is broken with binutils version 2.29 and later.
The cause is commit 003ca0fd2286 ("Refactor disassembler selection")
in the binutils repo, which changed the disassembler() function
signature.
Fix this by adding a new "feature" to the tools/build/features
infrastructure and make it responsible for decision which
disassembler() function signature to use.
Signed-off-by: Roman Gushchin <guro@fb.com >
Cc: Jakub Kicinski <jakub.kicinski@netronome.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Daniel Borkmann <daniel@iogearbox.net >
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com >
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net >
2017-12-30 01:07:36 +01:00
Prashant Bhole
cdc89c9198
tools: bpf: handle long path in jit disasm
...
Use PATH_MAX instead of hardcoded array size 256
Signed-off-by: Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-11-02 20:25:27 +09:00
Jakub Kicinski
a92bb546cf
tools: rename tools/net directory to tools/bpf
...
We currently only have BPF tools in the tools/net directory.
We are about to add more BPF tools there, not necessarily
networking related, rename the directory and related Makefile
targets to bpf.
Suggested-by: Daniel Borkmann <daniel@iogearbox.net >
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com >
Reviewed-by: Simon Horman <simon.horman@netronome.com >
Acked-by: Daniel Borkmann <daniel@iogearbox.net >
Acked-by: Alexei Starovoitov <ast@kernel.org >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-10-04 21:45:05 -07:00