Re: [PATCHv6 bpf-next 03/16] bpf: Allow return values 0 and 1 for kprobe session
From: Andrii Nakryiko
Date: Thu Oct 10 2024 - 22:20:11 EST
On Thu, Oct 10, 2024 at 1:10 PM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> The kprobe session program can return only 0 or 1,
> instruct verifier to check for that.
>
> Fixes: 535a3692ba72 ("bpf: Add support for kprobe session attach")
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> kernel/bpf/verifier.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
Acked-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> index 7d9b38ffd220..787008872a14 100644
> --- a/kernel/bpf/verifier.c
> +++ b/kernel/bpf/verifier.c
> @@ -15910,6 +15910,15 @@ static int check_return_code(struct bpf_verifier_env *env, int regno, const char
> return -ENOTSUPP;
> }
> break;
> + case BPF_PROG_TYPE_KPROBE:
> + switch (env->prog->expected_attach_type) {
> + case BPF_TRACE_KPROBE_SESSION:
> + range = retval_range(0, 1);
> + break;
> + default:
> + return 0;
> + }
> + break;
> case BPF_PROG_TYPE_SK_LOOKUP:
> range = retval_range(SK_DROP, SK_PASS);
> break;
> --
> 2.46.2
>