Subject: CVE-2021-47323: watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()

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

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

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

watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()

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-47323 to this issue.

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

	Fixed in 4.4.276 with commit 0015581a79bb
	Fixed in 4.9.276 with commit b4565a8a2d6b
	Fixed in 4.14.240 with commit 2aef07017fae
	Fixed in 4.19.198 with commit 522e75ed63f6
	Fixed in 5.4.134 with commit 7c56c5508dc2
	Fixed in 5.10.52 with commit a173e3b62cf6
	Fixed in 5.12.19 with commit b3c41ea5bc34
	Fixed in 5.13.4 with commit f0feab82f6a0
	Fixed in 5.14 with commit 90b7c1411322

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-47323
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/watchdog/sc520_wdt.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/0015581a79bbf8e521f85dddb7d3e4a66b9f51d4
	https://git.kernel.org/stable/c/b4565a8a2d6bffb05bfbec11399d261ec16fe373
	https://git.kernel.org/stable/c/2aef07017fae21c3d8acea9656b10e3b9c0f1e04
	https://git.kernel.org/stable/c/522e75ed63f67e815d4ec0deace67df22d9ce78e
	https://git.kernel.org/stable/c/7c56c5508dc20a6b133bc669fc34327a6711c24c
	https://git.kernel.org/stable/c/a173e3b62cf6dd3c4a0a10c8a82eedfcae81a566
	https://git.kernel.org/stable/c/b3c41ea5bc34d8c7b19e230d80e0e555c6f5057d
	https://git.kernel.org/stable/c/f0feab82f6a0323f54d85e8b512a2be64f83648a
	https://git.kernel.org/stable/c/90b7c141132244e8e49a34a4c1e445cce33e07f4