aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-04 10:36:16 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-04 10:36:16 +0000
commit064c847e10a7c55af6bb1f8680ca7e61bf8b63c1 (patch)
treedf1ccb26decb5dd8062ef10828afbe499f3fe3b6
parent0580a8222901f28a67b41f817e0c3b6ba70a3d43 (diff)
parentd01e24273830a794e73d0d67b9ec9c248f2b211e (diff)
downloadlinux-kselftest-android13-mainline-adservices-release.tar.gz
Snap for 8401988 from d01e24273830a794e73d0d67b9ec9c248f2b211e to mainline-adservices-releaseaml_ads_331814200aml_ads_331710270aml_ads_331611190aml_ads_331511020aml_ads_331418080aml_ads_331131000android13-mainline-adservices-release
Change-Id: I2e913980a16ae7e9986c5313427f7441bd0467fc
-rw-r--r--android/patches/0022-selftests-binderfs-skip-tests-for-unsupported-kernel.patch65
-rw-r--r--android/patches/0025-selftests-userfaultfd-skip-if-unavailable.patch33
-rw-r--r--tools/testing/selftests/filesystems/binderfs/binderfs_test.c28
-rw-r--r--tools/testing/selftests/vm/userfaultfd.c2
4 files changed, 34 insertions, 94 deletions
diff --git a/android/patches/0022-selftests-binderfs-skip-tests-for-unsupported-kernel.patch b/android/patches/0022-selftests-binderfs-skip-tests-for-unsupported-kernel.patch
deleted file mode 100644
index 7b1e1a1c32bc..000000000000
--- a/android/patches/0022-selftests-binderfs-skip-tests-for-unsupported-kernel.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 57b74c1b318625057398ccbe479a157507488d8c Mon Sep 17 00:00:00 2001
-From: Carlos Llamas <cmllamas@google.com>
-Date: Tue, 14 Dec 2021 05:58:48 +0000
-Subject: [PATCH] selftests/binderfs: skip tests for unsupported kernels
-
-Binderfs was first introduced in Linux 5.0 release, so we need to skip
-these tests for older kernels. Also, we force a successful exit as the
-current framework doesn't handle KSFT_SKIP return codes.
-
-Signed-off-by: Carlos Llamas <cmllamas@google.com>
----
- .../filesystems/binderfs/binderfs_test.c | 28 +++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
-diff --git a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
-index 8c2ed962e1c7..be5a8f446066 100644
---- a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
-+++ b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
-@@ -12,6 +12,7 @@
- #include <sys/mount.h>
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <sys/utsname.h>
- #include <unistd.h>
- #include <linux/android/binder.h>
- #include <linux/android/binderfs.h>
-@@ -267,8 +268,35 @@ static void binderfs_test_unprivileged()
- __do_binderfs_test();
- }
-
-+/* binderfs first introduced in Linux 5.0 */
-+bool binderfs_supported(void)
-+{
-+ const int min_kernel_version = 5;
-+ struct utsname utsname;
-+ int ret, version;
-+
-+ ret = uname(&utsname);
-+ if (ret)
-+ ksft_exit_fail_msg("%s - Failed to get kernel version\n",
-+ strerror(errno));
-+
-+ ret = sscanf(utsname.release, "%d.", &version);
-+ if (ret != 1)
-+ ksft_exit_fail_msg("%s - Failed to parse uname: %s\n",
-+ strerror(errno), utsname.release);
-+
-+ return version >= min_kernel_version? true: false;
-+}
-+
-+
- int main(int argc, char *argv[])
- {
-+ /* Force success exit for older kernels */
-+ if (!binderfs_supported()) {
-+ ksft_print_msg("Skipping tests - binderfs not supported\n");
-+ ksft_exit_pass();
-+ }
-+
- binderfs_test_privileged();
- binderfs_test_unprivileged();
- ksft_exit_pass();
---
-2.34.1.173.g76aa8bc2d0-goog
-
diff --git a/android/patches/0025-selftests-userfaultfd-skip-if-unavailable.patch b/android/patches/0025-selftests-userfaultfd-skip-if-unavailable.patch
new file mode 100644
index 000000000000..0920fb307ed0
--- /dev/null
+++ b/android/patches/0025-selftests-userfaultfd-skip-if-unavailable.patch
@@ -0,0 +1,33 @@
+From 30c060a86f0e56c19e18ade48c0ee7592edfc317 Mon Sep 17 00:00:00 2001
+From: Edward Liaw <edliaw@google.com>
+Date: Thu, 24 Mar 2022 00:29:56 +0000
+Subject: [PATCH] selftests: userfaultfd skip if unavailable
+
+Skip userfaultfd selftest if the syscall is not available for this
+kernel.
+
+Bug: 207175332
+Bug: 206503000
+Test: atest vts_linux_kselftest_arm_64:vm_userfaultfd_shmem_arm_64
+Change-Id: I60e4d6cc5b3886048ffa1995e4b090f6fbe26b3d
+Signed-off-by: Edward Liaw <edliaw@google.com>
+---
+ tools/testing/selftests/vm/userfaultfd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c
+index ffc78f3..17947fe 100644
+--- a/tools/testing/selftests/vm/userfaultfd.c
++++ b/tools/testing/selftests/vm/userfaultfd.c
+@@ -665,7 +665,7 @@ static int userfaultfd_open(int features)
+ if (errno == ENOSYS) {
+ fprintf(stderr,
+ "userfaultfd syscall not available in this kernel\n");
+- exit(KSFT_PASS);
++ exit(KSFT_SKIP);
+ }
+ fprintf(stderr,
+ "userfaultfd syscall failed with errno: %d\n", errno);
+--
+2.35.1.1021.g381101b075-goog
+
diff --git a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
index 4465b4f6a81a..397bf265ba97 100644
--- a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
+++ b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
@@ -12,7 +12,6 @@
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/types.h>
-#include <sys/utsname.h>
#include <unistd.h>
#include <linux/android/binder.h>
#include <linux/android/binderfs.h>
@@ -274,35 +273,8 @@ static void binderfs_test_unprivileged()
__do_binderfs_test();
}
-/* binderfs first introduced in Linux 5.0 */
-bool binderfs_supported(void)
-{
- const int min_kernel_version = 5;
- struct utsname utsname;
- int ret, version;
-
- ret = uname(&utsname);
- if (ret)
- ksft_exit_fail_msg("%s - Failed to get kernel version\n",
- strerror(errno));
-
- ret = sscanf(utsname.release, "%d.", &version);
- if (ret != 1)
- ksft_exit_fail_msg("%s - Failed to parse uname: %s\n",
- strerror(errno), utsname.release);
-
- return version >= min_kernel_version? true: false;
-}
-
-
int main(int argc, char *argv[])
{
- /* Force success exit for older kernels */
- if (!binderfs_supported()) {
- ksft_print_msg("Skipping tests - binderfs not supported\n");
- ksft_exit_pass();
- }
-
binderfs_test_privileged();
binderfs_test_unprivileged();
ksft_exit_pass();
diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c
index ffc78f3e4444..17947feb6d8e 100644
--- a/tools/testing/selftests/vm/userfaultfd.c
+++ b/tools/testing/selftests/vm/userfaultfd.c
@@ -665,7 +665,7 @@ static int userfaultfd_open(int features)
if (errno == ENOSYS) {
fprintf(stderr,
"userfaultfd syscall not available in this kernel\n");
- exit(KSFT_PASS);
+ exit(KSFT_SKIP);
}
fprintf(stderr,
"userfaultfd syscall failed with errno: %d\n", errno);