On Sat, Jun 08, 2024 at 04:44:10PM +0800, David Gow wrote:
> On Mon, 20 May 2024 at 03:12, Kees Cook <[email protected]> wrote:
> >
> > Convert the runtime tests of hardened usercopy to standard KUnit tests.
> >
> > Co-developed-by: Vitor Massaru Iha <[email protected]>
> > Signed-off-by: Vitor Massaru Iha <[email protected]>
> > Link: https://lore.kernel.org/r/[email protected]
> > Signed-off-by: Kees Cook <[email protected]>
> > ---
> 
> 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 <[email protected]>

Thanks!

-- 
Kees Cook

Reply via email to