Subject: CVE-2024-43867: drm/nouveau: prime: fix refcount underflow

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

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

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

drm/nouveau: prime: fix refcount underflow

Calling nouveau_bo_ref() on a nouveau_bo without initializing it (and
hence the backing ttm_bo) leads to a refcount underflow.

Instead of calling nouveau_bo_ref() in the unwind path of
drm_gem_object_init(), clean things up manually.

(cherry picked from commit 1b93f3e89d03cfc576636e195466a0d728ad8de5)

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

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

	Issue introduced in 3.9 with commit ab9ccb96a6e6 and fixed in 5.4.282 with commit 3bcb8bba72ce
	Issue introduced in 3.9 with commit ab9ccb96a6e6 and fixed in 5.10.224 with commit 906372e753c5
	Issue introduced in 3.9 with commit ab9ccb96a6e6 and fixed in 5.15.165 with commit 16998763c62b
	Issue introduced in 3.9 with commit ab9ccb96a6e6 and fixed in 6.1.104 with commit ebebba4d357b
	Issue introduced in 3.9 with commit ab9ccb96a6e6 and fixed in 6.6.45 with commit f23cd66933fe
	Issue introduced in 3.9 with commit ab9ccb96a6e6 and fixed in 6.10.4 with commit 2a1b327d57a8
	Issue introduced in 3.9 with commit ab9ccb96a6e6 and fixed in 6.11 with commit a9bf3efc33f1

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-43867
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/gpu/drm/nouveau/nouveau_prime.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/3bcb8bba72ce89667fa863054956267c450c47ef
	https://git.kernel.org/stable/c/906372e753c5027a1dc88743843b6aa2ad1aaecf
	https://git.kernel.org/stable/c/16998763c62bb465ebc409d0373b9cdcef1a61a6
	https://git.kernel.org/stable/c/ebebba4d357b6c67f96776a48ddbaf0060fa4c10
	https://git.kernel.org/stable/c/f23cd66933fe76b84d8e282e5606b4d99068c320
	https://git.kernel.org/stable/c/2a1b327d57a8ac080977633a18999f032d7e9e3f
	https://git.kernel.org/stable/c/a9bf3efc33f1fbf88787a277f7349459283c9b95