Subject: CVE-2022-49029: hwmon: (ibmpex) Fix possible UAF when ibmpex_register_bmc() fails

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

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

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

hwmon: (ibmpex) Fix possible UAF when ibmpex_register_bmc() fails

Smatch report warning as follows:

drivers/hwmon/ibmpex.c:509 ibmpex_register_bmc() warn:
  '&data->list' not removed from list

If ibmpex_find_sensors() fails in ibmpex_register_bmc(), data will
be freed, but data->list will not be removed from driver_data.bmc_data,
then list traversal may cause UAF.

Fix by removeing it from driver_data.bmc_data before free().

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

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

	Issue introduced in 2.6.24 with commit 57c7c3a0fdea and fixed in 4.9.335 with commit f2a13196ad41
	Issue introduced in 2.6.24 with commit 57c7c3a0fdea and fixed in 4.14.301 with commit 798198273bf8
	Issue introduced in 2.6.24 with commit 57c7c3a0fdea and fixed in 4.19.268 with commit 24b9633f7db7
	Issue introduced in 2.6.24 with commit 57c7c3a0fdea and fixed in 5.4.226 with commit 7b2b67fe1339
	Issue introduced in 2.6.24 with commit 57c7c3a0fdea and fixed in 5.10.158 with commit 90907cd4d113
	Issue introduced in 2.6.24 with commit 57c7c3a0fdea and fixed in 5.15.82 with commit 45f6e8186374
	Issue introduced in 2.6.24 with commit 57c7c3a0fdea and fixed in 6.0.12 with commit e65cfd1f9cd2
	Issue introduced in 2.6.24 with commit 57c7c3a0fdea and fixed in 6.1 with commit e2a87785aab0

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-49029
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:
	drivers/hwmon/ibmpex.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/f2a13196ad41c6c2ab058279dffe6c97292e753a
	https://git.kernel.org/stable/c/798198273bf86673b970b51acdb35e57f42b3fcb
	https://git.kernel.org/stable/c/24b9633f7db7f4809be7053df1d2e117e7c2de10
	https://git.kernel.org/stable/c/7b2b67fe1339389e0bf3c37c7a677a004ac0e4e3
	https://git.kernel.org/stable/c/90907cd4d11351ff76c9a447bcb5db0e264c47cd
	https://git.kernel.org/stable/c/45f6e81863747c0d7bc6a95ec51129900e71467a
	https://git.kernel.org/stable/c/e65cfd1f9cd27d9c27ee5cb88128a9f79f25d863
	https://git.kernel.org/stable/c/e2a87785aab0dac190ac89be6a9ba955e2c634f2