On Mon, Feb 8, 2021 at 11:10 PM David Gow <davidgow@xxxxxxxxxx> wrote: > > kunit_tool maintains a list of config options which are broken under > UML, which we exclude from an otherwise 'make ARCH=um allyesconfig' > build used to run all tests with the --alltests option. > > Something in UML allyesconfig is causing segfaults when page poisining > is enabled (and is poisoning with a non-zero value). Previously, this > didn't occur, as allyesconfig enabled the CONFIG_PAGE_POISONING_ZERO > option, which worked around the problem by zeroing memory. This option > has since been removed, and memory is now poisoned with 0xAA, which > triggers segfaults in many different codepaths, preventing UML from > booting. > > Note that we have to disable both CONFIG_PAGE_POISONING and > CONFIG_DEBUG_PAGEALLOC, as the latter will 'select' the former on > architectures (such as UML) which don't implement __kernel_map_pages(). > > Ideally, we'd fix this properly by tracking down the real root cause, > but since this is breaking KUnit's --alltests feature, it's worth > disabling there in the meantime so the kernel can boot to the point > where tests can actually run. > > Fixes: f289041ed4 ("mm, page_poison: remove CONFIG_PAGE_POISONING_ZERO") > Signed-off-by: David Gow <davidgow@xxxxxxxxxx> Reviewed-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>