On Sat, Jun 08, 2024 at 04:44:10PM +0800, David Gow wrote: > On Mon, 20 May 2024 at 03:12, Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > > > Convert the runtime tests of hardened usercopy to standard KUnit tests. > > > > Co-developed-by: Vitor Massaru Iha <vitor@xxxxxxxxxxx> > > Signed-off-by: Vitor Massaru Iha <vitor@xxxxxxxxxxx> > > Link: https://lore.kernel.org/r/20200721174654.72132-1-vitor@xxxxxxxxxxx > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > > --- > > This fails here on i386: > > # usercopy_test_invalid: EXPECTATION FAILED at lib/usercopy_kunit.c:278 > > Expected val_u64 == 0, but > > val_u64 == -60129542144 (0xfffffff200000000) Hunh. I can reproduce this with "--arch=i386" but not under UML with SUBARCH=i386. But perhaps it's a difference in the get_user() implementations between the two. And this looks like a bug in the get_user() failure path on i386. I will investigate... > It also seems to be hanging somewhere in usercopy_test_invalid on my > m68k/qemu setup: > ./tools/testing/kunit/kunit.py run --build_dir=.kunit-m68k --arch m68k usercopy Oh, that's weird. I'll need to get an m68k environment set up... > Otherwise, it looks fine. Maybe it'd make sense to split some of the > tests up a bit more, but it's a matter of taste (and only really an > advantage for debugging hangs where more detailed progress is nice). Yeah. I can do this in follow-up patches, perhaps. > With those architecture-specific hangs either fixed, or documented (if > they're actual problems, not issues with the test), this is: > > Reviewed-by: David Gow <davidgow@xxxxxxxxxx> Thanks! -- Kees Cook