Description
In the Linux kernel, the following vulnerability has been resolved: iio: adc: ad4851: fix ad4858 chan pointer handling The pointer returned from ad4851_parse_channels_common() is incremented internally as each channel is populated. In ad4858_parse_channels(), the same pointer was further incremented while setting ext_scan_type fields for each channel. This resulted in indio_dev->channels being set to a pointer past the end of the allocated array, potentially causing memory corruption or undefined behavior. Fix this by iterating over the channels using an explicit index instead of incrementing the pointer. This preserves the original base pointer and ensures all channel metadata is set correctly.
Product status
6250803fe2ec92be32a4df1c3a39c4a460d5bd58 (git) before 6c3b9e1167d072ce2d01cafec7866647cf8d3616
6250803fe2ec92be32a4df1c3a39c4a460d5bd58 (git) before 499a8cee812588905cc940837e69918c1649a19e
6.15
Any version before 6.15
6.15.3 (semver)
6.16 (original_commit_for_fix)
References
git.kernel.org/...c/6c3b9e1167d072ce2d01cafec7866647cf8d3616
git.kernel.org/...c/499a8cee812588905cc940837e69918c1649a19e