Re: [PATCH 0/2] clk: kunit: Fix the lockdep warnings

From: Guenter Roeck
Date: Wed Aug 09 2023 - 20:02:08 EST


On 8/9/23 16:21, Stephen Boyd wrote:
+kunit-dev

Quoting Maxime Ripard (2023-07-21 00:09:31)
Hi,

Here's a small series to address the lockdep warning we have when
running the clk kunit tests with lockdep enabled.

For the record, it can be tested with:

$ ./tools/testing/kunit/kunit.py run \
--kunitconfig=drivers/clk \
--cross_compile aarch64-linux-gnu- --arch arm64 \
--kconfig_add CONFIG_DEBUG_KERNEL=y \
--kconfig_add CONFIG_PROVE_LOCKING=y

Let me know what you think,

Thanks for doing this. I want to roll these helpers into the clk_kunit.c
file that I had created for some other clk tests[1]. That's mostly
because clk.c is already super long and adding kunit code there makes
that problem worse. I'll try to take that patch out of the rest of the
series and then add this series on top and resend.

I don't know what to do about the case where CONFIG_KUNIT=m though. We
have to export clk_prepare_lock/unlock()? I really don't want to do that
even if kunit is enabled (see EXPORT_SYMBOL_IF_KUNIT). Maybe if there
was a GPL version of that, so proprietary modules can't get at kernel
internals on kunit enabled kernels.


EXPORT_SYMBOL_IF_KUNIT defines a module namespace. You could go a step
further and define a CLK_KUNIT module namespace or similar. That would
of course still permit abuse, but it would have to be _very_ intentional.
There is an EXPORT_SYMBOL_NS_GPL(), so you could further restrict it
to GPL only.

Guenter