Subject: CVE-2024-26702: iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC

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

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

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

iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC

Recently, we encounter kernel crash in function rm3100_common_probe
caused by out of bound access of array rm3100_samp_rates (because of
underlying hardware failures). Add boundary check to prevent out of
bound access.

The Linux kernel CVE team has assigned CVE-2024-26702 to this issue.

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

	Issue introduced in 5.0 with commit 121354b2eceb and fixed in 5.4.269 with commit 7200170e88e3
	Issue introduced in 5.0 with commit 121354b2eceb and fixed in 5.10.210 with commit 36a49290d7e6
	Issue introduced in 5.0 with commit 121354b2eceb and fixed in 5.15.149 with commit 8d5838a473e8
	Issue introduced in 5.0 with commit 121354b2eceb and fixed in 6.1.79 with commit 176256ff8abf
	Issue introduced in 5.0 with commit 121354b2eceb and fixed in 6.6.18 with commit 1d8c67e94e9e
	Issue introduced in 5.0 with commit 121354b2eceb and fixed in 6.7.6 with commit 57d05dbbcd0b
	Issue introduced in 5.0 with commit 121354b2eceb and fixed in 6.8 with commit 792595bab492

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-2024-26702
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/magnetometer/rm3100-core.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/7200170e88e3ec54d9e9c63f07514c3cead11481
	https://git.kernel.org/stable/c/36a49290d7e6d554020057a409747a092b1d3b56
	https://git.kernel.org/stable/c/8d5838a473e8e6d812257c69745f5920e4924a60
	https://git.kernel.org/stable/c/176256ff8abff29335ecff905a09fb49e8dcf513
	https://git.kernel.org/stable/c/1d8c67e94e9e977603473a543d4f322cf2c4aa01
	https://git.kernel.org/stable/c/57d05dbbcd0b3dc0c252103b43012eef5d6430d1
	https://git.kernel.org/stable/c/792595bab4925aa06532a14dd256db523eb4fa5e