2023-12-21 18:01:01

by andrey.konovalov

[permalink] [raw]
Subject: [PATCH mm] kasan: Mark unpoison_slab_object() as static

From: Nathan Chancellor <[email protected]>

With -Wmissing-prototypes enabled, there is a warning that
unpoison_slab_object() has no prototype, breaking the build with
CONFIG_WERROR=y:

mm/kasan/common.c:271:6: error: no previous prototype for 'unpoison_slab_object' [-Werror=missing-prototypes]
271 | void unpoison_slab_object(struct kmem_cache *cache, void *object, gfp_t flags,
| ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Mark the function as static, as it is not used outside of this
translation unit, clearing up the warning.

Fixes: 3f38c3c5bc40 ("kasan: save alloc stack traces for mempool")
Signed-off-by: Nathan Chancellor <[email protected]>
Signed-off-by: Andrey Konovalov <[email protected]>

---

Changes v1->v2:
- Mark as "static inline" instead of just "static".
---
mm/kasan/common.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/kasan/common.c b/mm/kasan/common.c
index ebb1b23d6480..f4255e807b74 100644
--- a/mm/kasan/common.c
+++ b/mm/kasan/common.c
@@ -277,8 +277,8 @@ void __kasan_kfree_large(void *ptr, unsigned long ip)
/* The object will be poisoned by kasan_poison_pages(). */
}

-void unpoison_slab_object(struct kmem_cache *cache, void *object, gfp_t flags,
- bool init)
+static inline void unpoison_slab_object(struct kmem_cache *cache, void *object,
+ gfp_t flags, bool init)
{
/*
* Unpoison the whole object. For kmalloc() allocations,
--
2.25.1



2023-12-21 20:08:21

by Marco Elver

[permalink] [raw]
Subject: Re: [PATCH mm] kasan: Mark unpoison_slab_object() as static

On Thu, 21 Dec 2023 at 19:00, <[email protected]> wrote:
>
> From: Nathan Chancellor <[email protected]>
>
> With -Wmissing-prototypes enabled, there is a warning that
> unpoison_slab_object() has no prototype, breaking the build with
> CONFIG_WERROR=y:
>
> mm/kasan/common.c:271:6: error: no previous prototype for 'unpoison_slab_object' [-Werror=missing-prototypes]
> 271 | void unpoison_slab_object(struct kmem_cache *cache, void *object, gfp_t flags,
> | ^~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
>
> Mark the function as static, as it is not used outside of this
> translation unit, clearing up the warning.
>
> Fixes: 3f38c3c5bc40 ("kasan: save alloc stack traces for mempool")
> Signed-off-by: Nathan Chancellor <[email protected]>
> Signed-off-by: Andrey Konovalov <[email protected]>

Reviewed-by: Marco Elver <[email protected]>

> ---
>
> Changes v1->v2:
> - Mark as "static inline" instead of just "static".
> ---
> mm/kasan/common.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/kasan/common.c b/mm/kasan/common.c
> index ebb1b23d6480..f4255e807b74 100644
> --- a/mm/kasan/common.c
> +++ b/mm/kasan/common.c
> @@ -277,8 +277,8 @@ void __kasan_kfree_large(void *ptr, unsigned long ip)
> /* The object will be poisoned by kasan_poison_pages(). */
> }
>
> -void unpoison_slab_object(struct kmem_cache *cache, void *object, gfp_t flags,
> - bool init)
> +static inline void unpoison_slab_object(struct kmem_cache *cache, void *object,
> + gfp_t flags, bool init)
> {
> /*
> * Unpoison the whole object. For kmalloc() allocations,
> --
> 2.25.1
>