Backport of Win-specific suppression of potentially rogue construct that can 2p: b5ad48db08

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/adb/+/17606585

Bug: 209438553
Change-Id: I853ca2c73c16231efea343c6c57fd1b4c2cc8b0a
Merged-In: Ie1f82db2fb14e1bdd183bf8d3d93d5e9f974be5d
diff --git a/libs/adbconnection/adbconnection_client.cpp b/libs/adbconnection/adbconnection_client.cpp
index 86b4110..bea0381 100644
--- a/libs/adbconnection/adbconnection_client.cpp
+++ b/libs/adbconnection/adbconnection_client.cpp
@@ -113,14 +113,20 @@
     return nullptr;
   }
 
-  if (!profileable) {
-    LOG(ERROR) << "AdbConnectionClientInfo missing required field profileable";
-    return nullptr;
-  }
+  bool expectProfileableAndArch = false;
+#if defined(__BIONIC__)
+  expectProfileableAndArch = android_get_device_api_level() >= __ANDROID_API_S__;
+#endif
+  if (expectProfileableAndArch) {
+    if (!profileable) {
+      LOG(ERROR) << "AdbConnectionClientInfo missing required field profileable";
+      return nullptr;
+    }
 
-  if (!architecture) {
-    LOG(ERROR) << "AdbConnectionClientInfo missing required field architecture";
-    return nullptr;
+    if (!architecture) {
+      LOG(ERROR) << "AdbConnectionClientInfo missing required field architecture";
+      return nullptr;
+    }
   }
 
   ctx->control_socket_.reset(socket(AF_UNIX, SOCK_SEQPACKET | SOCK_CLOEXEC, 0));