Subject: CVE-2022-48717: ASoC: max9759: fix underflow in speaker_gain_control_put()

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

ASoC: max9759: fix underflow in speaker_gain_control_put()

Check for negative values of "priv->gain" to prevent an out of bounds
access.  The concern is that these might come from the user via:
  -> snd_ctl_elem_write_user()
    -> snd_ctl_elem_write()
      -> kctl->put()

The Linux kernel CVE team has assigned CVE-2022-48717 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 4.17 with commit fa8d915172b8 and fixed in 4.19.228 with commit a0f49d12547d
	Issue introduced in 4.17 with commit fa8d915172b8 and fixed in 5.4.178 with commit 71e60c170105
	Issue introduced in 4.17 with commit fa8d915172b8 and fixed in 5.10.99 with commit 5a45448ac95b
	Issue introduced in 4.17 with commit fa8d915172b8 and fixed in 5.15.22 with commit baead410e5db
	Issue introduced in 4.17 with commit fa8d915172b8 and fixed in 5.16.8 with commit f114fd6165df
	Issue introduced in 4.17 with commit fa8d915172b8 and fixed in 5.17 with commit 4c907bcd9dcd

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2022-48717
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	sound/soc/codecs/max9759.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/a0f49d12547d45ea8b0f356a96632dd503941c1e
	https://git.kernel.org/stable/c/71e60c170105d153e34d01766c1e4db26a4b24cc
	https://git.kernel.org/stable/c/5a45448ac95b715173edb1cd090ff24b6586d921
	https://git.kernel.org/stable/c/baead410e5db49e962a67fffc17ac30e44b50b7c
	https://git.kernel.org/stable/c/f114fd6165dfb52520755cc4d1c1dfbd447b88b6
	https://git.kernel.org/stable/c/4c907bcd9dcd233da6707059d777ab389dcbd964