• David Gow's avatar
    kunit: tool: Disable PAGE_POISONING under --alltests · 7fd53f41
    David Gow authored
    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: f289041e ("mm, page_poison: remove CONFIG_PAGE_POISONING_ZERO")
    Signed-off-by: default avatarDavid Gow <davidgow@google.com>
    Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
    Reviewed-by: default avatarBrendan Higgins <brendanhiggins@google.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    7fd53f41
broken_on_uml.config 1.51 KB