1From 37d2454af92b6ac3a3f98503cf9393efa1564189 Mon Sep 17 00:00:00 2001 2From: Edward Liaw <edliaw@google.com> 3Date: Thu, 28 Jul 2022 00:26:52 +0000 4Subject: [PATCH] userfaultfd: don't use unsupported feature 5 6UFFD_FEATURE_PAGEFAULT_FLAG_WP was added in linux 5.7 and currently 7unsupported in Android >5.10. 8 9Bug: 234150821 10Test: atest vts_linux_kselftest_x86_64:vm_userfaultfd_anon_x86_64#vm_userfaultfd_anon_x86_64 11Test: atest vts_linux_kselftest_x86_64:vm_userfaultfd_shmem_x86_64#vm_userfaultfd_shmem_x86_64 12Signed-off-by: Edward Liaw <edliaw@google.com> 13Change-Id: Ice2a9d3e427f717037175e68d5e209063c6693ee 14--- 15 tools/testing/selftests/vm/userfaultfd.c | 17 +++++++++++++++++ 16 1 file changed, 17 insertions(+) 17 18diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c 19index a38d5ac456d1a..d8ec4b0e4a4e0 100644 20--- a/tools/testing/selftests/vm/userfaultfd.c 21+++ b/tools/testing/selftests/vm/userfaultfd.c 22@@ -1652,7 +1652,24 @@ unsigned long default_huge_page_size(void) 23 24 static void set_test_type(const char *type) 25 { 26+ /* b/234150821 27+ * UFFD_FEATURE_PAGEFAULT_FLAG_WP unsupported in kernel <5.7 28+ */ 29+#ifdef __ANDROID__ 30+ uint64_t features = ( 31+ UFFD_FEATURE_EVENT_FORK | \ 32+ UFFD_FEATURE_EVENT_REMAP | \ 33+ UFFD_FEATURE_EVENT_REMOVE | \ 34+ UFFD_FEATURE_EVENT_UNMAP | \ 35+ UFFD_FEATURE_MISSING_HUGETLBFS | \ 36+ UFFD_FEATURE_MISSING_SHMEM | \ 37+ UFFD_FEATURE_SIGBUS | \ 38+ UFFD_FEATURE_THREAD_ID | \ 39+ UFFD_FEATURE_MINOR_HUGETLBFS | \ 40+ UFFD_FEATURE_MINOR_SHMEM); 41+#else 42 uint64_t features = UFFD_API_FEATURES; 43+#endif 44 45 if (!strcmp(type, "anon")) { 46 test_type = TEST_ANON; 47-- 482.37.1.455.g008518b4e5-goog 49 50