diff options
author | 2023-04-06 11:40:45 +0100 | |
---|---|---|
committer | 2023-04-06 11:40:45 +0100 | |
commit | c8c65c613e3c42b8c218a443a8bf15e3a05434fd (patch) | |
tree | dce63741297e20a301410383e93604e236341958 | |
parent | 7348247776fb318a0c132d340c12384497ec0088 (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
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: " |