* iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/kunit_iov_iter.c:63, Expected got == npages, but, got == 1 (0x1), npages == 256 (0x100) (v7.0.2, ppc)
@ 2026-04-29 11:45 Erhard Furtner
2026-04-29 14:55 ` LEROY Christophe
2026-04-29 14:56 ` Christophe Leroy (CS GROUP)
0 siblings, 2 replies; 4+ messages in thread
From: Erhard Furtner @ 2026-04-29 11:45 UTC (permalink / raw)
To: linux-hardening; +Cc: linuxppc-dev
Greetings!
Getting this on my G4 DP on kernel v7.0.2 and v7.1-rc1 via 'modprobe -v
kunit_iov_iter':
[...]
KTAP version 1
1..1
KTAP version 1
# Subtest: iov_iter
# module: kunit_iov_iter
1..12
# iov_kunit_copy_to_kvec: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 1 iov_kunit_copy_to_kvec
# iov_kunit_copy_from_kvec: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 2 iov_kunit_copy_from_kvec
# iov_kunit_copy_to_bvec: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 3 iov_kunit_copy_to_bvec
# iov_kunit_copy_from_bvec: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 4 iov_kunit_copy_from_bvec
# iov_kunit_copy_to_folioq: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 5 iov_kunit_copy_to_folioq
# iov_kunit_copy_from_folioq: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 6 iov_kunit_copy_from_folioq
# iov_kunit_copy_to_xarray: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 7 iov_kunit_copy_to_xarray
# iov_kunit_copy_from_xarray: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 8 iov_kunit_copy_from_xarray
# iov_kunit_extract_pages_kvec: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 9 iov_kunit_extract_pages_kvec
# iov_kunit_extract_pages_bvec: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 10 iov_kunit_extract_pages_bvec
# iov_kunit_extract_pages_folioq: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 11 iov_kunit_extract_pages_folioq
# iov_kunit_extract_pages_xarray: ASSERTION FAILED at
lib/tests/kunit_iov_iter.c:63
Expected got == npages, but
got == 1 (0x1)
npages == 256 (0x100)
not ok 12 iov_kunit_extract_pages_xarray
# iov_iter: pass:0 fail:12 skip:0 total:12
# Totals: pass:0 fail:12 skip:0 total:12
not ok 1 iov_iter
Suppose this may be a ppc/BE specific test failure as I don't get it on
my Thinkpad T60 (x86).
Full dmesg and kernel .config available on request.
Greetings,
Erhard
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/kunit_iov_iter.c:63, Expected got == npages, but, got == 1 (0x1), npages == 256 (0x100) (v7.0.2, ppc)
2026-04-29 11:45 iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/kunit_iov_iter.c:63, Expected got == npages, but, got == 1 (0x1), npages == 256 (0x100) (v7.0.2, ppc) Erhard Furtner
@ 2026-04-29 14:55 ` LEROY Christophe
2026-04-29 16:05 ` Erhard Furtner
2026-04-29 14:56 ` Christophe Leroy (CS GROUP)
1 sibling, 1 reply; 4+ messages in thread
From: LEROY Christophe @ 2026-04-29 14:55 UTC (permalink / raw)
To: Erhard Furtner, linux-hardening@vger.kernel.org, Kees Cook,
David Howells
Cc: linuxppc-dev@lists.ozlabs.org
Le 29/04/2026 à 13:45, Erhard Furtner a écrit :
> Greetings!
>
> Getting this on my G4 DP on kernel v7.0.2 and v7.1-rc1 via 'modprobe -v
> kunit_iov_iter':
>
> [...]
> KTAP version 1
> 1..1
> KTAP version 1
> # Subtest: iov_iter
> # module: kunit_iov_iter
> 1..12
> # iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 1 iov_kunit_copy_to_kvec
This happens in alloc_pages_bulk_noprof(), due to
pcp = pcp_spin_trylock(zone->per_cpu_pageset);
if (!pcp)
goto failed;
Because:
#ifdef CONFIG_SMP
[...]
/*
* On CONFIG_SMP=n the UP implementation of spin_trylock() never fails
and thus
* is not compatible with our locking scheme. However we do not need
pcp for
* scalability in the first place, so just make all the trylocks fail
and take
* the slow path unconditionally.
*/
#else
#define pcp_spin_trylock(ptr) \
NULL
So apparently it is expected that alloc_pages_bulk() returns 1 on non-SMP.
Christophe
> # iov_kunit_copy_from_kvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 2 iov_kunit_copy_from_kvec
> # iov_kunit_copy_to_bvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 3 iov_kunit_copy_to_bvec
> # iov_kunit_copy_from_bvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 4 iov_kunit_copy_from_bvec
> # iov_kunit_copy_to_folioq: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 5 iov_kunit_copy_to_folioq
> # iov_kunit_copy_from_folioq: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 6 iov_kunit_copy_from_folioq
> # iov_kunit_copy_to_xarray: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 7 iov_kunit_copy_to_xarray
> # iov_kunit_copy_from_xarray: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 8 iov_kunit_copy_from_xarray
> # iov_kunit_extract_pages_kvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 9 iov_kunit_extract_pages_kvec
> # iov_kunit_extract_pages_bvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 10 iov_kunit_extract_pages_bvec
> # iov_kunit_extract_pages_folioq: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 11 iov_kunit_extract_pages_folioq
> # iov_kunit_extract_pages_xarray: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 12 iov_kunit_extract_pages_xarray
> # iov_iter: pass:0 fail:12 skip:0 total:12
> # Totals: pass:0 fail:12 skip:0 total:12
> not ok 1 iov_iter
>
>
> Suppose this may be a ppc/BE specific test failure as I don't get it on
> my Thinkpad T60 (x86).
>
> Full dmesg and kernel .config available on request.
>
> Greetings,
> Erhard
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/kunit_iov_iter.c:63, Expected got == npages, but, got == 1 (0x1), npages == 256 (0x100) (v7.0.2, ppc)
2026-04-29 14:55 ` LEROY Christophe
@ 2026-04-29 16:05 ` Erhard Furtner
0 siblings, 0 replies; 4+ messages in thread
From: Erhard Furtner @ 2026-04-29 16:05 UTC (permalink / raw)
To: LEROY Christophe, linux-hardening@vger.kernel.org, Kees Cook,
David Howells
Cc: linuxppc-dev@lists.ozlabs.org
> This happens in alloc_pages_bulk_noprof(), due to
>
> pcp = pcp_spin_trylock(zone->per_cpu_pageset);
> if (!pcp)
> goto failed;
>
> Because:
>
> #ifdef CONFIG_SMP
> [...]
> /*
> * On CONFIG_SMP=n the UP implementation of spin_trylock() never fails
> and thus
> * is not compatible with our locking scheme. However we do not need
> pcp for
> * scalability in the first place, so just make all the trylocks fail
> and take
> * the slow path unconditionally.
> */
> #else
> #define pcp_spin_trylock(ptr) \
> NULL
>
>
> So apparently it is expected that alloc_pages_bulk() returns 1 on non-SMP.
>
> Christophe
I got SMP set as my G4 DP got 2 x 7450 cpus.
I can attach full kernel .config when I return on Saturday.
Regards,
Erhard
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/kunit_iov_iter.c:63, Expected got == npages, but, got == 1 (0x1), npages == 256 (0x100) (v7.0.2, ppc)
2026-04-29 11:45 iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/kunit_iov_iter.c:63, Expected got == npages, but, got == 1 (0x1), npages == 256 (0x100) (v7.0.2, ppc) Erhard Furtner
2026-04-29 14:55 ` LEROY Christophe
@ 2026-04-29 14:56 ` Christophe Leroy (CS GROUP)
1 sibling, 0 replies; 4+ messages in thread
From: Christophe Leroy (CS GROUP) @ 2026-04-29 14:56 UTC (permalink / raw)
To: Erhard Furtner, linux-hardening, Kees Cook, David Howells; +Cc: linuxppc-dev
Le 29/04/2026 à 13:45, Erhard Furtner a écrit :
> Greetings!
>
> Getting this on my G4 DP on kernel v7.0.2 and v7.1-rc1 via 'modprobe -v
> kunit_iov_iter':
>
> [...]
> KTAP version 1
> 1..1
> KTAP version 1
> # Subtest: iov_iter
> # module: kunit_iov_iter
> 1..12
> # iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 1 iov_kunit_copy_to_kvec
This happens in alloc_pages_bulk_noprof(), due to
pcp = pcp_spin_trylock(zone->per_cpu_pageset);
if (!pcp)
goto failed;
Because:
#ifdef CONFIG_SMP
[...]
/*
* On CONFIG_SMP=n the UP implementation of spin_trylock() never fails
and thus
* is not compatible with our locking scheme. However we do not need
pcp for
* scalability in the first place, so just make all the trylocks fail
and take
* the slow path unconditionally.
*/
#else
#define pcp_spin_trylock(ptr) \
NULL
So apparently it is expected that alloc_pages_bulk() returns 1 on non-SMP.
Christophe
> # iov_kunit_copy_from_kvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 2 iov_kunit_copy_from_kvec
> # iov_kunit_copy_to_bvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 3 iov_kunit_copy_to_bvec
> # iov_kunit_copy_from_bvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 4 iov_kunit_copy_from_bvec
> # iov_kunit_copy_to_folioq: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 5 iov_kunit_copy_to_folioq
> # iov_kunit_copy_from_folioq: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 6 iov_kunit_copy_from_folioq
> # iov_kunit_copy_to_xarray: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 7 iov_kunit_copy_to_xarray
> # iov_kunit_copy_from_xarray: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 8 iov_kunit_copy_from_xarray
> # iov_kunit_extract_pages_kvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 9 iov_kunit_extract_pages_kvec
> # iov_kunit_extract_pages_bvec: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 10 iov_kunit_extract_pages_bvec
> # iov_kunit_extract_pages_folioq: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 11 iov_kunit_extract_pages_folioq
> # iov_kunit_extract_pages_xarray: ASSERTION FAILED at lib/tests/
> kunit_iov_iter.c:63
> Expected got == npages, but
> got == 1 (0x1)
> npages == 256 (0x100)
> not ok 12 iov_kunit_extract_pages_xarray
> # iov_iter: pass:0 fail:12 skip:0 total:12
> # Totals: pass:0 fail:12 skip:0 total:12
> not ok 1 iov_iter
>
>
> Suppose this may be a ppc/BE specific test failure as I don't get it on
> my Thinkpad T60 (x86).
>
> Full dmesg and kernel .config available on request.
>
> Greetings,
> Erhard
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-04-29 16:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-29 11:45 iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/kunit_iov_iter.c:63, Expected got == npages, but, got == 1 (0x1), npages == 256 (0x100) (v7.0.2, ppc) Erhard Furtner
2026-04-29 14:55 ` LEROY Christophe
2026-04-29 16:05 ` Erhard Furtner
2026-04-29 14:56 ` Christophe Leroy (CS GROUP)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox