Re: [PATCH RFC bpf-next v3 02/16] bpf/verifier: introduce in_sleepable() helper

From: Alexei Starovoitov
Date: Thu Feb 22 2024 - 20:56:45 EST


On Wed, Feb 21, 2024 at 8:25 AM Benjamin Tissoires <bentiss@xxxxxxxxxx> wrote:
> @@ -18193,7 +18198,7 @@ static int resolve_pseudo_ldimm64(struct bpf_verifier_env *env)
> return -E2BIG;
> }
>
> - if (env->prog->aux->sleepable)
> + if (in_sleepable(env))
> atomic64_inc(&map->sleepable_refcnt);

this one doesn't look correct.
The verifier didn't start its main loop when resolve_pseudo_ldimm64()
is called.
It also loses symmetry with other sleepable_refcnt operations
in syscall.c and core.c

I reverted this hunk and applied patches 1,2,3
with minor edits, like removing unnecessary parens in patch 3,
and patch subject rewords.