bpf: Properly mark live registers for indirect jumps
[ Upstream commit d1aab1ca576c90192ba961094d51b0be6355a4d6 ] For a `gotox rX` instruction the rX register should be marked as used in the compute_insn_live_regs() function. Fix this. Signed-off-by: Anton Protopopov <a.s.protopopov@gmail.com> Link: https://lore.kernel.org/r/20260114162544.83253-2-a.s.protopopov@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
aae391a79f
commit
df02c3ff3b
|
|
@ -24292,6 +24292,12 @@ static void compute_insn_live_regs(struct bpf_verifier_env *env,
|
|||
case BPF_JMP32:
|
||||
switch (code) {
|
||||
case BPF_JA:
|
||||
def = 0;
|
||||
if (BPF_SRC(insn->code) == BPF_X)
|
||||
use = dst;
|
||||
else
|
||||
use = 0;
|
||||
break;
|
||||
case BPF_JCOND:
|
||||
def = 0;
|
||||
use = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue