Subject: CVE-2021-47500: iio: mma8452: Fix trigger reference couting

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

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

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

iio: mma8452: Fix trigger reference couting

The mma8452 driver directly assigns a trigger to the struct iio_dev. The
IIO core when done using this trigger will call `iio_trigger_put()` to drop
the reference count by 1.

Without the matching `iio_trigger_get()` in the driver the reference count
can reach 0 too early, the trigger gets freed while still in use and a
use-after-free occurs.

Fix this by getting a reference to the trigger before assigning it to the
IIO device.

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

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

	Issue introduced in 4.2 with commit ae6d9ce05691 and fixed in 4.4.295 with commit 094d513b78b1
	Issue introduced in 4.2 with commit ae6d9ce05691 and fixed in 4.9.293 with commit fb75cc4740d8
	Issue introduced in 4.2 with commit ae6d9ce05691 and fixed in 4.14.258 with commit 794c0898f6bf
	Issue introduced in 4.2 with commit ae6d9ce05691 and fixed in 4.19.221 with commit f5deab10ced3
	Issue introduced in 4.2 with commit ae6d9ce05691 and fixed in 5.4.165 with commit acf0088ac073
	Issue introduced in 4.2 with commit ae6d9ce05691 and fixed in 5.10.85 with commit db12d9508536
	Issue introduced in 4.2 with commit ae6d9ce05691 and fixed in 5.15.8 with commit c43517071dfc
	Issue introduced in 4.2 with commit ae6d9ce05691 and fixed in 5.16 with commit cd0082235783

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-47500
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/iio/accel/mma8452.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/094d513b78b1714113bc016684b8142382e071ba
	https://git.kernel.org/stable/c/fb75cc4740d81264cd5bcb0e17d961d018a8be96
	https://git.kernel.org/stable/c/794c0898f6bf39a458655d5fb4af70ec43a5cfcb
	https://git.kernel.org/stable/c/f5deab10ced368c807866283f8b79144c4823be8
	https://git.kernel.org/stable/c/acf0088ac073ca6e7f4cad6acac112177e08df5e
	https://git.kernel.org/stable/c/db12d95085367de8b0223929d1332731024441f1
	https://git.kernel.org/stable/c/c43517071dfc9fce34f8f69dbb98a86017f6b739
	https://git.kernel.org/stable/c/cd0082235783f814241a1c9483fb89e405f4f892