Subject: CVE-2024-43819: kvm: s390: Reject memory region operations for ucontrol VMs

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

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

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

kvm: s390: Reject memory region operations for ucontrol VMs

This change rejects the KVM_SET_USER_MEMORY_REGION and
KVM_SET_USER_MEMORY_REGION2 ioctls when called on a ucontrol VM.
This is necessary since ucontrol VMs have kvm->arch.gmap set to 0 and
would thus result in a null pointer dereference further in.
Memory management needs to be performed in userspace and using the
ioctls KVM_S390_UCAS_MAP and KVM_S390_UCAS_UNMAP.

Also improve s390 specific documentation for KVM_SET_USER_MEMORY_REGION
and KVM_SET_USER_MEMORY_REGION2.

[[email-masked]: commit message spelling fix, subject prefix fix]

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

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

	Issue introduced in 3.4 with commit 27e0393f15fc and fixed in 6.10.3 with commit 49c9945c054d
	Issue introduced in 3.4 with commit 27e0393f15fc and fixed in 6.11 with commit 7816e58967d0

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-43819
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:
	Documentation/virt/kvm/api.rst
	arch/s390/kvm/kvm-s390.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/49c9945c054df4c22008e2bf87ca74d3e2507aa6
	https://git.kernel.org/stable/c/7816e58967d0e6cadce05c8540b47ed027dc2499