Subject: CVE-2023-52795: vhost-vdpa: fix use after free in vhost_vdpa_probe()

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

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

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

vhost-vdpa: fix use after free in vhost_vdpa_probe()

The put_device() calls vhost_vdpa_release_dev() which calls
ida_simple_remove() and frees "v".  So this call to
ida_simple_remove() is a use after free and a double free.

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

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

	Issue introduced in 6.0 with commit ebe6a354fa7e and fixed in 6.1.64 with commit c0f8b8fb7df9
	Issue introduced in 6.0 with commit ebe6a354fa7e and fixed in 6.5.13 with commit ae8ea4e20067
	Issue introduced in 6.0 with commit ebe6a354fa7e and fixed in 6.6.3 with commit bf04132cd64c
	Issue introduced in 6.0 with commit ebe6a354fa7e and fixed in 6.7 with commit e07754e0a1ea

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-52795
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/vhost/vdpa.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/c0f8b8fb7df9d1a38652eb5aa817afccd3c56111
	https://git.kernel.org/stable/c/ae8ea4e200675a940c365b496ef8e3fb4123601c
	https://git.kernel.org/stable/c/bf04132cd64ccde4e9e9765d489c83fe83c09b7f
	https://git.kernel.org/stable/c/e07754e0a1ea2d63fb29574253d1fd7405607343