diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-06 20:35:11 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-06 20:35:11 +0000 |
commit | bda2928aad6f7ed80fd03c5a26224edc721040c3 (patch) | |
tree | df1ccb26decb5dd8062ef10828afbe499f3fe3b6 | |
parent | 8eb08efac8197df6c90e7da1112f68cd1c082833 (diff) | |
parent | e9ebf262fc0229aefd9f2366fba8870c2b17fdf5 (diff) | |
download | linux-kselftest-android13-qpr1-s5-release.tar.gz |
Snap for 8414339 from e9ebf262fc0229aefd9f2366fba8870c2b17fdf5 to tm-qpr1-releaseandroid-t-qpr1-beta-3-gplandroid-t-qpr1-beta-1-gplandroid-13.0.0_r30android-13.0.0_r29android-13.0.0_r28android-13.0.0_r27android-13.0.0_r24android-13.0.0_r23android-13.0.0_r22android-13.0.0_r21android-13.0.0_r20android-13.0.0_r19android-13.0.0_r18android-13.0.0_r17android-13.0.0_r16android13-qpr1-s8-releaseandroid13-qpr1-s7-releaseandroid13-qpr1-s6-releaseandroid13-qpr1-s5-releaseandroid13-qpr1-s4-releaseandroid13-qpr1-s3-releaseandroid13-qpr1-s2-releaseandroid13-qpr1-s1-releaseandroid13-qpr1-release
Change-Id: I6faf0af74f8cac2d3d189799a111e74e9b3bb556
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); |