On 15/08/17 12:52, Daniel Borkmann wrote:
On 08/14/2017 07:55 PM, Edward Cree wrote:
quoted
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