2020-11-07 07:47:37

by 王擎

[permalink] [raw]
Subject: [PATCH v3 bpf] trace: bpf: Fix passing zero to PTR_ERR()

There is a bug when passing zero to PTR_ERR() and return.
Fix smatch err.

Signed-off-by: Wang Qing <[email protected]>
---
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..5113fd4
--- 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 IS_ERR(*btf) ? PTR_ERR(*btf) : -EINVAL;

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


2020-11-07 18:13:12

by Yonghong Song

[permalink] [raw]
Subject: Re: [PATCH v3 bpf] trace: bpf: Fix passing zero to PTR_ERR()



On 11/6/20 11:45 PM, Wang Qing wrote:
> There is a bug when passing zero to PTR_ERR() and return.
> Fix smatch err.
>
> Signed-off-by: Wang Qing <[email protected]>

Acked-by: Yonghong Song <[email protected]>

2020-11-09 21:22:21

by John Fastabend

[permalink] [raw]
Subject: RE: [PATCH v3 bpf] trace: bpf: Fix passing zero to PTR_ERR()

Wang Qing wrote:
> There is a bug when passing zero to PTR_ERR() and return.
> Fix smatch err.
>
> Signed-off-by: Wang Qing <[email protected]>
> ---
> 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..5113fd4
> --- 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 IS_ERR(*btf) ? PTR_ERR(*btf) : -EINVAL;
>
> if (ptr->type_id > 0)
> *btf_id = ptr->type_id;
> --
> 2.7.4
>

Acked-by: John Fastabend <[email protected]>