diff mbox series

kunit: Export kunit_running()

Message ID 20230117165039.1871598-1-arnd@kernel.org
State New
Headers show
Series kunit: Export kunit_running() | expand

Commit Message

Arnd Bergmann Jan. 17, 2023, 4:50 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

Using kunit_fail_current_test() in a loadable module causes a link
error like:

ERROR: modpost: "kunit_running" [drivers/gpu/drm/vc4/vc4.ko] undefined!

Export the symbol to allow using it from modules.

Fixes: da43ff045c3f ("drm/vc4: tests: Fail the current test if we access a register")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 lib/kunit/test.c | 1 +
 1 file changed, 1 insertion(+)

Comments

David Gow Jan. 18, 2023, 12:37 a.m. UTC | #1
On Wed, 18 Jan 2023 at 00:50, Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> Using kunit_fail_current_test() in a loadable module causes a link
> error like:
>
> ERROR: modpost: "kunit_running" [drivers/gpu/drm/vc4/vc4.ko] undefined!
>
> Export the symbol to allow using it from modules.
>
> Fixes: da43ff045c3f ("drm/vc4: tests: Fail the current test if we access a register")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---

Thanks for fixing this!

I think the longer-term solution for this is the "hooks" approach
(which works even when KUnit itself is built as a module):
https://lore.kernel.org/all/20230117142737.246446-1-davidgow@google.com/

But this looks good to fix it in the meantime.

Reviewed-by: David Gow <davidgow@google.com>

Cheers,
-- David

>  lib/kunit/test.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/lib/kunit/test.c b/lib/kunit/test.c
> index c9ebf975e56b..890ba5b3a981 100644
> --- a/lib/kunit/test.c
> +++ b/lib/kunit/test.c
> @@ -21,6 +21,7 @@
>  #include "try-catch-impl.h"
>
>  DEFINE_STATIC_KEY_FALSE(kunit_running);
> +EXPORT_SYMBOL_GPL(kunit_running);
>
>  #if IS_BUILTIN(CONFIG_KUNIT)
>  /*
> --
> 2.39.0
>
Maxime Ripard Jan. 18, 2023, 11:02 a.m. UTC | #2
Hi David, Arnd,

Thanks for fixing this issue

On Wed, Jan 18, 2023 at 08:37:26AM +0800, David Gow wrote:
> On Wed, 18 Jan 2023 at 00:50, Arnd Bergmann <arnd@kernel.org> wrote:
> >
> > From: Arnd Bergmann <arnd@arndb.de>
> >
> > Using kunit_fail_current_test() in a loadable module causes a link
> > error like:
> >
> > ERROR: modpost: "kunit_running" [drivers/gpu/drm/vc4/vc4.ko] undefined!
> >
> > Export the symbol to allow using it from modules.
> >
> > Fixes: da43ff045c3f ("drm/vc4: tests: Fail the current test if we access a register")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> 
> Thanks for fixing this!
> 
> I think the longer-term solution for this is the "hooks" approach
> (which works even when KUnit itself is built as a module):
> https://lore.kernel.org/all/20230117142737.246446-1-davidgow@google.com/
> 
> But this looks good to fix it in the meantime.
> 
> Reviewed-by: David Gow <davidgow@google.com>

How do you want to merge that patch? Will you take it through your tree?

Maxime
David Gow Jan. 20, 2023, 6:13 a.m. UTC | #3
On Wed, 18 Jan 2023 at 19:02, Maxime Ripard <maxime@cerno.tech> wrote:
>
> Hi David, Arnd,
>
> Thanks for fixing this issue
>
> On Wed, Jan 18, 2023 at 08:37:26AM +0800, David Gow wrote:
> > On Wed, 18 Jan 2023 at 00:50, Arnd Bergmann <arnd@kernel.org> wrote:
> > >
> > > From: Arnd Bergmann <arnd@arndb.de>
> > >
> > > Using kunit_fail_current_test() in a loadable module causes a link
> > > error like:
> > >
> > > ERROR: modpost: "kunit_running" [drivers/gpu/drm/vc4/vc4.ko] undefined!
> > >
> > > Export the symbol to allow using it from modules.
> > >
> > > Fixes: da43ff045c3f ("drm/vc4: tests: Fail the current test if we access a register")
> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > ---
> >
> > Thanks for fixing this!
> >
> > I think the longer-term solution for this is the "hooks" approach
> > (which works even when KUnit itself is built as a module):
> > https://lore.kernel.org/all/20230117142737.246446-1-davidgow@google.com/
> >
> > But this looks good to fix it in the meantime.
> >
> > Reviewed-by: David Gow <davidgow@google.com>
>
> How do you want to merge that patch? Will you take it through your tree?
>

We'll take this via the kunit/kselftest tree, thanks!

Cheers,
-- David
diff mbox series

Patch

diff --git a/lib/kunit/test.c b/lib/kunit/test.c
index c9ebf975e56b..890ba5b3a981 100644
--- a/lib/kunit/test.c
+++ b/lib/kunit/test.c
@@ -21,6 +21,7 @@ 
 #include "try-catch-impl.h"
 
 DEFINE_STATIC_KEY_FALSE(kunit_running);
+EXPORT_SYMBOL_GPL(kunit_running);
 
 #if IS_BUILTIN(CONFIG_KUNIT)
 /*