Commit Graph

2313 Commits

Author SHA1 Message Date
Junyu Lai
f013dba5c2 [automerger skipped] Merge "Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb" into rvc-dev am: 358fe14bce am: 84ffb10e8e am: aa9321b114 -s ours
am skip reason: Change-Id If74e9f2ea597a0d5ae4668c3358bc687f342bbb5 with SHA-1 a6880d0037 is in history

Change-Id: I9000677fa68021af9315791e93e9e51c30496a33
2020-05-13 01:16:30 +00:00
Junyu Lai
84ffb10e8e Merge "Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb" into rvc-dev am: 358fe14bce
Change-Id: I0ca2a7c58fbf151aa191a874e3a29a14f0ba3149
2020-05-13 00:49:12 +00:00
Junyu Lai
358fe14bce Merge "Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb" into rvc-dev 2020-05-13 00:42:42 +00:00
Automerger Merge Worker
343e1fcbff Merge "[automerger skipped] Merge changes I37dd459d,I1959f308 into rvc-dev am: d7aa055b61 -s ours am: bd38d29054 -s ours" into rvc-d1-dev-plus-aosp am: 461e330dee -s ours
am skip reason: Change-Id I37dd459d08b57b14f72f3b28ea80fa231b152f10 with SHA-1 e696390fee is in history

Change-Id: Ie3884e88a5e1b7e8997da346c7984a6bf02b186f
2020-05-12 21:04:43 +00:00
Automerger Merge Worker
063a508caf [automerger skipped] Merge changes from topic "am-a4c996e50cb34a3bb257f059536b77ae" into rvc-d1-dev-plus-aosp am: 5f93a08607 -s ours
am skip reason: Change-Id I37dd459d08b57b14f72f3b28ea80fa231b152f10 with SHA-1 4d3f871a94 is in history

Change-Id: I0ea68069cd9e07bf2d95b14452046fdb63613782
2020-05-12 21:03:36 +00:00
Automerger Merge Worker
461e330dee Merge "[automerger skipped] Merge changes I37dd459d,I1959f308 into rvc-dev am: d7aa055b61 -s ours am: bd38d29054 -s ours" into rvc-d1-dev-plus-aosp 2020-05-12 20:47:07 +00:00
TreeHugger Robot
b4e067f7b0 [automerger skipped] Merge changes I37dd459d,I1959f308 into rvc-dev am: d7aa055b61 -s ours am: bd38d29054 -s ours
am skip reason: Change-Id I37dd459d08b57b14f72f3b28ea80fa231b152f10 with SHA-1 4d3f871a94 is in history

Change-Id: I439913a4195cea16832b3ec6c19a3cfaa63dfdb8
2020-05-12 20:47:02 +00:00
TreeHugger Robot
580791f90a [automerger skipped] Merge changes I37dd459d,I1959f308 into rvc-dev am: d7aa055b61 am: 5b624bb023 -s ours
am skip reason: Change-Id I37dd459d08b57b14f72f3b28ea80fa231b152f10 with SHA-1 4d3f871a94 is in history

Change-Id: Ib9aaf9091937ae27f35a389cc3de696567cefe1b
2020-05-12 20:46:55 +00:00
Benedict Wong
13143d325b [automerger skipped] Use TransformRecord to get SPI instead of SpiRecord am: 003c5c9807 am: 7db9e00fe5 -s ours
am skip reason: Change-Id I1959f3080946267243564459ff4207647922566e with SHA-1 ec2e2e2174 is in history

Change-Id: Id31a417c7a4204bd646400e90456424d12d2d9d0
2020-05-12 20:46:52 +00:00
TreeHugger Robot
5b624bb023 Merge changes I37dd459d,I1959f308 into rvc-dev am: d7aa055b61
Change-Id: Ie0c5a3c7bfc16edf98203212b8a1e7e4e8b302b9
2020-05-12 20:45:01 +00:00
Benedict Wong
7db9e00fe5 Use TransformRecord to get SPI instead of SpiRecord am: 003c5c9807
Change-Id: I011543293623240b5652ac9818b0b3f28a397e97
2020-05-12 20:44:59 +00:00
TreeHugger Robot
bd38d29054 [automerger skipped] Merge changes I37dd459d,I1959f308 into rvc-dev am: d7aa055b61 -s ours
am skip reason: Change-Id I37dd459d08b57b14f72f3b28ea80fa231b152f10 with SHA-1 4d3f871a94 is in history

Change-Id: I0b5556bcaa27ca0a379f910bfba80aec506348c9
2020-05-12 20:41:03 +00:00
TreeHugger Robot
d7aa055b61 Merge changes I37dd459d,I1959f308 into rvc-dev
* changes:
  Add tests for Tunnel, Transport mode application with released SPIs
  Use TransformRecord to get SPI instead of SpiRecord
2020-05-12 20:30:03 +00:00
Treehugger Robot
1d4d01a8a8 Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb
In NetworkStatsService, mStatsLock will be held when
iterating through the provider list. This is to protect the list
from concurrent broadcast that triggered by
NetworkPolicyManagerService. This is not good since the binder
call is oneway, it does not make sense to block every
access to the providers.

This change also remove unuse variable and reduce verbose log.

Test: atest FrameworksNetTests TetheringTests
Bug: 150418178
Change-Id: If74e9f2ea597a0d5ae4668c3358bc687f342bbb5
Merged-In: If74e9f2ea597a0d5ae4668c3358bc687f342bbb5
(cherry picked from commit 5d8f96c6967d5b1a42ba374521078e75a9e6f187)
2020-05-12 11:36:03 +00:00
Treehugger Robot
e3f3a1d7d8 Merge "Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb" am: 9aa60f31da am: 23289b2670 am: c146edd88a am: 2d00972cf9
Change-Id: I01994daf04cca1477777964ad6e40627a48ad169
2020-05-12 10:52:59 +00:00
Treehugger Robot
2d00972cf9 Merge "Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb" am: 9aa60f31da am: 23289b2670 am: c146edd88a
Change-Id: I08aea8c4ace0cde386b4873ab0e1c05dc3128531
2020-05-12 10:41:50 +00:00
Treehugger Robot
c146edd88a Merge "Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb" am: 9aa60f31da am: 23289b2670
Change-Id: Ie188a72163f70c5efc964c03acdae9dac2bbe6cf
2020-05-12 10:26:04 +00:00
Treehugger Robot
23289b2670 Merge "Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb" am: 9aa60f31da
Change-Id: I51dfa3882e33db89d40b9e912d5178096c724de6
2020-05-12 10:12:56 +00:00
Treehugger Robot
9aa60f31da Merge "Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb" 2020-05-12 09:51:35 +00:00
Benedict Wong
003c5c9807 Use TransformRecord to get SPI instead of SpiRecord
IpSecService.applyTunnelModeTransform() currently does not take an
SpiRecord instance, yet implicitly requires that the SpiRecord instance
is still alive based on the stored SpiRecord resourceId in
the TransformRecord's IpSecConfig.

This check is unnecessary, as the SpiRecord has been subsumed into the
TransformRecord, and the kernel resources are kept alive whether or
not the SpiRecord is still held by the user.

This allows users of the IpSecManager API to allocate short-lived SPIs
during the creation of an IpSecTransform, without having to keep track
of both of them (even though the SPI is no longer usable).

The TransformRecord.getSpiRecord() call is already used in
multiple other places in the same method.

Bug: 142072071
Test: New tests added, passing.
Change-Id: I1959f3080946267243564459ff4207647922566e
Merged-In: I1959f3080946267243564459ff4207647922566e
(cherry picked from commit 5258b1b82f39bf17e0751bcb94479464250aaec5)
2020-05-08 00:01:45 -07:00
Lucas Lin
fbbdcbd512 [automerger skipped] Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" into rvc-dev am: 9257482629 -s ours am: b9560fc6ef -s ours am: a4cd1185d5 -s ours
am skip reason: Change-Id Icf88d3e7a38562ab15187f6c71bc8fb0486d37c0 with SHA-1 3648f0a35d is in history

Change-Id: Ifbf80ca353913b0c41b8d98eb84cf81fd9fd888e
2020-05-08 05:55:14 +00:00
Lucas Lin
a4cd1185d5 [automerger skipped] Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" into rvc-dev am: 9257482629 -s ours am: b9560fc6ef -s ours
am skip reason: Change-Id Icf88d3e7a38562ab15187f6c71bc8fb0486d37c0 with SHA-1 3648f0a35d is in history

Change-Id: I5089485b8f861e11bc275188d16a20ecc2e71d47
2020-05-08 05:42:30 +00:00
Lucas Lin
b9560fc6ef [automerger skipped] Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" into rvc-dev am: 9257482629 -s ours
am skip reason: Change-Id Icf88d3e7a38562ab15187f6c71bc8fb0486d37c0 with SHA-1 3648f0a35d is in history

Change-Id: Iac39289cb5a7d912131cd056a702a3bf8d361681
2020-05-08 05:37:43 +00:00
Lucas Lin
55119e823e Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler
There is a corner case which may cause the deadlock:
When NetworkStatsService tried to broadcast the intent,
NetworkStatsService was waiting for a lock which was hold by
ActivityManagerService. In the same time, ActivityManagerService
was waiting for ActiveService#startServiceInnerLocked() to get a
lock which was hold by ConnectivityService. ConnectivityService
was waiting for a lock which was hold by BatteryStatsImpl.
BatteryStatsImpl was waiting for a lock which was hold by
NetworkStatsService, and the lock was locked by
NetworkStatsService when NetworkStatsService tried to broadcast
the intent.

To prevent deadlock when broadcasting the intent in
performPollLocked(), move the intent broadcasting from
performPollLocked() to NetworkStatsHandler.

Bug: 150418178
Bug: 155155473
Test: 1. Create the second user and see if the device will
         do factory reset or not.
      2. Factory reset manually and see if there is a deadlock.

Change-Id: I80569cb4388beb3fd6cbf64a7885bccee8b1c53c
Merged-In: Icf88d3e7a38562ab15187f6c71bc8fb0486d37c0
(cherry picked from commit 3f8ab0350450202910ea702799570c538e96d5cd)
2020-05-08 02:59:28 +00:00
Lucas Lin
3b0fd3e0df Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" am: 61fbce1bde am: 5ecaf8f36b am: 3f8ccb072e am: 24695d811a
Change-Id: I0069e6fa6eb8e57a7f4b806c60f5e31d98adebc9
2020-05-07 09:51:12 +00:00
Lucas Lin
24695d811a Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" am: 61fbce1bde am: 5ecaf8f36b am: 3f8ccb072e
Change-Id: I82a7e915c354b24600422a46aa8be427431e5d5e
2020-05-07 09:45:52 +00:00
Lucas Lin
3f8ccb072e Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" am: 61fbce1bde am: 5ecaf8f36b
Change-Id: I47f46d61c0cc9dacf24efc28ec900b35289eef5f
2020-05-07 09:37:17 +00:00
Lucas Lin
5ecaf8f36b Merge "Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler" am: 61fbce1bde
Change-Id: I8996b46bbd71ddc27ef313e3d9d329faf56ac580
2020-05-07 09:21:25 +00:00
lucaslin
3648f0a35d Broadcast ACTION_NETWORK_STATS_UPDATED in NetworkStatsHandler
There is a corner case which may cause the deadlock:
When NetworkStatsService tried to broadcast the intent,
NetworkStatsService was waiting for a lock which was hold by
ActivityManagerService. In the same time, ActivityManagerService
was waiting for ActiveService#startServiceInnerLocked() to get a
lock which was hold by ConnectivityService. ConnectivityService
was waiting for a lock which was hold by BatteryStatsImpl.
BatteryStatsImpl was waiting for a lock which was hold by
NetworkStatsService, and the lock was locked by
NetworkStatsService when NetworkStatsService tried to broadcast
the intent.

To prevent deadlock when broadcasting the intent in
performPollLocked(), move the intent broadcasting from
performPollLocked() to NetworkStatsHandler.

Bug: 150418178
Bug: 155155473
Test: 1. Create the second user and see if the device will
         do factory reset or not.
      2. Factory reset manually and see if there is a deadlock.
Change-Id: Icf88d3e7a38562ab15187f6c71bc8fb0486d37c0
2020-05-07 08:49:39 +00:00
Treehugger Robot
06ef0fb5e8 [automerger skipped] Merge "[SM10] Adopt helper class to monitor RAT type change per sub" am: f4a8f1f21e am: b4451fba20 -s ours am: a2de22278f -s ours am: f0dc778f22 -s ours
am skip reason: Change-Id I45c3aa9046b316c8cd0943543d620a22e4afefd1 with SHA-1 f0fcc339c3 is in history

Change-Id: I61304a3c61ea7c76a3012a27f8a0964abd32cc0a
2020-05-05 12:22:50 +00:00
Treehugger Robot
f0dc778f22 [automerger skipped] Merge "[SM10] Adopt helper class to monitor RAT type change per sub" am: f4a8f1f21e am: b4451fba20 -s ours am: a2de22278f -s ours
am skip reason: Change-Id I45c3aa9046b316c8cd0943543d620a22e4afefd1 with SHA-1 f0fcc339c3 is in history

Change-Id: Ia28361c12804065aa4e0729f3e6283a7f4049101
2020-05-05 12:07:17 +00:00
Treehugger Robot
a2de22278f [automerger skipped] Merge "[SM10] Adopt helper class to monitor RAT type change per sub" am: f4a8f1f21e am: b4451fba20 -s ours
am skip reason: Change-Id I45c3aa9046b316c8cd0943543d620a22e4afefd1 with SHA-1 f0fcc339c3 is in history

Change-Id: I44a2ee47f6a88286b28d5165c67cfd4fdbdd0152
2020-05-05 11:54:36 +00:00
Treehugger Robot
b4451fba20 Merge "[SM10] Adopt helper class to monitor RAT type change per sub" am: f4a8f1f21e
Change-Id: Ifadf4ad62820c6cbf536a3984b1cf4a0b78cbc31
2020-05-05 11:32:31 +00:00
junyulai
53c97ec4cf [SM10] Adopt helper class to monitor RAT type change per sub
Test: atest NetworkStatsServiceTest
Bug: 146415925
Change-Id: I45c3aa9046b316c8cd0943543d620a22e4afefd1
Merged-In: I45c3aa9046b316c8cd0943543d620a22e4afefd1
(cherry picked from commit ab1eb887a6)
2020-05-05 18:37:29 +08:00
junyulai
a6880d0037 Use CopyOnWriteArrayList to store list of NetworkStatsProviderCb
In NetworkStatsService, mStatsLock will be held when
iterating through the provider list. This is to protect the list
from concurrent broadcast that triggered by
NetworkPolicyManagerService. This is not good since the binder
call is oneway, it does not make sense to block every
access to the providers.

This change also remove unuse variable and reduce verbose log.

Test: atest FrameworksNetTests TetheringTests
Bug: 150418178
Change-Id: If74e9f2ea597a0d5ae4668c3358bc687f342bbb5
2020-04-30 05:57:44 +00:00
TreeHugger Robot
ac66ddcd6c [automerger skipped] Merge "Filter debug entries for each vpn" into rvc-dev am: 1913e1d29b -s ours am: eacbdf80e7 -s ours am: d20ea2e07e -s ours
am skip reason: Change-Id I3525edc385b07858b48c7add2d331c4b5a2e84ad with SHA-1 87ba308377 is in history

Change-Id: I60a7c6b86c43ae1e57e98f2a6831289854b77274
2020-04-30 04:49:06 +00:00
TreeHugger Robot
d20ea2e07e [automerger skipped] Merge "Filter debug entries for each vpn" into rvc-dev am: 1913e1d29b -s ours am: eacbdf80e7 -s ours
am skip reason: Change-Id I3525edc385b07858b48c7add2d331c4b5a2e84ad with SHA-1 87ba308377 is in history

Change-Id: I4fe424305ea9af7c41033bd6cb7f52ef8f30c37a
2020-04-30 04:35:04 +00:00
TreeHugger Robot
eacbdf80e7 [automerger skipped] Merge "Filter debug entries for each vpn" into rvc-dev am: 1913e1d29b -s ours
am skip reason: Change-Id I3525edc385b07858b48c7add2d331c4b5a2e84ad with SHA-1 87ba308377 is in history

Change-Id: I89ff9147f99b03c5bd1e7f5aa34c5968cfbfc18e
2020-04-30 04:20:28 +00:00
Chiachang Wang
abfadbefef Filter debug entries for each vpn
NetworkStats calculation needs to filter out debug entries to
prevent over counting. While NetworkStatsFactory migrates data
usage over a VPN to the TUN network, NetworkStatsFactory does
not filter out debug entries per vpn which will cause debug
entries left and cause exception.

Bug: 152678151
Test: atest com.android.server.net.NetworkStatsFactoryTest
      and verify no exception
Change-Id: I3525edc385b07858b48c7add2d331c4b5a2e84ad
Merged-In: I3525edc385b07858b48c7add2d331c4b5a2e84ad
2020-04-30 02:39:15 +00:00
Chiachang Wang
992128136d Merge changes I3525edc3,I6e18915e am: c861b10841 am: fa9d473f26 am: c16df4f73f am: 889f60b069
Change-Id: I1c2352574ce92f2f030a01394ec4d35860053e73
2020-04-29 09:56:55 +00:00
Chiachang Wang
889f60b069 Merge changes I3525edc3,I6e18915e am: c861b10841 am: fa9d473f26 am: c16df4f73f
Change-Id: Iff7435b20b830357a53f4773b211cd5ddc911ebd
2020-04-29 09:42:14 +00:00
Chiachang Wang
c16df4f73f Merge changes I3525edc3,I6e18915e am: c861b10841 am: fa9d473f26
Change-Id: I85b8798fc82873d22c338937bb61092fbde259e6
2020-04-29 09:24:10 +00:00
Chiachang Wang
fa9d473f26 Merge changes I3525edc3,I6e18915e am: c861b10841
Change-Id: Ie298cd37fdaa8d638298e8326c6f1db7a5d5b7b4
2020-04-29 09:08:45 +00:00
Chiachang Wang
87ba308377 Filter debug entries for each vpn
NetworkStats calculation needs to filter out debug entries to
prevent over counting. While NetworkStatsFactory migrates data
usage over a VPN to the TUN network, NetworkStatsFactory does
not filter out debug entries per vpn which will cause debug
entries left and cause exception.

Bug: 152678151
Test: atest com.android.server.net.NetworkStatsFactoryTest
      and verify no exception
Change-Id: I3525edc385b07858b48c7add2d331c4b5a2e84ad
2020-04-29 15:07:45 +08:00
TreeHugger Robot
97314fbfa3 Merge "Enforce permission check in getUidStats function" into rvc-dev am: 0f3164c79d am: 913f69a8c2 am: 59eb818d1f
Change-Id: I55ca129e199acf824c027fa7ec11d8b36037f44d
2020-04-28 10:27:16 +00:00
TreeHugger Robot
5c47b3410c Merge "Enforce permission check in getUidStats function" into rvc-dev am: 0f3164c79d am: 2fe55ed6d4 am: 6069c195d5
Change-Id: Ic11de2c89388aad2323fde6f62f56fcbc39898f5
2020-04-28 10:26:34 +00:00
TreeHugger Robot
59eb818d1f Merge "Enforce permission check in getUidStats function" into rvc-dev am: 0f3164c79d am: 913f69a8c2
Change-Id: Icd74369c536e0504868ba7cbcb680bcc31e763d5
2020-04-28 09:54:32 +00:00
TreeHugger Robot
6069c195d5 Merge "Enforce permission check in getUidStats function" into rvc-dev am: 0f3164c79d am: 2fe55ed6d4
Change-Id: I99eb5b4bfe193a8415ff01ada0078fff634a200f
2020-04-28 09:53:59 +00:00
TreeHugger Robot
913f69a8c2 Merge "Enforce permission check in getUidStats function" into rvc-dev am: 0f3164c79d
Change-Id: I2b7c846497690bfca7b12ad70aa778c785c416a2
2020-04-28 09:30:09 +00:00
TreeHugger Robot
0f3164c79d Merge "Enforce permission check in getUidStats function" into rvc-dev 2020-04-28 09:13:32 +00:00