Subject: CVE-2023-52708: mmc: mmc_spi: fix error handling in mmc_spi_probe()

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

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

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

mmc: mmc_spi: fix error handling in mmc_spi_probe()

If mmc_add_host() fails, it doesn't need to call mmc_remove_host(),
or it will cause null-ptr-deref, because of deleting a not added
device in mmc_remove_host().

To fix this, goto label 'fail_glue_init', if mmc_add_host() fails,
and change the label 'fail_add_host' to 'fail_gpiod_request'.

The Linux kernel CVE team has assigned CVE-2023-52708 to this issue.

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

	Issue introduced in 2.6.24 with commit 15a0580ced08 and fixed in 5.4.232 with commit e9b488d60f51
	Issue introduced in 2.6.24 with commit 15a0580ced08 and fixed in 5.10.169 with commit 0b3edcb24bd8
	Issue introduced in 2.6.24 with commit 15a0580ced08 and fixed in 5.15.95 with commit ecad2fafd424
	Issue introduced in 2.6.24 with commit 15a0580ced08 and fixed in 6.1.13 with commit 82645bf4ed02
	Issue introduced in 2.6.24 with commit 15a0580ced08 and fixed in 6.2 with commit cf4c9d2ac1e4

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-2023-52708
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/mmc/host/mmc_spi.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/e9b488d60f51ae312006e224e03a30a151c28bdd
	https://git.kernel.org/stable/c/0b3edcb24bd81b3b2e3dac89f4733bfd47d283be
	https://git.kernel.org/stable/c/ecad2fafd424ffdc203b2748ded0b37e4bbecef3
	https://git.kernel.org/stable/c/82645bf4ed02abe930a659c5fe16d593a6dbd93f
	https://git.kernel.org/stable/c/cf4c9d2ac1e42c7d18b921bec39486896645b714