| From 37d2454af92b6ac3a3f98503cf9393efa1564189 Mon Sep 17 00:00:00 2001 |
| From: Edward Liaw <edliaw@google.com> |
| Date: Thu, 28 Jul 2022 00:26:52 +0000 |
| Subject: [PATCH] userfaultfd: don't use unsupported feature |
| |
| UFFD_FEATURE_PAGEFAULT_FLAG_WP was added in linux 5.7 and currently |
| unsupported in Android >5.10. |
| |
| Bug: 234150821 |
| Test: atest vts_linux_kselftest_x86_64:vm_userfaultfd_anon_x86_64#vm_userfaultfd_anon_x86_64 |
| Test: atest vts_linux_kselftest_x86_64:vm_userfaultfd_shmem_x86_64#vm_userfaultfd_shmem_x86_64 |
| Signed-off-by: Edward Liaw <[email protected]> |
| Change-Id: Ice2a9d3e427f717037175e68d5e209063c6693ee |
| --- |
| tools/testing/selftests/vm/userfaultfd.c | 17 +++++++++++++++++ |
| 1 file changed, 17 insertions(+) |
| |
| diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c |
| index a38d5ac456d1a..d8ec4b0e4a4e0 100644 |
| --- a/tools/testing/selftests/vm/userfaultfd.c |
| +++ b/tools/testing/selftests/vm/userfaultfd.c |
| @@ -1652,7 +1652,24 @@ unsigned long default_huge_page_size(void) |
| |
| static void set_test_type(const char *type) |
| { |
| + /* b/234150821 |
| + * UFFD_FEATURE_PAGEFAULT_FLAG_WP unsupported in kernel <5.7 |
| + */ |
| +#ifdef __ANDROID__ |
| + uint64_t features = ( |
| + UFFD_FEATURE_EVENT_FORK | \ |
| + UFFD_FEATURE_EVENT_REMAP | \ |
| + UFFD_FEATURE_EVENT_REMOVE | \ |
| + UFFD_FEATURE_EVENT_UNMAP | \ |
| + UFFD_FEATURE_MISSING_HUGETLBFS | \ |
| + UFFD_FEATURE_MISSING_SHMEM | \ |
| + UFFD_FEATURE_SIGBUS | \ |
| + UFFD_FEATURE_THREAD_ID | \ |
| + UFFD_FEATURE_MINOR_HUGETLBFS | \ |
| + UFFD_FEATURE_MINOR_SHMEM); |
| +#else |
| uint64_t features = UFFD_API_FEATURES; |
| +#endif |
| |
| if (!strcmp(type, "anon")) { |
| test_type = TEST_ANON; |
| -- |
| 2.37.1.455.g008518b4e5-goog |
| |