From 2bcbc35050b9b0799569daf707d0cf4766adafce Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Mon, 24 Jun 2019 12:42:24 +0900 Subject: Synchronize the NetworkStatsFactory constructor. This ensures the constructor takes the necessary lock before accessing memmber variables. Bug: 113122541 Test: atest FrameworksNetTests Change-Id: Ibd324ed922c738b8d77d4eb74f45b75c6645bdc7 --- services/core/java/com/android/server/net/NetworkStatsFactory.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/net/NetworkStatsFactory.java b/services/core/java/com/android/server/net/NetworkStatsFactory.java index 7687718b0693..9344ef71c9f7 100644 --- a/services/core/java/com/android/server/net/NetworkStatsFactory.java +++ b/services/core/java/com/android/server/net/NetworkStatsFactory.java @@ -179,8 +179,10 @@ public class NetworkStatsFactory { mStatsXtIfaceFmt = new File(procRoot, "net/xt_qtaguid/iface_stat_fmt"); mStatsXtUid = new File(procRoot, "net/xt_qtaguid/stats"); mUseBpfStats = useBpfStats; - mPersistSnapshot = new NetworkStats(SystemClock.elapsedRealtime(), -1); - mTunAnd464xlatAdjustedStats = new NetworkStats(SystemClock.elapsedRealtime(), -1); + synchronized (sPersistentDataLock) { + mPersistSnapshot = new NetworkStats(SystemClock.elapsedRealtime(), -1); + mTunAnd464xlatAdjustedStats = new NetworkStats(SystemClock.elapsedRealtime(), -1); + } } public NetworkStats readBpfNetworkStatsDev() throws IOException { -- cgit v1.2.3-59-g8ed1b