Re: [PATCH v5 03/20] kthread: Add create_kthread_worker*()

From: Petr Mladek
Date: Wed Feb 24 2016 - 10:56:34 EST


On Mon 2016-02-22 23:48:53, kbuild test robot wrote:
> Hi Petr,
>
> [auto build test ERROR on soc-thermal/next]
> [also build test ERROR on v4.5-rc5 next-20160222]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url: https://github.com/0day-ci/linux/commits/Petr-Mladek/kthread-Use-kthread-worker-API-more-widely/20160222-230250
> base: https://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal next
> config: xtensa-allyesconfig (attached as .config)
> reproduce:
> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=xtensa
>
> All error/warnings (new ones prefixed by >>):
>
> kernel/kthread.c: In function 'create_kthread_worker_on_cpu':
> >> kernel/kthread.c:691:9: error: incompatible type for argument 3 of '__create_kthread_worker'
> return __create_kthread_worker(cpu, namefmt, NULL);
> ^
> kernel/kthread.c:622:1: note: expected 'va_list' but argument is of type 'void *'
> __create_kthread_worker(int cpu, const char namefmt[], va_list args)
> ^
> >> kernel/kthread.c:692:1: warning: control reaches end of non-void function [-Wreturn-type]
> }
> ^
>
> vim +/__create_kthread_worker +691 kernel/kthread.c
>
> 685 * when the needed structures could not get allocated, and ERR_PTR(-EINTR)
> 686 * when the worker was SIGKILLed.
> 687 */
> 688 struct kthread_worker *
> 689 create_kthread_worker_on_cpu(int cpu, const char namefmt[])
> 690 {
> > 691 return __create_kthread_worker(cpu, namefmt, NULL);
> > 692 }
> 693 EXPORT_SYMBOL(create_kthread_worker_on_cpu);
> 694
> 695 /* insert @work before @pos in @worker */

I can be fixed by passing a fake va_list. It is not used when
__create_kthread_worker() is called with a valid CPU number.

See below an updated patch that passes the build.