1*053f45beSAndroid Build Coastguard WorkerFrom c77e5f1b6503ac157abd9a19f021b47fd44ddd37 Mon Sep 17 00:00:00 2001
2*053f45beSAndroid Build Coastguard WorkerFrom: Edward Liaw <[email protected]>
3*053f45beSAndroid Build Coastguard WorkerDate: Wed, 11 May 2022 00:54:45 +0000
4*053f45beSAndroid Build Coastguard WorkerSubject: [PATCH 19/20] userfaultfd: pagemap not supported < 5.14
5*053f45beSAndroid Build Coastguard Worker
6*053f45beSAndroid Build Coastguard WorkerDisable uffd tests with pagemap until Android kernel catches up
7*053f45beSAndroid Build Coastguard Worker
8*053f45beSAndroid Build Coastguard WorkerBug: 232026677
9*053f45beSAndroid Build Coastguard WorkerSigned-off-by: Edward Liaw <[email protected]>
10*053f45beSAndroid Build Coastguard Worker---
11*053f45beSAndroid Build Coastguard Worker tools/testing/selftests/vm/userfaultfd.c | 12 ++++++++++++
12*053f45beSAndroid Build Coastguard Worker 1 file changed, 12 insertions(+)
13*053f45beSAndroid Build Coastguard Worker
14*053f45beSAndroid Build Coastguard Workerdiff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c
15*053f45beSAndroid Build Coastguard Workerindex 28230a57fedd..e905bb502667 100644
16*053f45beSAndroid Build Coastguard Worker--- a/tools/testing/selftests/vm/userfaultfd.c
17*053f45beSAndroid Build Coastguard Worker+++ b/tools/testing/selftests/vm/userfaultfd.c
18*053f45beSAndroid Build Coastguard Worker@@ -1444,6 +1444,11 @@ static int userfaultfd_minor_test(void)
19*053f45beSAndroid Build Coastguard Worker #define PM_SWAP                       BIT_ULL(62)
20*053f45beSAndroid Build Coastguard Worker #define PM_PRESENT                    BIT_ULL(63)
21*053f45beSAndroid Build Coastguard Worker
22*053f45beSAndroid Build Coastguard Worker+/*
23*053f45beSAndroid Build Coastguard Worker+ * b/232026677
24*053f45beSAndroid Build Coastguard Worker+ * pagemap not compatible with < 5.14
25*053f45beSAndroid Build Coastguard Worker+ */
26*053f45beSAndroid Build Coastguard Worker+#ifndef __ANDROID__
27*053f45beSAndroid Build Coastguard Worker static int pagemap_open(void)
28*053f45beSAndroid Build Coastguard Worker {
29*053f45beSAndroid Build Coastguard Worker 	int fd = open("/proc/self/pagemap", O_RDONLY);
30*053f45beSAndroid Build Coastguard Worker@@ -1569,6 +1574,7 @@ static void userfaultfd_pagemap_test(unsigned int test_pgsize)
31*053f45beSAndroid Build Coastguard Worker 	close(pagemap_fd);
32*053f45beSAndroid Build Coastguard Worker 	printf("done\n");
33*053f45beSAndroid Build Coastguard Worker }
34*053f45beSAndroid Build Coastguard Worker+#endif
35*053f45beSAndroid Build Coastguard Worker
36*053f45beSAndroid Build Coastguard Worker static int userfaultfd_stress(void)
37*053f45beSAndroid Build Coastguard Worker {
38*053f45beSAndroid Build Coastguard Worker@@ -1702,6 +1708,11 @@ static int userfaultfd_stress(void)
39*053f45beSAndroid Build Coastguard Worker 		uffd_stats_report(uffd_stats, nr_cpus);
40*053f45beSAndroid Build Coastguard Worker 	}
41*053f45beSAndroid Build Coastguard Worker
42*053f45beSAndroid Build Coastguard Worker+/*
43*053f45beSAndroid Build Coastguard Worker+ * b/232026677
44*053f45beSAndroid Build Coastguard Worker+ * pagemap not compatible with < 5.14
45*053f45beSAndroid Build Coastguard Worker+ */
46*053f45beSAndroid Build Coastguard Worker+#ifndef __ANDROID__
47*053f45beSAndroid Build Coastguard Worker 	if (test_type == TEST_ANON) {
48*053f45beSAndroid Build Coastguard Worker 		/*
49*053f45beSAndroid Build Coastguard Worker 		 * shmem/hugetlb won't be able to run since they have different
50*053f45beSAndroid Build Coastguard Worker@@ -1716,6 +1727,7 @@ static int userfaultfd_stress(void)
51*053f45beSAndroid Build Coastguard Worker 		 */
52*053f45beSAndroid Build Coastguard Worker 		userfaultfd_pagemap_test(page_size * 512);
53*053f45beSAndroid Build Coastguard Worker 	}
54*053f45beSAndroid Build Coastguard Worker+#endif
55*053f45beSAndroid Build Coastguard Worker
56*053f45beSAndroid Build Coastguard Worker 	pthread_key_delete(long_jmp_key);
57*053f45beSAndroid Build Coastguard Worker
58*053f45beSAndroid Build Coastguard Worker--
59*053f45beSAndroid Build Coastguard Worker2.42.0.609.gbb76f46606-goog
60*053f45beSAndroid Build Coastguard Worker
61