mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 12:57:06 +09:00
bpf: fix mark_reg_unknown_value for spilled regs on map value marking
am: 0e0f1d6fdb
Change-Id: I3990cdd8bc095423723df1771ec87158dc8cb63a
This commit is contained in:
@@ -444,14 +444,19 @@ static void init_reg_state(struct bpf_reg_state *regs)
|
||||
regs[BPF_REG_1].type = PTR_TO_CTX;
|
||||
}
|
||||
|
||||
static void mark_reg_unknown_value(struct bpf_reg_state *regs, u32 regno)
|
||||
static void __mark_reg_unknown_value(struct bpf_reg_state *regs, u32 regno)
|
||||
{
|
||||
BUG_ON(regno >= MAX_BPF_REG);
|
||||
regs[regno].type = UNKNOWN_VALUE;
|
||||
regs[regno].id = 0;
|
||||
regs[regno].imm = 0;
|
||||
}
|
||||
|
||||
static void mark_reg_unknown_value(struct bpf_reg_state *regs, u32 regno)
|
||||
{
|
||||
BUG_ON(regno >= MAX_BPF_REG);
|
||||
__mark_reg_unknown_value(regs, regno);
|
||||
}
|
||||
|
||||
static void reset_reg_range_values(struct bpf_reg_state *regs, u32 regno)
|
||||
{
|
||||
regs[regno].min_value = BPF_REGISTER_MIN_RANGE;
|
||||
@@ -1946,7 +1951,7 @@ static void mark_map_reg(struct bpf_reg_state *regs, u32 regno, u32 id,
|
||||
*/
|
||||
reg->id = 0;
|
||||
if (type == UNKNOWN_VALUE)
|
||||
mark_reg_unknown_value(regs, regno);
|
||||
__mark_reg_unknown_value(regs, regno);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user