On Fri, Nov 6, 2020 at 12:49 AM Wang Qing <wangq...@vivo.com> wrote:
>
> Fix smatch warning.
>
> Signed-off-by: Wang Qing <wangq...@vivo.com>
> ---
>  kernel/trace/bpf_trace.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
> index 4517c8b..2cb9c45
> --- a/kernel/trace/bpf_trace.c
> +++ b/kernel/trace/bpf_trace.c
> @@ -1198,7 +1198,7 @@ static int bpf_btf_printf_prepare(struct btf_ptr *ptr, 
> u32 btf_ptr_size,
>         *btf = bpf_get_btf_vmlinux();
>
>         if (IS_ERR_OR_NULL(*btf))
> -               return PTR_ERR(*btf);
> +               return PTR_ERR_OR_ZERO(*btf);

Either way returns zero for error? Which is the actual bug, so I think
the proper fix is:

return *btf ? PTR_ERR(*btf) : -EINVAL;

Or something like that.

>
>         if (ptr->type_id > 0)
>                 *btf_id = ptr->type_id;
> --
> 2.7.4
>

Reply via email to