|
Shung-Hsi Yu |
9a0e0c |
From: Jiri Olsa <jolsa@kernel.org>
|
|
Shung-Hsi Yu |
9a0e0c |
Date: Wed, 30 Mar 2022 13:05:10 +0200
|
|
Shung-Hsi Yu |
9a0e0c |
Subject: bpf: Fix sparse warnings in kprobe_multi_resolve_syms
|
|
Shung-Hsi Yu |
9a0e0c |
Patch-mainline: v5.18-rc2
|
|
Shung-Hsi Yu |
9a0e0c |
Git-commit: d31e0386a2f122b40b605eb0120a2fbcfca77868
|
|
Shung-Hsi Yu |
529c95 |
References: jsc#PED-1377
|
|
Shung-Hsi Yu |
9a0e0c |
|
|
Shung-Hsi Yu |
9a0e0c |
Adding missing __user tags to fix sparse warnings:
|
|
Shung-Hsi Yu |
9a0e0c |
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2370:34: warning: incorrect type in argument 2 (different address spaces)
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2370:34: expected void const [noderef] __user *from
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2370:34: got void const *usyms
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2376:51: warning: incorrect type in argument 2 (different address spaces)
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2376:51: expected char const [noderef] __user *src
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2376:51: got char const *
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2443:49: warning: incorrect type in argument 1 (different address spaces)
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2443:49: expected void const *usyms
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c:2443:49: got void [noderef] __user *[assigned] usyms
|
|
Shung-Hsi Yu |
9a0e0c |
|
|
Shung-Hsi Yu |
9a0e0c |
Fixes: 0dcac2725406 ("bpf: Add multi kprobe link")
|
|
Shung-Hsi Yu |
9a0e0c |
Reported-by: Alexei Starovoitov <ast@kernel.org>
|
|
Shung-Hsi Yu |
9a0e0c |
Reported-by: Jakub Kicinski <kuba@kernel.org>
|
|
Shung-Hsi Yu |
9a0e0c |
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
|
|
Shung-Hsi Yu |
9a0e0c |
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
|
|
Shung-Hsi Yu |
9a0e0c |
Link: https://lore.kernel.org/bpf/20220330110510.398558-1-jolsa@kernel.org
|
|
Shung-Hsi Yu |
9a0e0c |
Acked-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
|
|
Shung-Hsi Yu |
9a0e0c |
---
|
|
Shung-Hsi Yu |
9a0e0c |
kernel/trace/bpf_trace.c | 4 ++--
|
|
Shung-Hsi Yu |
9a0e0c |
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
Shung-Hsi Yu |
9a0e0c |
|
|
Shung-Hsi Yu |
9a0e0c |
--- a/kernel/trace/bpf_trace.c
|
|
Shung-Hsi Yu |
9a0e0c |
+++ b/kernel/trace/bpf_trace.c
|
|
Shung-Hsi Yu |
9a0e0c |
@@ -2354,11 +2354,11 @@ kprobe_multi_link_handler(struct fprobe
|
|
Shung-Hsi Yu |
9a0e0c |
}
|
|
Shung-Hsi Yu |
9a0e0c |
|
|
Shung-Hsi Yu |
9a0e0c |
static int
|
|
Shung-Hsi Yu |
9a0e0c |
-kprobe_multi_resolve_syms(const void *usyms, u32 cnt,
|
|
Shung-Hsi Yu |
9a0e0c |
+kprobe_multi_resolve_syms(const void __user *usyms, u32 cnt,
|
|
Shung-Hsi Yu |
9a0e0c |
unsigned long *addrs)
|
|
Shung-Hsi Yu |
9a0e0c |
{
|
|
Shung-Hsi Yu |
9a0e0c |
unsigned long addr, size;
|
|
Shung-Hsi Yu |
9a0e0c |
- const char **syms;
|
|
Shung-Hsi Yu |
9a0e0c |
+ const char __user **syms;
|
|
Shung-Hsi Yu |
9a0e0c |
int err = -ENOMEM;
|
|
Shung-Hsi Yu |
9a0e0c |
unsigned int i;
|
|
Shung-Hsi Yu |
9a0e0c |
char *func;
|