2017-03-13 14:15:46

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] kasan: Add a prototype of task_struct to avoid warning

From: Masami Hiramatsu <[email protected]>

Add a prototype of task_struct to fix below warning on arm64.

In file included from arch/arm64/kernel/probes/kprobes.c:19:0:
include/linux/kasan.h:81:132: error: 'struct task_struct' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
static inline void kasan_unpoison_task_stack(struct task_struct *task) {}

As same as other types (kmem_cache, page, and vm_struct) this adds a
prototype of task_struct data structure on top of kasan.h.

[arnd] A related warning was fixed before, but now appears in a different
line in the same file in v4.11-rc2. The patch from Masami Hiramatsu
still seems appropriate, so let's take his version.

Link: https://patchwork.kernel.org/patch/9569839/
Signed-off-by: Masami Hiramatsu <[email protected]>
Cc: Andrey Ryabinin <[email protected]>
Cc: Alexander Potapenko <[email protected]>
Cc: Dmitry Vyukov <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
---
include/linux/kasan.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/include/linux/kasan.h b/include/linux/kasan.h
index 1c823bef4c15..5734480c9590 100644
--- a/include/linux/kasan.h
+++ b/include/linux/kasan.h
@@ -6,6 +6,7 @@
struct kmem_cache;
struct page;
struct vm_struct;
+struct task_struct;

#ifdef CONFIG_KASAN

--
2.9.0


2017-03-13 14:29:28

by Alexander Potapenko

[permalink] [raw]
Subject: Re: [PATCH] kasan: Add a prototype of task_struct to avoid warning

On Mon, Mar 13, 2017 at 3:14 PM, Arnd Bergmann <[email protected]> wrote:
> From: Masami Hiramatsu <[email protected]>
>
> Add a prototype of task_struct to fix below warning on arm64.
>
> In file included from arch/arm64/kernel/probes/kprobes.c:19:0:
> include/linux/kasan.h:81:132: error: 'struct task_struct' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
> static inline void kasan_unpoison_task_stack(struct task_struct *task) {}
>
> As same as other types (kmem_cache, page, and vm_struct) this adds a
> prototype of task_struct data structure on top of kasan.h.
>
> [arnd] A related warning was fixed before, but now appears in a different
> line in the same file in v4.11-rc2. The patch from Masami Hiramatsu
> still seems appropriate, so let's take his version.
>
> Link: https://patchwork.kernel.org/patch/9569839/
> Signed-off-by: Masami Hiramatsu <[email protected]>
> Cc: Andrey Ryabinin <[email protected]>
> Cc: Alexander Potapenko <[email protected]>
> Cc: Dmitry Vyukov <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>
Acked-by: Alexander Potapenko <[email protected]>
> ---
> include/linux/kasan.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/kasan.h b/include/linux/kasan.h
> index 1c823bef4c15..5734480c9590 100644
> --- a/include/linux/kasan.h
> +++ b/include/linux/kasan.h
> @@ -6,6 +6,7 @@
> struct kmem_cache;
> struct page;
> struct vm_struct;
> +struct task_struct;
>
> #ifdef CONFIG_KASAN
>
> --
> 2.9.0
>



--
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-Straße, 33
80636 München

Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

2017-03-13 15:00:45

by Andrey Ryabinin

[permalink] [raw]
Subject: Re: [PATCH] kasan: Add a prototype of task_struct to avoid warning



On 03/13/2017 05:14 PM, Arnd Bergmann wrote:
> From: Masami Hiramatsu <[email protected]>
>
> Add a prototype of task_struct to fix below warning on arm64.
>
> In file included from arch/arm64/kernel/probes/kprobes.c:19:0:
> include/linux/kasan.h:81:132: error: 'struct task_struct' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
> static inline void kasan_unpoison_task_stack(struct task_struct *task) {}
>
> As same as other types (kmem_cache, page, and vm_struct) this adds a
> prototype of task_struct data structure on top of kasan.h.
>
> [arnd] A related warning was fixed before, but now appears in a different
> line in the same file in v4.11-rc2. The patch from Masami Hiramatsu
> still seems appropriate, so let's take his version.
>
> Link: https://patchwork.kernel.org/patch/9569839/
> Signed-off-by: Masami Hiramatsu <[email protected]>
> Cc: Andrey Ryabinin <[email protected]>
> Cc: Alexander Potapenko <[email protected]>
> Cc: Dmitry Vyukov <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>

Fixes: 71af2ed5eeea ("kasan, sched/headers: Remove <linux/sched.h> from <linux/kasan.h>")
Acked-by: Andrey Ryabinin <[email protected]>

> ---
> include/linux/kasan.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/kasan.h b/include/linux/kasan.h
> index 1c823bef4c15..5734480c9590 100644
> --- a/include/linux/kasan.h
> +++ b/include/linux/kasan.h
> @@ -6,6 +6,7 @@
> struct kmem_cache;
> struct page;
> struct vm_struct;
> +struct task_struct;
>
> #ifdef CONFIG_KASAN
>
>