The offset for the cleanup-label jump is computed before the MOV R7
instruction is emitted, but the JMP lands after it. Account for the
extra insn in the offset calculation (-2 instead of -1). Drop the
redundant self-loop in the else branch; gen->error = -ERANGE already
marks the generation as failed.
Fixes:
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| bpf.c | ||
| bpf.h | ||
| bpf_core_read.h | ||
| bpf_endian.h | ||
| bpf_gen_internal.h | ||
| bpf_helpers.h | ||
| bpf_prog_linfo.c | ||
| bpf_tracing.h | ||
| btf.c | ||
| btf.h | ||
| btf_dump.c | ||
| btf_iter.c | ||
| btf_relocate.c | ||
| Build | ||
| elf.c | ||
| features.c | ||
| gen_loader.c | ||
| hashmap.c | ||
| hashmap.h | ||
| libbpf.c | ||
| libbpf.h | ||
| libbpf.map | ||
| libbpf.pc.template | ||
| libbpf_common.h | ||
| libbpf_internal.h | ||
| libbpf_legacy.h | ||
| libbpf_probes.c | ||
| libbpf_utils.c | ||
| libbpf_version.h | ||
| linker.c | ||
| Makefile | ||
| netlink.c | ||
| nlattr.c | ||
| nlattr.h | ||
| relo_core.c | ||
| relo_core.h | ||
| ringbuf.c | ||
| skel_internal.h | ||
| strset.c | ||
| strset.h | ||
| usdt.bpf.h | ||
| usdt.c | ||
| zip.c | ||
| zip.h | ||