diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2020-08-24 16:20:47 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-08-24 21:11:40 -0700 |
commit | 7787b6fc938e16aa418613c4a765c1dbb268ed9f (patch) | |
tree | d4c939ae5c785993e24366a29adb3b5b5b4ad90e /kernel/sysctl.c | |
parent | 2b10af318ad305b8e56f1f7ad78ea3ba20aadc01 (diff) | |
download | lwn-7787b6fc938e16aa418613c4a765c1dbb268ed9f.tar.gz lwn-7787b6fc938e16aa418613c4a765c1dbb268ed9f.zip |
bpf, sysctl: Let bpf_stats_handler take a kernel pointer buffer
Commit 32927393dc1c ("sysctl: pass kernel pointers to ->proc_handler")
changed ctl_table.proc_handler to take a kernel pointer. Adjust the
signature of bpf_stats_handler to match ctl_table.proc_handler which
fixes the following sparse warning:
kernel/sysctl.c:226:49: warning: incorrect type in argument 3 (different address spaces)
kernel/sysctl.c:226:49: expected void *
kernel/sysctl.c:226:49: got void [noderef] __user *buffer
kernel/sysctl.c:2640:35: warning: incorrect type in initializer (incompatible argument 3 (different address spaces))
kernel/sysctl.c:2640:35: expected int ( [usertype] *proc_handler )( ... )
kernel/sysctl.c:2640:35: got int ( * )( ... )
Fixes: 32927393dc1c ("sysctl: pass kernel pointers to ->proc_handler")
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/bpf/20200824142047.22043-1-tklauser@distanz.ch
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r-- | kernel/sysctl.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 287862f91717..09e70ee2332e 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -204,8 +204,7 @@ static int max_extfrag_threshold = 1000; #if defined(CONFIG_BPF_SYSCALL) && defined(CONFIG_SYSCTL) static int bpf_stats_handler(struct ctl_table *table, int write, - void __user *buffer, size_t *lenp, - loff_t *ppos) + void *buffer, size_t *lenp, loff_t *ppos) { struct static_key *key = (struct static_key *)table->data; static int saved_val; |