1*053f45beSAndroid Build Coastguard WorkerFrom e45a80f8628f60be23c2a8e0b1418c69b0835015 Mon Sep 17 00:00:00 2001 2*053f45beSAndroid Build Coastguard WorkerFrom: Edward Liaw <[email protected]> 3*053f45beSAndroid Build Coastguard WorkerDate: Fri, 6 Oct 2023 18:46:00 +0000 4*053f45beSAndroid Build Coastguard WorkerSubject: [PATCH] seccomp_bpf: Disable incompatible tests 5*053f45beSAndroid Build Coastguard Worker 6*053f45beSAndroid Build Coastguard WorkerBug: 147676645 7*053f45beSAndroid Build Coastguard WorkerTest: atest vts_linux_kselftest_x86_64:seccomp_seccomp_bpf_x86_64 8*053f45beSAndroid Build Coastguard WorkerTest: atest vts_linux_kselftest_arm_64:seccomp_seccomp_bpf_arm_64 9*053f45beSAndroid Build Coastguard WorkerSigned-off-by: Edward Liaw <[email protected]> 10*053f45beSAndroid Build Coastguard Worker--- 11*053f45beSAndroid Build Coastguard Worker tools/testing/selftests/seccomp/seccomp_bpf.c | 32 +++++++++++++++++++ 12*053f45beSAndroid Build Coastguard Worker 1 file changed, 32 insertions(+) 13*053f45beSAndroid Build Coastguard Worker 14*053f45beSAndroid Build Coastguard Workerdiff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c 15*053f45beSAndroid Build Coastguard Workerindex 110ca8bf8e2b..953876b81793 100644 16*053f45beSAndroid Build Coastguard Worker--- a/tools/testing/selftests/seccomp/seccomp_bpf.c 17*053f45beSAndroid Build Coastguard Worker+++ b/tools/testing/selftests/seccomp/seccomp_bpf.c 18*053f45beSAndroid Build Coastguard Worker@@ -4488,6 +4488,13 @@ static char get_proc_stat(struct __test_metadata *_metadata, pid_t pid) 19*053f45beSAndroid Build Coastguard Worker return status; 20*053f45beSAndroid Build Coastguard Worker } 21*053f45beSAndroid Build Coastguard Worker 22*053f45beSAndroid Build Coastguard Worker+/* 23*053f45beSAndroid Build Coastguard Worker+ * b/147676645 24*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_IOCTL_NOTIF_RECV not compatible < 5.0 25*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_IOCTL_NOTIF_SEND not compatible < 5.0 26*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_FILTER_FLAG_NEW_LISTENER not compatible < 5.0 27*053f45beSAndroid Build Coastguard Worker+ */ 28*053f45beSAndroid Build Coastguard Worker+#ifndef __ANDROID__ 29*053f45beSAndroid Build Coastguard Worker TEST(user_notification_fifo) 30*053f45beSAndroid Build Coastguard Worker { 31*053f45beSAndroid Build Coastguard Worker struct seccomp_notif_resp resp = {}; 32*053f45beSAndroid Build Coastguard Worker@@ -4566,6 +4573,7 @@ restart_wait: 33*053f45beSAndroid Build Coastguard Worker EXPECT_EQ(0, WEXITSTATUS(status)); 34*053f45beSAndroid Build Coastguard Worker } 35*053f45beSAndroid Build Coastguard Worker } 36*053f45beSAndroid Build Coastguard Worker+#endif 37*053f45beSAndroid Build Coastguard Worker 38*053f45beSAndroid Build Coastguard Worker /* get_proc_syscall - Get the syscall in progress for a given pid 39*053f45beSAndroid Build Coastguard Worker * 40*053f45beSAndroid Build Coastguard Worker@@ -4590,6 +4598,12 @@ static long get_proc_syscall(struct __test_metadata *_metadata, int pid) 41*053f45beSAndroid Build Coastguard Worker return ret; 42*053f45beSAndroid Build Coastguard Worker } 43*053f45beSAndroid Build Coastguard Worker 44*053f45beSAndroid Build Coastguard Worker+/* 45*053f45beSAndroid Build Coastguard Worker+ * b/147676645 46*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_FILTER_FLAG_NEW_LISTENER not compatible < 5.0 47*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV not compatible < 5.19 48*053f45beSAndroid Build Coastguard Worker+ */ 49*053f45beSAndroid Build Coastguard Worker+#ifndef __ANDROID__ 50*053f45beSAndroid Build Coastguard Worker /* Ensure non-fatal signals prior to receive are unmodified */ 51*053f45beSAndroid Build Coastguard Worker TEST(user_notification_wait_killable_pre_notification) 52*053f45beSAndroid Build Coastguard Worker { 53*053f45beSAndroid Build Coastguard Worker@@ -4659,7 +4673,16 @@ TEST(user_notification_wait_killable_pre_notification) 54*053f45beSAndroid Build Coastguard Worker 55*053f45beSAndroid Build Coastguard Worker EXPECT_EQ(read(sk_pair[0], &c, 1), 1); 56*053f45beSAndroid Build Coastguard Worker } 57*053f45beSAndroid Build Coastguard Worker+#endif 58*053f45beSAndroid Build Coastguard Worker 59*053f45beSAndroid Build Coastguard Worker+/* 60*053f45beSAndroid Build Coastguard Worker+ * b/147676645 61*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_IOCTL_NOTIF_RECV not compatible < 5.0 62*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_IOCTL_NOTIF_SEND not compatible < 5.0 63*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_FILTER_FLAG_NEW_LISTENER not compatible < 5.0 64*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV not compatible < 5.19 65*053f45beSAndroid Build Coastguard Worker+ */ 66*053f45beSAndroid Build Coastguard Worker+#ifndef __ANDROID__ 67*053f45beSAndroid Build Coastguard Worker /* Ensure non-fatal signals after receive are blocked */ 68*053f45beSAndroid Build Coastguard Worker TEST(user_notification_wait_killable) 69*053f45beSAndroid Build Coastguard Worker { 70*053f45beSAndroid Build Coastguard Worker@@ -4738,7 +4761,15 @@ TEST(user_notification_wait_killable) 71*053f45beSAndroid Build Coastguard Worker EXPECT_EQ(true, WIFEXITED(status)); 72*053f45beSAndroid Build Coastguard Worker EXPECT_EQ(0, WEXITSTATUS(status)); 73*053f45beSAndroid Build Coastguard Worker } 74*053f45beSAndroid Build Coastguard Worker+#endif 75*053f45beSAndroid Build Coastguard Worker 76*053f45beSAndroid Build Coastguard Worker+/* 77*053f45beSAndroid Build Coastguard Worker+ * b/147676645 78*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_IOCTL_NOTIF_RECV not compatible < 5.0 79*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_FILTER_FLAG_NEW_LISTENER not compatible < 5.0 80*053f45beSAndroid Build Coastguard Worker+ * SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV not compatible < 5.19 81*053f45beSAndroid Build Coastguard Worker+ */ 82*053f45beSAndroid Build Coastguard Worker+#ifndef __ANDROID__ 83*053f45beSAndroid Build Coastguard Worker /* Ensure fatal signals after receive are not blocked */ 84*053f45beSAndroid Build Coastguard Worker TEST(user_notification_wait_killable_fatal) 85*053f45beSAndroid Build Coastguard Worker { 86*053f45beSAndroid Build Coastguard Worker@@ -4788,6 +4819,7 @@ TEST(user_notification_wait_killable_fatal) 87*053f45beSAndroid Build Coastguard Worker EXPECT_EQ(true, WIFSIGNALED(status)); 88*053f45beSAndroid Build Coastguard Worker EXPECT_EQ(SIGTERM, WTERMSIG(status)); 89*053f45beSAndroid Build Coastguard Worker } 90*053f45beSAndroid Build Coastguard Worker+#endif 91*053f45beSAndroid Build Coastguard Worker 92*053f45beSAndroid Build Coastguard Worker /* 93*053f45beSAndroid Build Coastguard Worker * TODO: 94*053f45beSAndroid Build Coastguard Worker-- 95*053f45beSAndroid Build Coastguard Worker2.42.0.609.gbb76f46606-goog 96*053f45beSAndroid Build Coastguard Worker 97