Subject: CVE-2021-47499: iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove

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

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

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

iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove

When ACPI type is ACPI_SMO8500, the data->dready_trig will not be set, the
memory allocated by iio_triggered_buffer_setup() will not be freed, and cause
memory leak as follows:

unreferenced object 0xffff888009551400 (size 512):
  comm "i2c-SMO8500-125", pid 911, jiffies 4294911787 (age 83.852s)
  hex dump (first 32 bytes):
    02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 20 e2 e5 c0 ff ff ff ff  ........ .......
  backtrace:
    [<0000000041ce75ee>] kmem_cache_alloc_trace+0x16d/0x360
    [<000000000aeb17b0>] iio_kfifo_allocate+0x41/0x130 [kfifo_buf]
    [<000000004b40c1f5>] iio_triggered_buffer_setup_ext+0x2c/0x210 [industrialio_triggered_buffer]
    [<000000004375b15f>] kxcjk1013_probe+0x10c3/0x1d81 [kxcjk_1013]

Fix it by remove data->dready_trig condition in probe and remove.

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

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

	Issue introduced in 4.2 with commit a25691c1f967 and fixed in 4.4.295 with commit 8c1d43f3a3fc
	Issue introduced in 4.2 with commit a25691c1f967 and fixed in 4.9.293 with commit 60a55b9d91ba
	Issue introduced in 4.2 with commit a25691c1f967 and fixed in 4.14.258 with commit 3899700ddacb
	Issue introduced in 4.2 with commit a25691c1f967 and fixed in 4.19.221 with commit a3730f74159a
	Issue introduced in 4.2 with commit a25691c1f967 and fixed in 5.4.165 with commit 8c163a142771
	Issue introduced in 4.2 with commit a25691c1f967 and fixed in 5.10.85 with commit ee86d0bad80b
	Issue introduced in 4.2 with commit a25691c1f967 and fixed in 5.15.8 with commit 14508fe13b1c
	Issue introduced in 4.2 with commit a25691c1f967 and fixed in 5.16 with commit 70c9774e180d

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-47499
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/kxcjk-1013.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/8c1d43f3a3fc7184c42d7398bdf59a2a2903e4fc
	https://git.kernel.org/stable/c/60a55b9d91ba99eb8cf015bc46dc2de05e168a15
	https://git.kernel.org/stable/c/3899700ddacbf7aaafadf44464fff3ff0d4e3307
	https://git.kernel.org/stable/c/a3730f74159ad00a28960c0efe2a931fe6fe6b45
	https://git.kernel.org/stable/c/8c163a14277115ca962103910ab4cce55e862ffb
	https://git.kernel.org/stable/c/ee86d0bad80bdcd11a87e188a596727f41b62320
	https://git.kernel.org/stable/c/14508fe13b1c578b3d2ba574f1d48b351975860c
	https://git.kernel.org/stable/c/70c9774e180d151abaab358108e3510a8e615215