diff options
| -rw-r--r-- | services/core/java/com/android/server/vcn/Vcn.java | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/vcn/VcnGatewayConnection.java | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/vcn/Vcn.java b/services/core/java/com/android/server/vcn/Vcn.java index 37f04501bf28..5a5f7ef7b225 100644 --- a/services/core/java/com/android/server/vcn/Vcn.java +++ b/services/core/java/com/android/server/vcn/Vcn.java @@ -626,8 +626,12 @@ public class Vcn extends Handler { * Dumps the state of this Vcn for logging and debugging purposes. * * <p>PII and credentials MUST NEVER be dumped here. + * + * <p>This method is not thread safe and MUST run on the VCN thread. */ public void dump(IndentingPrintWriter pw) { + mVcnContext.ensureRunningOnLooperThread(); + pw.println("Vcn (" + mSubscriptionGroup + "):"); pw.increaseIndent(); diff --git a/services/core/java/com/android/server/vcn/VcnGatewayConnection.java b/services/core/java/com/android/server/vcn/VcnGatewayConnection.java index 3094b182093b..8d378a021f17 100644 --- a/services/core/java/com/android/server/vcn/VcnGatewayConnection.java +++ b/services/core/java/com/android/server/vcn/VcnGatewayConnection.java @@ -2580,8 +2580,12 @@ public class VcnGatewayConnection extends StateMachine { * Dumps the state of this VcnGatewayConnection for logging and debugging purposes. * * <p>PII and credentials MUST NEVER be dumped here. + * + * <p>This method is not thread safe and MUST run on the VCN thread. */ public void dump(IndentingPrintWriter pw) { + mVcnContext.ensureRunningOnLooperThread(); + pw.println("VcnGatewayConnection (" + mConnectionConfig.getGatewayConnectionName() + "):"); pw.increaseIndent(); @@ -2602,6 +2606,19 @@ public class VcnGatewayConnection extends StateMachine { mUnderlyingNetworkController.dump(pw); pw.println(); + if (mIkeSession == null) { + pw.println("mIkeSession: null"); + } else { + pw.println("mIkeSession:"); + + // Add a try catch block in case IkeSession#dump is not thread-safe + try { + mIkeSession.dump(pw); + } catch (Exception e) { + Slog.wtf(TAG, "Failed to dump IkeSession: " + e); + } + } + pw.decreaseIndent(); } @@ -2905,6 +2922,11 @@ public class VcnGatewayConnection extends StateMachine { public void setNetwork(@NonNull Network network) { mImpl.setNetwork(network); } + + /** Dumps the state of the IkeSession */ + public void dump(@NonNull IndentingPrintWriter pw) { + mImpl.dump(pw); + } } /** Proxy Implementation of WakeLock, used for testing. */ |