Re: [PATCHv5 bpf-next 05/13] bpf: Allow return values 0 and 1 for uprobe/kprobe session
From: Andrii Nakryiko
Date: Mon Sep 30 2024 - 17:37:08 EST
On Sun, Sep 29, 2024 at 1:58 PM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> The uprobe and kprobe session program can return only 0 or 1,
> instruct verifier to check for that.
>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> kernel/bpf/verifier.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
Do we need Fixes: tag?
Acked-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> index 7d9b38ffd220..c4d7b7369259 100644
> --- a/kernel/bpf/verifier.c
> +++ b/kernel/bpf/verifier.c
> @@ -15910,6 +15910,16 @@ 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:
> + case BPF_TRACE_UPROBE_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.1
>