Re: [PATCH net-next] bpf/verifier: track liveness for pruning
From: Edward Cree
Date: Tue Aug 15 2017 - 08:54:06 EST
On 15/08/17 12:52, Daniel Borkmann wrote:
> On 08/14/2017 07:55 PM, Edward Cree wrote:
>> if (arg_type == ARG_ANYTHING) {
>> if (is_pointer_value(env, regno)) {
>> @@ -1639,10 +1675,13 @@ static int check_call(struct bpf_verifier_env *env, int func_id, int insn_idx)
>> }
>>
>> /* reset caller saved regs */
>> - for (i = 0; i < CALLER_SAVED_REGS; i++)
>> + for (i = 0; i < CALLER_SAVED_REGS; i++) {
>> mark_reg_not_init(regs, caller_saved[i]);
>> + check_reg_arg(env, i, DST_OP_NO_MARK);
>
> Don't we need the same in check_ld_abs() since we treat it similar
> to a function call?
Yes, I forgot about LD_ABS. I'll fix it and spin a v2.
-Ed