CVE-2026-43316

Summary

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

media: solo6x10: Check for out of bounds chip_id

Clang with CONFIG_UBSAN_SHIFT=y noticed a condition where a signed type (literal "1" is an "int") could end up being shifted beyond 32 bits, so instrumentation was added (and due to the double is_tw286x() call seen via inlining), Clang decides the second one must now be undefined behavior and elides the rest of the function[1]. This is a known problem with Clang (that is still being worked on), but we can avoid the entire problem by actually checking the existing max chip ID, and now there is no runtime instrumentation added at all since everything is known to be within bounds.

Additionally use an unsigned value for the shift to remove the instrumentation even without the explicit bounds checking.

[hverkuil: fix checkpatch warning for is_tw286x]

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxfaa4fd2a09517b39cc1f5d622453f97a59acfdac < c327192ca26670cf6e588c1eeda66cd2fa97630eaffected
LinuxLinuxfaa4fd2a09517b39cc1f5d622453f97a59acfdac < 0b3dadada2417782a63ce32dae05bafe1c949e3faffected
LinuxLinuxfaa4fd2a09517b39cc1f5d622453f97a59acfdac < 603e3859393ee2ce91393b7d05e6e56e4b66e5cdaffected
LinuxLinuxfaa4fd2a09517b39cc1f5d622453f97a59acfdac < 33af366211ee78e3b074ff44a16121e537e86826affected
LinuxLinuxfaa4fd2a09517b39cc1f5d622453f97a59acfdac < 5849ae68d7b8b6ad55cc1bf0d227dd2ae6362528affected
LinuxLinuxfaa4fd2a09517b39cc1f5d622453f97a59acfdac < d29f33b2cf98e4901cd5457d1ee34062e808df73affected
LinuxLinuxfaa4fd2a09517b39cc1f5d622453f97a59acfdac < 4d6db0c6bbbfd8d7bbdbf7ab6a9c003752abf116affected
LinuxLinuxfaa4fd2a09517b39cc1f5d622453f97a59acfdac < 0fdf6323c35a134f206dcad5babb4ff488552076affected
LinuxLinux2.6.36affected
LinuxLinux0 < 2.6.36unaffected
LinuxLinux5.10.252 <= 5.10.*unaffected
LinuxLinux5.15.202 <= 5.15.*unaffected
LinuxLinux6.1.165 <= 6.1.*unaffected
LinuxLinux6.6.128 <= 6.6.*unaffected
LinuxLinux6.12.75 <= 6.12.*unaffected
LinuxLinux6.18.16 <= 6.18.*unaffected
LinuxLinux6.19.6 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References