Subject: CVE-2021-46905: net: hso: fix NULL-deref on disconnect regression

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

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

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

net: hso: fix NULL-deref on disconnect regression

Commit 8a12f8836145 ("net: hso: fix null-ptr-deref during tty device
unregistration") fixed the racy minor allocation reported by syzbot, but
introduced an unconditional NULL-pointer dereference on every disconnect
instead.

Specifically, the serial device table must no longer be accessed after
the minor has been released by hso_serial_tty_unregister().

The Linux kernel CVE team has assigned CVE-2021-46905 to this issue.

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

	Issue introduced in 4.19.187 with commit 92028d7a31e5 and fixed in 4.19.189 with commit 5c17cfe155d2
	Issue introduced in 5.4.112 with commit 4a2933c88399 and fixed in 5.4.115 with commit d7fad2ce15bd
	Issue introduced in 5.10.30 with commit dc195928d7e4 and fixed in 5.10.33 with commit 90642ee9eb58
	Issue introduced in 5.11.14 with commit 388d05f70f1e and fixed in 5.11.17 with commit 0f000005da31
	Issue introduced in 5.12 with commit 8a12f8836145 and fixed in 5.12.1 with commit 41c44e1f3112
	Issue introduced in 5.12 with commit 8a12f8836145 and fixed in 5.13 with commit 2ad5692db728

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-2021-46905
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/net/usb/hso.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/5871761c5f0f20d6e98bf3b6bd7486d857589554
	https://git.kernel.org/stable/c/0c71d4c89559f72cec2592d078681a843bce570e
	https://git.kernel.org/stable/c/24b699bea7553fc0b98dad9d864befb6005ac7f1
	https://git.kernel.org/stable/c/5c17cfe155d21954b4c7e2a78fa771cebcd86725
	https://git.kernel.org/stable/c/d7fad2ce15bdbbd0fec3ebe999fd7cab2267f53e
	https://git.kernel.org/stable/c/90642ee9eb581a13569b1c0bd57e85d962215273
	https://git.kernel.org/stable/c/0f000005da31f6947f843ce6b3e3a960540c6e00
	https://git.kernel.org/stable/c/41c44e1f3112d7265dae522c026399b2a42d19ef
	https://git.kernel.org/stable/c/2ad5692db72874f02b9ad551d26345437ea4f7f3