Detect non-oneway calls leaving system_server.

To protect system stability, any Binder calls leaving the
system_server must carefully be performed using FLAG_ONEWAY (or
the 'oneway' verb in AIDL) which prevents the call from blocking
indefinitely on the remote process.

Allow blocking calls to a handful of known-safe interfaces.

Test: builds, boots, runs with minimal logs triggered
Bug: 32715088
Change-Id: I7754a829564fdbf610c02303f7c6aae908834b61
diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java
index 8b95000..42ab9d1 100644
--- a/service/java/com/android/server/wifi/WifiStateMachine.java
+++ b/service/java/com/android/server/wifi/WifiStateMachine.java
@@ -3449,6 +3449,8 @@
         if (clientInterface == null) {
             Log.e(TAG, "Could not get IClientInterface instance from wificond");
             return null;
+        } else {
+            Binder.allowBlocking(clientInterface.asBinder());
         }
 
         return clientInterface;
@@ -3468,6 +3470,8 @@
         if (apInterface == null) {
             Log.e(TAG, "Could not get IApInterface instance from wificond");
             return null;
+        } else {
+            Binder.allowBlocking(apInterface.asBinder());
         }
 
         if (!mWifiNative.startHal()) {