Description
In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: exynos: Fix programming of HCI_UTRL_NEXUS_TYPE On Google gs101, the number of UTP transfer request slots (nutrs) is 32, and in this case the driver ends up programming the UTRL_NEXUS_TYPE incorrectly as 0. This is because the left hand side of the shift is 1, which is of type int, i.e. 31 bits wide. Shifting by more than that width results in undefined behaviour. Fix this by switching to the BIT() macro, which applies correct type casting as required. This ensures the correct value is written to UTRL_NEXUS_TYPE (0xffffffff on gs101), and it also fixes a UBSAN shift warning: UBSAN: shift-out-of-bounds in drivers/ufs/host/ufs-exynos.c:1113:21 shift exponent 32 is too large for 32-bit type 'int' For consistency, apply the same change to the nutmrs / UTMRL_NEXUS_TYPE write.
Product status
55f4b1f73631a0817717fe6e98517de51b4c3527 (git) before 01510a9e8222f11cce064410f3c2fcf0756c0a08
55f4b1f73631a0817717fe6e98517de51b4c3527 (git) before 098b2c8ee208c77126839047b9e6e1925bb35baa
55f4b1f73631a0817717fe6e98517de51b4c3527 (git) before c1f025da8f370a015e412b55cbcc583f91de8316
55f4b1f73631a0817717fe6e98517de51b4c3527 (git) before 6d53b2a134da77eb7fe65c5c7c7a3c193539a78a
55f4b1f73631a0817717fe6e98517de51b4c3527 (git) before dc8fb963742f1a38d284946638f9358bdaa0ddee
55f4b1f73631a0817717fe6e98517de51b4c3527 (git) before 5b9f1ef293428ea9c0871d96fcec2a87c4445832
55f4b1f73631a0817717fe6e98517de51b4c3527 (git) before 01aad16c2257ab8ff33b152b972c9f2e1af47912
5.9
Any version before 5.9
5.10.241 (semver)
5.15.190 (semver)
6.1.149 (semver)
6.6.103 (semver)
6.12.44 (semver)
6.16.4 (semver)
6.17 (original_commit_for_fix)
References
git.kernel.org/...c/01510a9e8222f11cce064410f3c2fcf0756c0a08
git.kernel.org/...c/098b2c8ee208c77126839047b9e6e1925bb35baa
git.kernel.org/...c/c1f025da8f370a015e412b55cbcc583f91de8316
git.kernel.org/...c/6d53b2a134da77eb7fe65c5c7c7a3c193539a78a
git.kernel.org/...c/dc8fb963742f1a38d284946638f9358bdaa0ddee
git.kernel.org/...c/5b9f1ef293428ea9c0871d96fcec2a87c4445832
git.kernel.org/...c/01aad16c2257ab8ff33b152b972c9f2e1af47912