Subject: CVE-2023-52853: hid: cp2112: Fix duplicate workqueue initialization

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

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

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

hid: cp2112: Fix duplicate workqueue initialization

Previously the cp2112 driver called INIT_DELAYED_WORK within
cp2112_gpio_irq_startup, resulting in duplicate initilizations of the
workqueue on subsequent IRQ startups following an initial request. This
resulted in a warning in set_work_data in workqueue.c, as well as a rare
NULL dereference within process_one_work in workqueue.c.

Initialize the workqueue within _probe instead.

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

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

	Issue introduced in 4.10 with commit 13de9cca514e and fixed in 4.19.299 with commit df0daac27094
	Issue introduced in 4.10 with commit 13de9cca514e and fixed in 5.4.261 with commit 727203e6e7e7
	Issue introduced in 4.10 with commit 13de9cca514e and fixed in 5.10.201 with commit 3d959406c8ff
	Issue introduced in 4.10 with commit 13de9cca514e and fixed in 5.15.139 with commit 012d0c66f939
	Issue introduced in 4.10 with commit 13de9cca514e and fixed in 6.1.63 with commit bafb12b629b7
	Issue introduced in 4.10 with commit 13de9cca514e and fixed in 6.5.12 with commit fb5718bc6733
	Issue introduced in 4.10 with commit 13de9cca514e and fixed in 6.6.2 with commit eb1121fac798
	Issue introduced in 4.10 with commit 13de9cca514e and fixed in 6.7 with commit e3c2d2d144c0

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-52853
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/hid/hid-cp2112.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/df0daac2709473531d6a3472997cc65301ac06d6
	https://git.kernel.org/stable/c/727203e6e7e7020e1246fc1628cbdb8d90177819
	https://git.kernel.org/stable/c/3d959406c8fff2334d83d0c352d54fd6f5b2e7cd
	https://git.kernel.org/stable/c/012d0c66f9392a99232ac28217229f32dd3a70cf
	https://git.kernel.org/stable/c/bafb12b629b7c3ad59812dd1ac1b0618062e0e38
	https://git.kernel.org/stable/c/fb5718bc67337dde1528661f419ffcf275757592
	https://git.kernel.org/stable/c/eb1121fac7986b30915ba20c5a04cc01fdcf160c
	https://git.kernel.org/stable/c/e3c2d2d144c082dd71596953193adf9891491f42