lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJ-ks9=fBN8b==JZ4KMMJujcH3q-NuOA3Y1o8NqvQE+U_voMcw@mail.gmail.com>
Date: Sat, 8 Feb 2025 19:40:55 -0500
From: Tamir Duberstein <tamird@...il.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: David Gow <davidgow@...gle.com>, Shuah Khan <skhan@...uxfoundation.org>, 
	Luis Felipe Hernandez <luis.hernandez093@...il.com>, Shuah Khan <shuah@...nel.org>, 
	linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org, 
	Yu-Chun Lin <eleanor15x@...il.com>
Subject: Re: [PATCH v3 0/2] lib/prime_numbers: convert self-test to KUnit

On Sat, Feb 8, 2025 at 7:25 PM Andrew Morton <akpm@...ux-foundation.org> wrote:
>
> On Sat, 08 Feb 2025 17:52:28 -0500 Tamir Duberstein <tamird@...il.com> wrote:
>
> > This is a clear example of a unit test.
> >
> > I tested this using:
> >
> > $ tools/testing/kunit/kunit.py run --arch arm64 --make_options LLVM=1 math-prime_numbers
> >
> > On success:
> > ; [08:51:41] ============== math-prime_numbers (1 subtest) ==============
> > ; [08:51:41] [PASSED] prime_numbers_test
> > ; [08:51:41] =============== [PASSED] math-prime_numbers ================
> > ; [08:51:41] ============================================================
> > ; [08:51:41] Testing complete. Ran 1 tests: passed: 1
> >
> > On failure:
> > ; [08:50:19] ============== math-prime_numbers (1 subtest) ==============
> > ; [08:50:19]     # prime_numbers_test: ASSERTION FAILED at lib/math/tests/prime_numbers_kunit.c:28
> > ; [08:50:19]     Expected slow == fast, but
> > ; [08:50:19]         slow == 0 (0x0)
> > ; [08:50:19]         fast == 1 (0x1)
> > ; [08:50:19] is-prime(2)
> > ; [08:50:19] [FAILED] prime_numbers_test
> > ; [08:50:19] # module: prime_numbers_kunit
> > ; [08:50:19] # math-prime_numbers: primes.{last=61, .sz=64, .primes[]=...x28208a20a08a28ac} = 2-3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61
> > ; [08:50:19] =============== [FAILED] math-prime_numbers ================
> > ; [08:50:19] ============================================================
> > ; [08:50:19] Testing complete. Ran 1 tests: failed: 1
> >
>
> I resolved this against "lib/math: add Kunit test suite for gcd()"
> (https://lkml.kernel.org/r/20250203075400.3431330-1-eleanor15x@gmail.com)
> in the obvious fashion then added this fixup:
>
> From: Andrew Morton <akpm@...ux-foundation.org>
> Subject: lib-math-hook-up-tests-makefile-fix
> Date: Sat Feb  8 03:33:59 PM PST 2025
>
> don't link gcd_kunit.o twice
>
> Cc: David Gow <davidgow@...gle.com>
> Cc: Tamir Duberstein <tamird@...il.com>
> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> ---
>
>  lib/math/Makefile |    1 -
>  1 file changed, 1 deletion(-)
>
> --- a/lib/math/Makefile~lib-math-hook-up-tests-makefile-fix
> +++ a/lib/math/Makefile
> @@ -8,5 +8,4 @@ obj-$(CONFIG_RATIONAL)          += rational.o
>  obj-$(CONFIG_TEST_DIV64)       += test_div64.o
>  obj-$(CONFIG_TEST_MULDIV64)    += test_mul_u64_u64_div_u64.o
>  obj-$(CONFIG_RATIONAL_KUNIT_TEST) += rational-test.o
> -obj-$(CONFIG_GCD_KUNIT_TEST) += tests/gcd_kunit.o
>  obj-y += tests/
> _
>
> and the x86_64 allmodconfig build failed thusly:
>
> lib/math/tests/prime_numbers_kunit.c: In function 'prime_numbers_test':
> lib/math/tests/prime_numbers_kunit.c:25:35: error: implicit declaration of function 'slow_is_prime_number'; did you mean 'is_prime_number'? [-Werror=implicit-function-declaration]
>    25 |                 const bool slow = slow_is_prime_number(x);
>       |                                   ^~~~~~~~~~~~~~~~~~~~
>       |                                   is_prime_number
>
>
> So, please redo against mm.git's mm-everything branch or its
> mm-nonmm-unstable branch and retest carefully.

Thanks for the clear instructions. I was able to reproduce. v4 is on its way.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ