Since arch_pick_mmap_layout() is an inline for non-MMU systems, disable
this test there.
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202406160505.uBge6TMY-lkp@intel.com/
Signed-off-by: Kees Cook <kees@kernel.org>
Reviewed-by: Rae Moar <rmoar@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
        if (current->mm)
                return 0;
 
+       /* arch_pick_mmap_layout() is only sane with MMU systems. */
+       if (!IS_ENABLED(CONFIG_MMU))
+               return -EINVAL;
+
        mm = mm_alloc();
        if (!mm)
                return -ENOMEM;
 
        struct usercopy_test_priv *priv;
        unsigned long user_addr;
 
+       if (!IS_ENABLED(CONFIG_MMU)) {
+               kunit_skip(test, "Userspace allocation testing not available on non-MMU systems");
+               return 0;
+       }
+
        priv = kunit_kzalloc(test, sizeof(*priv), GFP_KERNEL);
        KUNIT_ASSERT_NOT_ERR_OR_NULL(test, priv);
        test->priv = priv;
 
        clear_bit(MMF_TOPDOWN, &mm->flags);
 }
 #endif
+#ifdef CONFIG_MMU
 EXPORT_SYMBOL_IF_KUNIT(arch_pick_mmap_layout);
+#endif
 
 /**
  * __account_locked_vm - account locked pages to an mm's locked_vm