tree a867ac514ffa327938fd1eb041da51f30d02ff2a
parent 7178498f77622e5739bcfcd7c49ee049ed9c03c9
author Richard Fitzgerald <rf@opensource.cirrus.com> 1679678291 +0100
committer Alexander Martinz <amartinz@shiftphones.com> 1698213811 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEioN3RtFSeUXyJOKbzxW92aMhqbIFAmU4r7MACgkQzxW92aMh
 qbJR5g/+KgAK4hr5ljE1QifSHAJaIz7yTIi3yitNX+V+lrfS1fwhERddLALyh06a
 O79SXBPrRJtmNRLqspSPi24PeqHb1rMq56sa8lA5HN/xsYC90Jg9mSmMVWdwzgne
 yaSvrN9RgdXMAr0wLtGPpTBMdpMp8UvsEfdLN05pOlUG2FCr/U31dsJZpiOMk643
 tg4TFnt/TfXdBNlqltlTrEs5DdULzQSTRpIQMiEnijYdqkU9kNwm78sPxb/TgrSr
 br9jMfJGyX3u8sFL8ZLF5l1h5sBuqTdVDyxNfZYjB7rkeTZQeaWf28yewdRezBg6
 Eiv4Ok++eYVbBk53UgO1fT3+wxYWdeOKpUcg3X2ZfS6E5ntFi7beWTuWTyoHdV9u
 MS1fEiNUbJDl9g8L4L8wm1Vm/KU22N1dpRsdJK35zl1Blq6iHTiyuVGcXt/uNPWO
 Agq9wt3skJghnAQRJ/GtX/Aqf1h+Ye1J6wAr3ZSO7NJL3RSlsUJz/A4PJmPDTX0k
 kTvf0d/MzbaIWoFVrsa61bV49FF2Apy/K4lwcLHSikdeLHWGv4hxzgcnkdSkt+lx
 ejvxb7wwyKUtBAAbkk1c2umOveyR6h7W8EL3ZiENqKznKBX01I4m1i6ryO1i7xOc
 vnP7EEO8u2jfphxHGbpFCfmOnQcPyBl1C3L+8oJcuP4leagzGDM=
 =DDvV
 -----END PGP SIGNATURE-----

ALSA: control: Fix memory corruption risk in snd_ctl_elem_read

commit 5a23699a39abc5328921a81b89383d088f6ba9cc upstream.

The patch "ALSA: control: code refactoring for ELEM_READ/ELEM_WRITE
operations" introduced a potential for kernel memory corruption due
to an incorrect if statement allowing non-readable controls to fall
through and call the get function. For TLV controls a driver can omit
SNDRV_CTL_ELEM_ACCESS_READ to ensure that only the TLV get function
can be called. Instead the normal get() can be invoked unexpectedly
and as the driver expects that this will only be called for controls
<= 512 bytes, potentially try to copy >512 bytes into the 512 byte
return array, so corrupting kernel memory.

The problem is an attempt to refactor the snd_ctl_elem_read function
to invert the logic so that it conditionally aborted if the control
is unreadable instead of conditionally executing. But the if statement
wasn't inverted correctly.

The correct inversion of

    if (a && !b)

is
    if (!a || b)

Fixes: becf9e5d553c2 ("ALSA: control: code refactoring for ELEM_READ/ELEM_WRITE operations")
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Alexander Grund <theflamefire89@gmail.com>
[uli: touched up commit message]
Signed-off-by: Ulrich Hecht <uli+cip@fpond.eu>
Change-Id: I2ba4da0896711eda284cb3c0004229b472aa6720
