On Sat, Jun 08, 2024 at 04:44:10PM +0800, David Gow wrote:
On Mon, 20 May 2024 at 03:12, Kees Cook keescook@chromium.org wrote:
Convert the runtime tests of hardened usercopy to standard KUnit tests.
Co-developed-by: Vitor Massaru Iha vitor@massaru.org Signed-off-by: Vitor Massaru Iha vitor@massaru.org Link: https://lore.kernel.org/r/20200721174654.72132-1-vitor@massaru.org Signed-off-by: Kees Cook keescook@chromium.org
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@google.com
Thanks!