From d63cd3fff655f55f4960e2d929bbbe47b7ecbde3 Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Tue, 27 Apr 2021 10:37:03 +0900 Subject: [PATCH] aidl: Suppress warnings on out-array out-param arrays are considered harmful since the Java backend requires them to be correctly allocated at caller site. But the only user of android.hardware.identity is in C++, we can just ignore them. Fixes: 179853403 Test: mma in hardware/interfaces/identity Change-Id: Ib9b7ad895b3827c0888869a5b154696e3aff5624 --- .../android/hardware/identity/IIdentityCredential.aidl | 4 ++-- .../hardware/identity/IWritableIdentityCredential.aidl | 2 +- .../aidl/android/hardware/identity/IIdentityCredential.aidl | 2 ++ .../hardware/identity/IWritableIdentityCredential.aidl | 1 + 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/identity/aidl/aidl_api/android.hardware.identity/current/android/hardware/identity/IIdentityCredential.aidl b/identity/aidl/aidl_api/android.hardware.identity/current/android/hardware/identity/IIdentityCredential.aidl index a097895b81..3224e4bf06 100644 --- a/identity/aidl/aidl_api/android.hardware.identity/current/android/hardware/identity/IIdentityCredential.aidl +++ b/identity/aidl/aidl_api/android.hardware.identity/current/android/hardware/identity/IIdentityCredential.aidl @@ -43,8 +43,8 @@ interface IIdentityCredential { void startRetrieval(in android.hardware.identity.SecureAccessControlProfile[] accessControlProfiles, in android.hardware.keymaster.HardwareAuthToken authToken, in byte[] itemsRequest, in byte[] signingKeyBlob, in byte[] sessionTranscript, in byte[] readerSignature, in int[] requestCounts); void startRetrieveEntryValue(in @utf8InCpp String nameSpace, in @utf8InCpp String name, in int entrySize, in int[] accessControlProfileIds); byte[] retrieveEntryValue(in byte[] encryptedContent); - void finishRetrieval(out byte[] mac, out byte[] deviceNameSpaces); - android.hardware.identity.Certificate generateSigningKeyPair(out byte[] signingKeyBlob); + @SuppressWarnings(value={"out-array"}) void finishRetrieval(out byte[] mac, out byte[] deviceNameSpaces); + @SuppressWarnings(value={"out-array"}) android.hardware.identity.Certificate generateSigningKeyPair(out byte[] signingKeyBlob); void setRequestedNamespaces(in android.hardware.identity.RequestNamespace[] requestNamespaces); void setVerificationToken(in android.hardware.keymaster.VerificationToken verificationToken); byte[] deleteCredentialWithChallenge(in byte[] challenge); diff --git a/identity/aidl/aidl_api/android.hardware.identity/current/android/hardware/identity/IWritableIdentityCredential.aidl b/identity/aidl/aidl_api/android.hardware.identity/current/android/hardware/identity/IWritableIdentityCredential.aidl index a713462940..19a29ec719 100644 --- a/identity/aidl/aidl_api/android.hardware.identity/current/android/hardware/identity/IWritableIdentityCredential.aidl +++ b/identity/aidl/aidl_api/android.hardware.identity/current/android/hardware/identity/IWritableIdentityCredential.aidl @@ -38,6 +38,6 @@ interface IWritableIdentityCredential { android.hardware.identity.SecureAccessControlProfile addAccessControlProfile(in int id, in android.hardware.identity.Certificate readerCertificate, in boolean userAuthenticationRequired, in long timeoutMillis, in long secureUserId); void beginAddEntry(in int[] accessControlProfileIds, in @utf8InCpp String nameSpace, in @utf8InCpp String name, in int entrySize); byte[] addEntryValue(in byte[] content); - void finishAddingEntries(out byte[] credentialData, out byte[] proofOfProvisioningSignature); + @SuppressWarnings(value={"out-array"}) void finishAddingEntries(out byte[] credentialData, out byte[] proofOfProvisioningSignature); void setExpectedProofOfProvisioningSize(in int expectedProofOfProvisioningSize); } diff --git a/identity/aidl/android/hardware/identity/IIdentityCredential.aidl b/identity/aidl/android/hardware/identity/IIdentityCredential.aidl index d23f88cac8..8ae293b2d3 100644 --- a/identity/aidl/android/hardware/identity/IIdentityCredential.aidl +++ b/identity/aidl/android/hardware/identity/IIdentityCredential.aidl @@ -324,6 +324,7 @@ interface IIdentityCredential { * * @param out deviceNameSpaces the bytes of DeviceNameSpaces. */ + @SuppressWarnings(value={"out-array"}) void finishRetrieval(out byte[] mac, out byte[] deviceNameSpaces); /** @@ -376,6 +377,7 @@ interface IIdentityCredential { * * @return an X.509 certificate for the new signing key, signed by the credential key. */ + @SuppressWarnings(value={"out-array"}) Certificate generateSigningKeyPair(out byte[] signingKeyBlob); /** diff --git a/identity/aidl/android/hardware/identity/IWritableIdentityCredential.aidl b/identity/aidl/android/hardware/identity/IWritableIdentityCredential.aidl index 5f878eece2..22bcf61f64 100644 --- a/identity/aidl/android/hardware/identity/IWritableIdentityCredential.aidl +++ b/identity/aidl/android/hardware/identity/IWritableIdentityCredential.aidl @@ -320,6 +320,7 @@ interface IWritableIdentityCredential { * "accessControlProfiles" : [ * uint ], * } */ + @SuppressWarnings(value={"out-array"}) void finishAddingEntries(out byte[] credentialData, out byte[] proofOfProvisioningSignature);