diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 642746168b33468e0556cd9004c2e41a85a19db3..11414b1efc50437294fd5159d0143649f75ae562 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -2681,6 +2681,7 @@ static int check_stack_write_fixed_off(struct bpf_verifier_env *env, */ if (!env->allow_ptr_leaks && is_spilled_reg(&state->stack[spi]) && + !is_spilled_scalar_reg(&state->stack[spi]) && size != BPF_REG_SIZE) { verbose(env, "attempt to corrupt spilled pointer on stack\n"); return -EACCES;