AudioPolicy/Flinger: harden security checks
Update list of methods which can only be called from system
components.
Bug: 162423060
Test: see poc
Change-Id: Ie266a2fdd31bdcecfe9c116596ae65a789b812c6
diff --git a/media/libaudioclient/IAudioPolicyService.cpp b/media/libaudioclient/IAudioPolicyService.cpp
index 4132244..7ac0b10 100644
--- a/media/libaudioclient/IAudioPolicyService.cpp
+++ b/media/libaudioclient/IAudioPolicyService.cpp
@@ -1591,6 +1591,7 @@
case REGISTER_EFFECT:
case UNREGISTER_EFFECT:
case SET_EFFECT_ENABLED:
+ case GET_STRATEGY_FOR_STREAM:
case GET_OUTPUT_FOR_ATTR:
case MOVE_EFFECTS_TO_IO:
ALOGW("%s: transaction %d received from PID %d",
@@ -1619,6 +1620,14 @@
case INIT_STREAM_VOLUME:
case SET_STREAM_VOLUME:
case SET_VOLUME_ATTRIBUTES:
+ case GET_STREAM_VOLUME:
+ case GET_VOLUME_ATTRIBUTES:
+ case GET_MIN_VOLUME_FOR_ATTRIBUTES:
+ case GET_MAX_VOLUME_FOR_ATTRIBUTES:
+ case IS_STREAM_ACTIVE:
+ case IS_STREAM_ACTIVE_REMOTELY:
+ case IS_SOURCE_ACTIVE:
+ case GET_DEVICES_FOR_STREAM:
case REGISTER_POLICY_MIXES:
case SET_MASTER_MONO:
case GET_SURROUND_FORMATS:
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index 6d96a8d..d442af6 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -4092,6 +4092,7 @@
switch (code) {
case TransactionCode::SET_MASTER_VOLUME:
case TransactionCode::SET_MASTER_MUTE:
+ case TransactionCode::MASTER_MUTE:
case TransactionCode::SET_MODE:
case TransactionCode::SET_MIC_MUTE:
case TransactionCode::SET_LOW_RAM_DEVICE: