summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alan Stokes <alanstokes@google.com> 2023-04-06 11:40:45 +0100
committer Alan Stokes <alanstokes@google.com> 2023-04-06 11:40:45 +0100
commitc8c65c613e3c42b8c218a443a8bf15e3a05434fd (patch)
treedce63741297e20a301410383e93604e236341958
parent7348247776fb318a0c132d340c12384497ec0088 (diff)
Make AVC log parsing less strict
Commit 5aab83aa6130760ca5c76c5b6cd429f1b29668e8 means that double spaces are no longer removed from audit log messages. Change the parsing code to be tolerant of 1 or more spaces in the relevant places. Also modify the tests to fail more quickly (otherwise they just time out, which makes the failure hard to diagnose). Make sure we have one explicit test for a log message with multiple spaces. Bug: 276686518 Test: atest DynamicCodeLoggerIntegrationTests Change-Id: Ia08b90785aabb4db0f005587e2315893b561573a
-rw-r--r--services/core/java/com/android/server/pm/DynamicCodeLoggingService.java2
-rw-r--r--tests/DynamicCodeLoggerIntegrationTests/src/com/android/server/pm/dex/DynamicCodeLoggerIntegrationTests.java4
2 files changed, 3 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/DynamicCodeLoggingService.java b/services/core/java/com/android/server/pm/DynamicCodeLoggingService.java
index b4bcd5b3308c..5de15595df6d 100644
--- a/services/core/java/com/android/server/pm/DynamicCodeLoggingService.java
+++ b/services/core/java/com/android/server/pm/DynamicCodeLoggingService.java
@@ -61,7 +61,7 @@ public class DynamicCodeLoggingService extends JobService {
private static final String AVC_PREFIX = "type=" + AUDIT_AVC + " ";
private static final Pattern EXECUTE_NATIVE_AUDIT_PATTERN =
- Pattern.compile(".*\\bavc: granted \\{ execute(?:_no_trans|) \\} .*"
+ Pattern.compile(".*\\bavc: +granted +\\{ execute(?:_no_trans|) \\} .*"
+ "\\bpath=(?:\"([^\" ]*)\"|([0-9A-F]+)) .*"
+ "\\bscontext=u:r:untrusted_app(?:_25|_27)?:.*"
+ "\\btcontext=u:object_r:app_data_file:.*"
diff --git a/tests/DynamicCodeLoggerIntegrationTests/src/com/android/server/pm/dex/DynamicCodeLoggerIntegrationTests.java b/tests/DynamicCodeLoggerIntegrationTests/src/com/android/server/pm/dex/DynamicCodeLoggerIntegrationTests.java
index 5430dee5ca31..afa4ff80b6e3 100644
--- a/tests/DynamicCodeLoggerIntegrationTests/src/com/android/server/pm/dex/DynamicCodeLoggerIntegrationTests.java
+++ b/tests/DynamicCodeLoggerIntegrationTests/src/com/android/server/pm/dex/DynamicCodeLoggerIntegrationTests.java
@@ -84,7 +84,7 @@ public final class DynamicCodeLoggerIntegrationTests {
// avoid flakiness we run these tests multiple times, allowing progressively longer between
// code loading and checking the logs on each try.)
private static final int AUDIT_LOG_RETRIES = 10;
- private static final int RETRY_DELAY_MS = 2_000;
+ private static final int RETRY_DELAY_MS = 500;
private static Context sContext;
private static int sMyUid;
@@ -245,7 +245,7 @@ public final class DynamicCodeLoggerIntegrationTests {
"/DynamicCodeLoggerNativeExecutable", privateCopyFile);
EventLog.writeEvent(EventLog.getTagCode("auditd"),
- "type=1400 avc: granted { execute_no_trans } "
+ "type=1400 avc: granted { execute_no_trans } "
+ "path=\"" + privateCopyFile + "\" "
+ "scontext=u:r:untrusted_app: "
+ "tcontext=u:object_r:app_data_file: "