Subject: CVE-2021-47356: mISDN: fix possible use-after-free in HFC_cleanup()

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

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

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

mISDN: fix possible use-after-free in HFC_cleanup()

This module's remove path calls del_timer(). However, that function
does not wait until the timer handler finishes. This means that the
timer handler may still be running after the driver's remove function
has finished, which would result in a use-after-free.

Fix by calling del_timer_sync(), which makes sure the timer handler
has finished, and unable to re-schedule itself.

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

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

	Fixed in 4.4.276 with commit 49331c07ef0f
	Fixed in 4.9.276 with commit 54ff32029289
	Fixed in 4.14.240 with commit 7867ddc5f3de
	Fixed in 4.19.198 with commit 5f2818185da0
	Fixed in 5.4.133 with commit 3ecd228c636e
	Fixed in 5.10.51 with commit b7ee9ae1e0cf
	Fixed in 5.12.18 with commit 61370ff07e0a
	Fixed in 5.13.3 with commit ed7c3739d0a0
	Fixed in 5.14 with commit 009fc857c5f6

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-47356
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/isdn/hardware/mISDN/hfcpci.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/49331c07ef0f8fdfa42b30ba6a83a657b29d7fbe
	https://git.kernel.org/stable/c/54ff3202928952a100c477248e65ac6db01258a7
	https://git.kernel.org/stable/c/7867ddc5f3de7f289aee63233afc0df4b62834c5
	https://git.kernel.org/stable/c/5f2818185da0fe82a932f0856633038b66faf124
	https://git.kernel.org/stable/c/3ecd228c636ee17c14662729737fa07242a93cb0
	https://git.kernel.org/stable/c/b7ee9ae1e0cf55a037c4a99af2acc5d78cb7802d
	https://git.kernel.org/stable/c/61370ff07e0acc657559a8fac02551dfeb9d3020
	https://git.kernel.org/stable/c/ed7c3739d0a07e2ec3ccbffe7e93cea01c438cda
	https://git.kernel.org/stable/c/009fc857c5f6fda81f2f7dd851b2d54193a8e733