Merge "Don't fork USAPs with open argument buffer" am: 6c61c65f19 am: 7644e0c5b7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1651247 Change-Id: I3d26e93f5a85943f6d3cf2371d1079213c36089d
This commit is contained in:
@@ -149,8 +149,11 @@ class ZygoteConnection {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parsedArgs.mUsapPoolStatusSpecified) {
|
if (parsedArgs.mUsapPoolStatusSpecified
|
||||||
// Handle this once we've released the argBuffer, to avoid opening a second one.
|
|| parsedArgs.mApiDenylistExemptions != null
|
||||||
|
|| parsedArgs.mHiddenApiAccessLogSampleRate != -1
|
||||||
|
|| parsedArgs.mHiddenApiAccessStatslogSampleRate != -1) {
|
||||||
|
// Handle these once we've released argBuffer, to avoid opening a second one.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,18 +186,6 @@ class ZygoteConnection {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parsedArgs.mApiDenylistExemptions != null) {
|
|
||||||
return handleApiDenylistExemptions(zygoteServer,
|
|
||||||
parsedArgs.mApiDenylistExemptions);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parsedArgs.mHiddenApiAccessLogSampleRate != -1
|
|
||||||
|| parsedArgs.mHiddenApiAccessStatslogSampleRate != -1) {
|
|
||||||
return handleHiddenApiAccessLogSampleRate(zygoteServer,
|
|
||||||
parsedArgs.mHiddenApiAccessLogSampleRate,
|
|
||||||
parsedArgs.mHiddenApiAccessStatslogSampleRate);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parsedArgs.mPermittedCapabilities != 0
|
if (parsedArgs.mPermittedCapabilities != 0
|
||||||
|| parsedArgs.mEffectiveCapabilities != 0) {
|
|| parsedArgs.mEffectiveCapabilities != 0) {
|
||||||
throw new ZygoteSecurityException("Client may not specify capabilities: "
|
throw new ZygoteSecurityException("Client may not specify capabilities: "
|
||||||
@@ -311,10 +302,20 @@ class ZygoteConnection {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Handle anything that may need a ZygoteCommandBuffer after we've released ours.
|
||||||
if (parsedArgs.mUsapPoolStatusSpecified) {
|
if (parsedArgs.mUsapPoolStatusSpecified) {
|
||||||
// Now that we've released argBuffer:
|
|
||||||
return handleUsapPoolStatusChange(zygoteServer, parsedArgs.mUsapPoolEnabled);
|
return handleUsapPoolStatusChange(zygoteServer, parsedArgs.mUsapPoolEnabled);
|
||||||
}
|
}
|
||||||
|
if (parsedArgs.mApiDenylistExemptions != null) {
|
||||||
|
return handleApiDenylistExemptions(zygoteServer,
|
||||||
|
parsedArgs.mApiDenylistExemptions);
|
||||||
|
}
|
||||||
|
if (parsedArgs.mHiddenApiAccessLogSampleRate != -1
|
||||||
|
|| parsedArgs.mHiddenApiAccessStatslogSampleRate != -1) {
|
||||||
|
return handleHiddenApiAccessLogSampleRate(zygoteServer,
|
||||||
|
parsedArgs.mHiddenApiAccessLogSampleRate,
|
||||||
|
parsedArgs.mHiddenApiAccessStatslogSampleRate);
|
||||||
|
}
|
||||||
throw new AssertionError("Shouldn't get here");
|
throw new AssertionError("Shouldn't get here");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user