diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c index 76bf1de26115..0b55ebf4a9b1 100644 --- a/kernel/bpf/core.c +++ b/kernel/bpf/core.c @@ -365,18 +365,14 @@ static int bpf_adj_delta_to_imm(struct bpf_insn *insn, u32 pos, s32 end_old, static int bpf_adj_delta_to_off(struct bpf_insn *insn, u32 pos, s32 end_old, s32 end_new, s32 curr, const bool probe_pass) { - s64 off_min, off_max, off; + const s32 off_min = S16_MIN, off_max = S16_MAX; s32 delta = end_new - end_old; + s32 off; - if (insn->code == (BPF_JMP32 | BPF_JA)) { + if (insn->code == (BPF_JMP32 | BPF_JA)) off = insn->imm; - off_min = S32_MIN; - off_max = S32_MAX; - } else { + else off = insn->off; - off_min = S16_MIN; - off_max = S16_MAX; - } if (curr < pos && curr + off + 1 >= end_old) off += delta;