[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJ-ks9nK2oNz7s+QW5eF=W_SRZuuu5j4_DNQj9WM5iqH2ECZnw@mail.gmail.com>
Date: Tue, 11 Feb 2025 06:51:09 -0500
From: Tamir Duberstein <tamird@...il.com>
To: Kees Cook <kees@...nel.org>
Cc: David Gow <davidgow@...gle.com>, Shuah Khan <skhan@...uxfoundation.org>,
Luis Felipe Hernandez <luis.hernandez093@...il.com>, Andrew Morton <akpm@...ux-foundation.org>,
Shuah Khan <shuah@...nel.org>, linux-kernel@...r.kernel.org,
linux-kselftest@...r.kernel.org
Subject: Re: [PATCH v5 2/2] lib/prime_numbers: convert self-test to KUnit
Kees, it looks like the private header didn't make it to your tree.
This bit is missing:
diff --git a/lib/math/prime_numbers.c b/lib/math/prime_numbers.c
index f88d6e64dbdc..de59f001c8c7 100644
--- a/lib/math/prime_numbers.c
+++ b/lib/math/prime_numbers.c
@@ -58,6 +58,7 @@ static DEFINE_MUTEX(lock);
static const struct primes __rcu *primes = RCU_INITIALIZER(&small_primes);
#if IS_ENABLED(CONFIG_PRIME_NUMBERS_KUNIT_TEST)
+// Calls the callback under RCU lock. The callback must not retain
the primes pointer.
void with_primes(void *ctx, primes_fn fn)
{
rcu_read_lock();
diff --git a/lib/math/prime_numbers_private.h b/lib/math/prime_numbers_private.h
new file mode 100644
index 000000000000..f3ebf5386e6b
--- /dev/null
+++ b/lib/math/prime_numbers_private.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <linux/types.h>
+
+struct primes {
+ struct rcu_head rcu;
+ unsigned long last, sz;
+ unsigned long primes[];
+};
+
+#if IS_ENABLED(CONFIG_PRIME_NUMBERS_KUNIT_TEST)
+typedef void (*primes_fn)(void *, const struct primes *);
+
+void with_primes(void *ctx, primes_fn fn);
+bool slow_is_prime_number(unsigned long x);
+#endif
Tamir
On Mon, Feb 10, 2025 at 9:52 PM Tamir Duberstein <tamird@...il.com> wrote:
>
> Ah, I see https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?h=for-next/move-kunit-tests&id=3e50ba8fc834cadead733e4feeb969fce2f3b6e1
> now.
>
> On Mon, Feb 10, 2025 at 9:47 PM Tamir Duberstein <tamird@...il.com> wrote:
> >
> > On Mon, Feb 10, 2025 at 9:37 PM Kees Cook <kees@...nel.org> wrote:
> > >
> > > On Sat, Feb 08, 2025 at 09:44:39PM -0500, Tamir Duberstein wrote:
> > > > Extract a private header and convert the prime_numbers self-test to a
> > > > KUnit test. I considered parameterizing the test using
> > > > `KUNIT_CASE_PARAM` but didn't see how it was possible since the test
> > > > logic is entangled with the test parameter generation logic.
> > > >
> > > > Signed-off-by: Tamir Duberstein <tamird@...il.com>
> > > > ---
> > > > lib/Kconfig.debug | 14 +++++
> > > > lib/math/prime_numbers.c | 87 +++++-----------------------
> > > > lib/math/prime_numbers_private.h | 17 ++++++
> > > > lib/math/tests/Makefile | 1 +
> > > > lib/math/tests/prime_numbers_kunit.c | 59 +++++++++++++++++++
> > > > tools/testing/selftests/lib/config | 1 -
> > > > tools/testing/selftests/lib/prime_numbers.sh | 4 --
> > > > 7 files changed, 106 insertions(+), 77 deletions(-)
> > >
> > > Thanks! I've applied this and rebased it onto:
> > > https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=for-next/move-kunit-tests
> > >
> > > --
> > > Kees Cook
> >
> > Thanks! Could you also take the first patch in the series[0]? The new
> > test won't build without it because lib/math/tests/Makefile is dead
> > code.
> >
> > [0] https://lore.kernel.org/all/20250208-prime_numbers-kunit-convert-v5-1-b0cb82ae7c7d@gmail.com/
> >
> > Cheers.
> > Tamir
Powered by blists - more mailing lists