Re: [PATCH] kthread: to_live_kthread() needs try_get_task_stack()

From: Oleg Nesterov
Date: Wed Jun 29 2016 - 14:43:57 EST


On 06/30, kbuild test robot wrote:
>
> Hi,
>
> [auto build test ERROR on linus/master]
> [also build test ERROR on v4.7-rc5 next-20160629]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

Yes, please ignore this, the patch is based on Andy's x86/vmap_stack
tree.


> url: https://github.com/0day-ci/linux/commits/Oleg-Nesterov/kthread-to_live_kthread-needs-try_get_task_stack/20160630-020824
> config: i386-tinyconfig (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All errors (new ones prefixed by >>):
>
> kernel/kthread.c: In function 'to_live_kthread':
> >> kernel/kthread.c:67:23: error: implicit declaration of function 'try_get_task_stack' [-Werror=implicit-function-declaration]
> if (likely(vfork) && try_get_task_stack(k))
> ^~~~~~~~~~~~~~~~~~
> kernel/kthread.c: In function 'kthread_unpark':
> >> kernel/kthread.c:430:3: error: implicit declaration of function 'put_task_stack' [-Werror=implicit-function-declaration]
> put_task_stack(k);
> ^~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
>
> vim +/try_get_task_stack +67 kernel/kthread.c
>
> 61 return __to_kthread(k->vfork_done);
> 62 }
> 63
> 64 static struct kthread *to_live_kthread(struct task_struct *k)
> 65 {
> 66 struct completion *vfork = ACCESS_ONCE(k->vfork_done);
> > 67 if (likely(vfork) && try_get_task_stack(k))
> 68 return __to_kthread(vfork);
> 69 return NULL;
> 70 }
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation