2.3 KiB
CVE-2025-37889
Description
In the Linux kernel, the following vulnerability has been resolved:ASoC: ops: Consistently treat platform_max as control valueThis reverts commit 9bdd10d57a88 ("ASoC: ops: Shift tested values insnd_soc_put_volsw() by +min"), and makes some additional relatedupdates.There are two ways the platform_max could be interpreted; the maximumregister value, or the maximum value the control can be set to. Thepatch moved from treating the value as a control value to a registerone. When the patch was applied it was technically correct assnd_soc_limit_volume() also used the register interpretation. However,even then most of the other usages treated platform_max as acontrol value, and snd_soc_limit_volume() has since been updated toalso do so in commit fb9ad24485087 ("ASoC: ops: add correct rangecheck for limiting volume"). That patch however, missed updatingsnd_soc_put_volsw() back to the control interpretation, and fixingsnd_soc_info_volsw_range(). The control interpretation makes moresense as limiting is typically done from the machine driver, so it isappropriate to use the customer facing representation rather than theinternal codec representation. Update all the code to consistently usethis interpretation of platform_max.Finally, also add some comments to the soc_mixer_control struct tohopefully avoid further patches switching between the two approaches.
POC
Reference
No PoCs from references.