bpf: indicate lderr when bpf_apply_relo_data fails
When LLVM wrongly generates a rodata relo entry (llvm BZ #33599), then just bail out instead of probing for prog w/o reloc, which will fail in this case anyway. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
parent
3288e9b426
commit
c9c3720d14
|
|
@ -1795,8 +1795,10 @@ static int bpf_fetch_prog_relo(struct bpf_elf_ctx *ctx, const char *section,
|
||||||
*sseen = true;
|
*sseen = true;
|
||||||
|
|
||||||
ret = bpf_apply_relo_data(ctx, &data_relo, &data_insn);
|
ret = bpf_apply_relo_data(ctx, &data_relo, &data_insn);
|
||||||
if (ret < 0)
|
if (ret < 0) {
|
||||||
|
*lderr = true;
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
memset(&prog, 0, sizeof(prog));
|
memset(&prog, 0, sizeof(prog));
|
||||||
prog.type = ctx->type;
|
prog.type = ctx->type;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue