]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: control: Add input validation
authorTakashi Iwai <tiwai@suse.de>
Thu, 9 Jun 2022 12:02:19 +0000 (14:02 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 15 Jun 2022 05:45:28 +0000 (07:45 +0200)
commite1e0830fd78ec8baaef94ce08a159162b63f1a53
tree291439188b9d68267c060514dd02f86d924a4499
parentfeee51ffea6940fb7808f9423815d5778fcde875
ALSA: control: Add input validation

This patch adds a new feature to enable the validation of input data
to control elements in the ALSA core side.  When
CONFIG_SND_CTL_INPUT_VALIDATION is set, ALSA core verifies whether the
each input value via control API is in the defined ranges, also checks
whether it's aligned to the defined steps.  If an invalid value is
detected, ALSA core returns -EINVAL error immediately without passing
further to the driver's callback.  So this is a kind of hardening for
(badly written) drivers that have no proper error checks, at the cost
of a slight performance overhead.

Technically seen, this reuses a part of the existing validation code
for CONFIG_SND_CTL_DEBUG case with a slight modification to suppress
error prints for the input validation.

Link: https://lore.kernel.org/r/20220609120219.3937-5-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/Kconfig
sound/core/control.c