From: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx> Subject: kernel/hung_task.c: make type annotations consistent Commit 32927393dc1c ("sysctl: pass kernel pointers to ->proc_handler") removed various __user annotations from function signatures as part of its refactoring. It also removed the __user annotation for proc_dohung_task_timeout_secs() at its declaration in ./sched/sysctl.h, but not at its definition in ./kernel/hung_task.c. Hence, sparse complains: kernel/hung_task.c:271:5: error: \ symbol 'proc_dohung_task_timeout_secs' redeclared with different type \ (incompatible argument 3 (different address spaces)) Adjust the annotation at the definition fitting to that refactoring to make sparse happy again, which also resolves this warning from sparse: kernel/hung_task.c:277:52: warning: incorrect type in argument 3 \ (different address spaces) kernel/hung_task.c:277:52: expected void * kernel/hung_task.c:277:52: got void [noderef] __user *buffer No functional change. No change in object code. Link: https://lkml.kernel.org/r/20201028130541.20320-1-lukas.bulwahn@xxxxxxxxx Signed-off-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrey Ignatov <rdna@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/hung_task.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/kernel/hung_task.c~kernel-hung_taskc-make-type-annotations-consistent +++ a/kernel/hung_task.c @@ -225,8 +225,7 @@ static long hung_timeout_jiffies(unsigne * Process updating of timeout sysctl */ int proc_dohung_task_timeout_secs(struct ctl_table *table, int write, - void __user *buffer, - size_t *lenp, loff_t *ppos) + void *buffer, size_t *lenp, loff_t *ppos) { int ret; _