kunit: memcpy: Split slow memcpy tests into MEMCPY_SLOW_KUNIT_TEST
Since the long memcpy tests may stall a system for tens of seconds in virtualized architecture environments, split those tests off under CONFIG_MEMCPY_SLOW_KUNIT_TEST so they can be separately disabled. Reported-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/lkml/20221226195206.GA2626419@roeck-us.net Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-and-tested-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: David Gow <davidgow@google.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: linux-hardening@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
parent
42633ed852
commit
4acf1de35f
|
@ -2566,6 +2566,15 @@ config MEMCPY_KUNIT_TEST
|
|||
|
||||
If unsure, say N.
|
||||
|
||||
config MEMCPY_SLOW_KUNIT_TEST
|
||||
bool "Include exhaustive memcpy tests"
|
||||
depends on MEMCPY_KUNIT_TEST
|
||||
default y
|
||||
help
|
||||
Some memcpy tests are quite exhaustive in checking for overlaps
|
||||
and bit ranges. These can be very slow, so they are split out
|
||||
as a separate config, in case they need to be disabled.
|
||||
|
||||
config IS_SIGNED_TYPE_KUNIT_TEST
|
||||
tristate "Test is_signed_type() macro" if !KUNIT_ALL_TESTS
|
||||
depends on KUNIT
|
||||
|
|
|
@ -309,6 +309,8 @@ static void set_random_nonzero(struct kunit *test, u8 *byte)
|
|||
|
||||
static void init_large(struct kunit *test)
|
||||
{
|
||||
if (!IS_ENABLED(CONFIG_MEMCPY_SLOW_KUNIT_TEST))
|
||||
kunit_skip(test, "Slow test skipped. Enable with CONFIG_MEMCPY_SLOW_KUNIT_TEST=y");
|
||||
|
||||
/* Get many bit patterns. */
|
||||
get_random_bytes(large_src, ARRAY_SIZE(large_src));
|
||||
|
|
Loading…
Reference in New Issue