Description
In the Linux kernel, the following vulnerability has been resolved: i2c: qup: jump out of the loop in case of timeout Original logic only sets the return value but doesn't jump out of the loop if the bus is kept active by a client. This is not expected. A malicious or buggy i2c client can hang the kernel in this case and should be avoided. This is observed during a long time test with a PCA953x GPIO extender. Fix it by changing the logic to not only sets the return value, but also jumps out of the loop and return to the caller with -ETIMEDOUT.
Product status
fbfab1ab065879370541caf0e514987368eb41b2 before cbec4406998185e0311ae97dfacc649f9cd79b0b
fbfab1ab065879370541caf0e514987368eb41b2 before acfa2948be630ad857535cb36153697f3cbf9ca9
fbfab1ab065879370541caf0e514987368eb41b2 before d05ec13aa3eb868a60dc961b489053a643863ddc
fbfab1ab065879370541caf0e514987368eb41b2 before c523bfba46c4b4d7676fb050909533a766698ecd
fbfab1ab065879370541caf0e514987368eb41b2 before 0d33913fce67a93c1eb83396c3c9d6b411dcab33
fbfab1ab065879370541caf0e514987368eb41b2 before 42c4471b30fa203249f476dd42321cd7efb7f6a8
fbfab1ab065879370541caf0e514987368eb41b2 before 89459f168b78e5c801dc8b7ad037b62898bc4f57
fbfab1ab065879370541caf0e514987368eb41b2 before a7982a14b3012527a9583d12525cd0dc9f8d8934
4.17
Any version before 4.17
5.4.297
5.10.241
5.15.190
6.1.148
6.6.101
6.12.41
6.15.9
6.16
References
git.kernel.org/...c/cbec4406998185e0311ae97dfacc649f9cd79b0b
git.kernel.org/...c/acfa2948be630ad857535cb36153697f3cbf9ca9
git.kernel.org/...c/d05ec13aa3eb868a60dc961b489053a643863ddc
git.kernel.org/...c/c523bfba46c4b4d7676fb050909533a766698ecd
git.kernel.org/...c/0d33913fce67a93c1eb83396c3c9d6b411dcab33
git.kernel.org/...c/42c4471b30fa203249f476dd42321cd7efb7f6a8
git.kernel.org/...c/89459f168b78e5c801dc8b7ad037b62898bc4f57
git.kernel.org/...c/a7982a14b3012527a9583d12525cd0dc9f8d8934