Subject: CVE-2024-44969: s390/sclp: Prevent release of buffer in I/O

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

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

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

s390/sclp: Prevent release of buffer in I/O

When a task waiting for completion of a Store Data operation is
interrupted, an attempt is made to halt this operation. If this attempt
fails due to a hardware or firmware problem, there is a chance that the
SCLP facility might store data into buffers referenced by the original
operation at a later time.

Handle this situation by not releasing the referenced data buffers if
the halt attempt fails. For current use cases, this might result in a
leak of few pages of memory in case of a rare hardware/firmware
malfunction.

The Linux kernel CVE team has assigned CVE-2024-44969 to this issue.

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

	Fixed in 4.19.320 with commit 7a7e60ed23d4
	Fixed in 5.4.282 with commit 1ec5ea9e25f5
	Fixed in 5.10.224 with commit a3e52a4c22c8
	Fixed in 5.15.165 with commit a88a49473c94
	Fixed in 6.1.105 with commit 46f67233b011
	Fixed in 6.6.46 with commit 1e8b7fb427af
	Fixed in 6.10.5 with commit 2429ea3b4330
	Fixed in 6.11 with commit bf365071ea92

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-2024-44969
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/s390/char/sclp_sd.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/7a7e60ed23d471a07dbbe72565d2992ee8244bbe
	https://git.kernel.org/stable/c/1ec5ea9e25f582fd6999393e2f2c3bf56f234e05
	https://git.kernel.org/stable/c/a3e52a4c22c846858a6875e1c280030a3849e148
	https://git.kernel.org/stable/c/a88a49473c94ccfd8dce1e766aacf3c627278463
	https://git.kernel.org/stable/c/46f67233b011385d53cf14d272431755de3a7c79
	https://git.kernel.org/stable/c/1e8b7fb427af6b2ddd54eff66a6b428a81c96633
	https://git.kernel.org/stable/c/2429ea3b4330e3653b72b210a0d5f2a717359506
	https://git.kernel.org/stable/c/bf365071ea92b9579d5a272679b74052a5643e35