Subject: CVE-2023-52445: media: pvrusb2: fix use after free on context disconnection

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

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

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

media: pvrusb2: fix use after free on context disconnection

Upon module load, a kthread is created targeting the
pvr2_context_thread_func function, which may call pvr2_context_destroy
and thus call kfree() on the context object. However, that might happen
before the usb hub_event handler is able to notify the driver. This
patch adds a sanity check before the invalid read reported by syzbot,
within the context disconnection call stack.

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

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

	Issue introduced in 2.6.26 with commit e5be15c63804 and fixed in 4.19.306 with commit ec36c134dd02
	Issue introduced in 2.6.26 with commit e5be15c63804 and fixed in 5.4.268 with commit 47aa8fcd5e8b
	Issue introduced in 2.6.26 with commit e5be15c63804 and fixed in 5.10.209 with commit 3233d8bf7893
	Issue introduced in 2.6.26 with commit e5be15c63804 and fixed in 5.15.148 with commit ec3634ebe23f
	Issue introduced in 2.6.26 with commit e5be15c63804 and fixed in 6.1.75 with commit 30773ea47d41
	Issue introduced in 2.6.26 with commit e5be15c63804 and fixed in 6.6.14 with commit 2cf0005d3155
	Issue introduced in 2.6.26 with commit e5be15c63804 and fixed in 6.7.2 with commit 437b5f57732b
	Issue introduced in 2.6.26 with commit e5be15c63804 and fixed in 6.8 with commit ded85b0c0edd

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-52445
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/media/usb/pvrusb2/pvrusb2-context.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/ec36c134dd020d28e312c2f1766f85525e747aab
	https://git.kernel.org/stable/c/47aa8fcd5e8b5563af4042a00f25ba89bef8f33d
	https://git.kernel.org/stable/c/3233d8bf7893550045682192cb227af7fa3defeb
	https://git.kernel.org/stable/c/ec3634ebe23fc3c44ebc67c6d25917300bc68c08
	https://git.kernel.org/stable/c/30773ea47d41773f9611ffb4ebc9bda9d19a9e7e
	https://git.kernel.org/stable/c/2cf0005d315549b8d2b940ff96a66c2a889aa795
	https://git.kernel.org/stable/c/437b5f57732bb4cc32cc9f8895d2010ee9ff521c
	https://git.kernel.org/stable/c/ded85b0c0edd8f45fec88783d7555a5b982449c1