diff mbox series

trace: Fix passing zero to 'PTR_ERR' warning

Message ID 1604652452-11494-1-git-send-email-wangqing@vivo.com
State Superseded
Headers show
Series trace: Fix passing zero to 'PTR_ERR' warning | expand

Commit Message

Qing Wang Nov. 6, 2020, 8:47 a.m. UTC
Fix smatch warning.

Signed-off-by: Wang Qing <wangqing@vivo.com>
---
 kernel/trace/bpf_trace.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andrii Nakryiko Nov. 6, 2020, 8:41 p.m. UTC | #1
On Fri, Nov 6, 2020 at 12:49 AM Wang Qing <wangqing@vivo.com> wrote:
>

> Fix smatch warning.

>

> Signed-off-by: Wang Qing <wangqing@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

>
diff mbox series

Patch

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);
 
 	if (ptr->type_id > 0)
 		*btf_id = ptr->type_id;