From: Arnd Bergmann <[email protected]>
The unit test module fails to build after adding a reference
to kasan_poison:
ERROR: modpost: "kasan_poison" [lib/test_kasan.ko] undefined!
Export this symbol to make it available to loadable modules.
Fixes: b9b322c2bba9 ("kasan: add match-all tag tests")
Signed-off-by: Arnd Bergmann <[email protected]>
---
mm/kasan/shadow.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
index de6b3f074742..32e7a5c148e6 100644
--- a/mm/kasan/shadow.c
+++ b/mm/kasan/shadow.c
@@ -94,6 +94,7 @@ void kasan_poison(const void *address, size_t size, u8 value)
__memset(shadow_start, value, shadow_end - shadow_start);
}
+EXPORT_SYMBOL_GPL(kasan_poison);
void kasan_unpoison(const void *address, size_t size)
{
--
2.29.2
On 1/25/21 11:28 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> The unit test module fails to build after adding a reference
> to kasan_poison:
>
> ERROR: modpost: "kasan_poison" [lib/test_kasan.ko] undefined!
>
> Export this symbol to make it available to loadable modules.
>
> Fixes: b9b322c2bba9 ("kasan: add match-all tag tests")
> Signed-off-by: Arnd Bergmann <[email protected]>
Thanks I just stumbled on the same issue ;)
Reviewed-by: Vincenzo Frascino <[email protected]>
> ---
> mm/kasan/shadow.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
> index de6b3f074742..32e7a5c148e6 100644
> --- a/mm/kasan/shadow.c
> +++ b/mm/kasan/shadow.c
> @@ -94,6 +94,7 @@ void kasan_poison(const void *address, size_t size, u8 value)
>
> __memset(shadow_start, value, shadow_end - shadow_start);
> }
> +EXPORT_SYMBOL_GPL(kasan_poison);
>
> void kasan_unpoison(const void *address, size_t size)
> {
>
--
Regards,
Vincenzo
On Mon, Jan 25, 2021 at 12:28 PM Arnd Bergmann <[email protected]> wrote:
>
> From: Arnd Bergmann <[email protected]>
>
> The unit test module fails to build after adding a reference
> to kasan_poison:
>
> ERROR: modpost: "kasan_poison" [lib/test_kasan.ko] undefined!
>
> Export this symbol to make it available to loadable modules.
Could you share the config you used to trigger this?
> Fixes: b9b322c2bba9 ("kasan: add match-all tag tests")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> mm/kasan/shadow.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
> index de6b3f074742..32e7a5c148e6 100644
> --- a/mm/kasan/shadow.c
> +++ b/mm/kasan/shadow.c
> @@ -94,6 +94,7 @@ void kasan_poison(const void *address, size_t size, u8 value)
>
> __memset(shadow_start, value, shadow_end - shadow_start);
> }
> +EXPORT_SYMBOL_GPL(kasan_poison);
Should this be _GPL? All of the other EXPORT_SYMBOL() we use in KASAN
are without the GPL suffix.
>
> void kasan_unpoison(const void *address, size_t size)
> {
> --
> 2.29.2
>
On Wed, Jan 27, 2021 at 10:25 PM Andrey Konovalov <[email protected]> wrote:
>
> On Mon, Jan 25, 2021 at 12:28 PM Arnd Bergmann <[email protected]> wrote:
> >
> > From: Arnd Bergmann <[email protected]>
> >
> > The unit test module fails to build after adding a reference
> > to kasan_poison:
> >
> > ERROR: modpost: "kasan_poison" [lib/test_kasan.ko] undefined!
> >
> > Export this symbol to make it available to loadable modules.
>
> Could you share the config you used to trigger this?
Never mind, I realized I've been using a branch that already contains
your fix :)
On Wed, Jan 27, 2021 at 10:25 PM Andrey Konovalov <[email protected]> wrote:
> On Mon, Jan 25, 2021 at 12:28 PM Arnd Bergmann <[email protected]> wrote:
> > diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
> > index de6b3f074742..32e7a5c148e6 100644
> > --- a/mm/kasan/shadow.c
> > +++ b/mm/kasan/shadow.c
> > @@ -94,6 +94,7 @@ void kasan_poison(const void *address, size_t size, u8 value)
> >
> > __memset(shadow_start, value, shadow_end - shadow_start);
> > }
> > +EXPORT_SYMBOL_GPL(kasan_poison);
>
> Should this be _GPL? All of the other EXPORT_SYMBOL() we use in KASAN
> are without the GPL suffix.
I don't care much either way, the reason I went for the _GPL variant
was that this
seems to only be used internally in mm/kasan/ and lib/test_kasan.c,
unlike the other
symbols that are meant to be called by other modules.
Arnd