Re: [PATCH 1/1] kthread: add __printf attributes

From: Petr Mladek
Date: Mon Nov 28 2016 - 05:28:07 EST


On Sat 2016-11-26 20:35:43, Nicolas Iooss wrote:
> When commit fbae2d44aa1d ("kthread: add kthread_create_worker*()")
> introduced some kthread_create_...() functions which were taking
> printf-like parametter, it introduced __printf attributes to some
> functions (e.g. kthread_create_worker()). Nevertheless some new
> functions were forgotten (they have been detected thanks to
> -Wmissing-format-attribute warning flag).
>
> Add the missing __printf attributes to the newly-introduced functions in
> order to detect formatting issues at build-time with -Wformat flag.
>
> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>

Thanks for the fix.

Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>

> ---
> include/linux/kthread.h | 2 +-
> kernel/kthread.c | 5 +++--
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/kthread.h b/include/linux/kthread.h
> index a6e82a69c363..4de93a54f20b 100644
> --- a/include/linux/kthread.h
> +++ b/include/linux/kthread.h
> @@ -174,7 +174,7 @@ __printf(2, 3)
> struct kthread_worker *
> kthread_create_worker(unsigned int flags, const char namefmt[], ...);
>
> -struct kthread_worker *
> +__printf(3, 4) struct kthread_worker *
> kthread_create_worker_on_cpu(int cpu, unsigned int flags,
> const char namefmt[], ...);
>
> diff --git a/kernel/kthread.c b/kernel/kthread.c
> index be2cc1f9dd57..2baf9354c5fc 100644
> --- a/kernel/kthread.c
> +++ b/kernel/kthread.c
> @@ -244,7 +244,8 @@ static void create_kthread(struct kthread_create_info *create)
> }
> }
>
> -static struct task_struct *__kthread_create_on_node(int (*threadfn)(void *data),
> +static __printf(4, 0)
> +struct task_struct *__kthread_create_on_node(int (*threadfn)(void *data),
> void *data, int node,
> const char namefmt[],
> va_list args)

It would be great to update the indentation of these three lines
as well. But it is just a cosmetic problem.

Best Regards,
Petr