{"id":"CVE-2026-46262","state":"PUBLISHED","title":"ASoC: fsl_xcvr: Revert fix missing lock in fsl_xcvr_mode_put()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: fsl_xcvr: Revert fix missing lock in fsl_xcvr_mode_put()\n\nThis reverts commit f51424872760 (\"ASoC: fsl_xcvr: fix missing lock in fsl_xcvr_mode_put()\").\n\nThe original patch attempted to acquire the card->controls_rwsem lock in\nfsl_xcvr_mode_put(). However, this function is called from the upper ALSA\ncore function snd_ctl_elem_write(), which already holds the write lock on\ncontrols_rwsem for the whole put operation. So there is no need to simply\nhold the lock for fsl_xcvr_activate_ctl() again.\n\nAcquiring the read lock while holding the write lock in the same thread\nresults in a deadlock and a hung task, as reported by Alexander Stein.","publishedAt":"2026-06-03T15:49:59.980Z","updatedAt":"2026-06-03T15:49:59.980Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"612ffe1f4f0499b3011f16d06e354a76dae2e2d1","status":"affected","lessThan":"ae5a70e3e87c28edbaf9939cfef1bcbd9615420f","versionType":"git"},{"version":"38354c82abe7bcbcd1182a06af89d3cc16d3e2c7","status":"affected","lessThan":"30ffcad5edb56947dccc26f6816ab7a55b21a711","versionType":"git"},{"version":"61e007657bf7740d54ca2aadce0fb5997839818e","status":"affected","lessThan":"29b2fbe3498da3681a01b34e4a2259f8a1b89448","versionType":"git"},{"version":"daaf4fe333e0d48b2037cd2270bf1ff8f70d5068","status":"affected","lessThan":"b0f74f5d24fe3c73ef1369a811891198b54c1e8e","versionType":"git"},{"version":"cab928242853a832ffa7efda270ecfb9efeebb6e","status":"affected","lessThan":"9a2a5da002775376498e8814df4a87cd629a3a0c","versionType":"git"},{"version":"f514248727606b9087bc38a284ff686e0093abf1","status":"affected","lessThan":"0886dc6326c3cc596799c4340d342898301cf52a","versionType":"git"},{"version":"f514248727606b9087bc38a284ff686e0093abf1","status":"affected","lessThan":"9f16d96e1222391a6b996a1b676bec14fb91e3b2","versionType":"git"},{"version":"5.15.201","status":"affected","lessThan":"5.15.202","versionType":"semver"},{"version":"6.1.164","status":"affected","lessThan":"6.1.165","versionType":"semver"},{"version":"6.6.127","status":"affected","lessThan":"6.6.128","versionType":"semver"},{"version":"6.12.74","status":"affected","lessThan":"6.12.75","versionType":"semver"},{"version":"6.18.13","status":"affected","lessThan":"6.18.14","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/fsl/fsl_xcvr.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.19","versionType":"semver"},{"version":"5.15.202","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.165","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.128","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.75","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.14","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.4","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/fsl/fsl_xcvr.c"]}],"references":["https://git.kernel.org/stable/c/ae5a70e3e87c28edbaf9939cfef1bcbd9615420f","https://git.kernel.org/stable/c/30ffcad5edb56947dccc26f6816ab7a55b21a711","https://git.kernel.org/stable/c/29b2fbe3498da3681a01b34e4a2259f8a1b89448","https://git.kernel.org/stable/c/b0f74f5d24fe3c73ef1369a811891198b54c1e8e","https://git.kernel.org/stable/c/9a2a5da002775376498e8814df4a87cd629a3a0c","https://git.kernel.org/stable/c/0886dc6326c3cc596799c4340d342898301cf52a","https://git.kernel.org/stable/c/9f16d96e1222391a6b996a1b676bec14fb91e3b2"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:07.131Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/46xxx/CVE-2026-46262.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-46262","state":"PUBLISHED","datePublished":"2026-06-03T15:49:59.980Z","dateUpdated":"2026-06-03T15:49:59.980Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-13T15:03:33.108Z"},"containers":{"cna":{"title":"ASoC: fsl_xcvr: Revert fix missing lock in fsl_xcvr_mode_put()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: fsl_xcvr: Revert fix missing lock in fsl_xcvr_mode_put()\n\nThis reverts commit f51424872760 (\"ASoC: fsl_xcvr: fix missing lock in fsl_xcvr_mode_put()\").\n\nThe original patch attempted to acquire the card->controls_rwsem lock in\nfsl_xcvr_mode_put(). However, this function is called from the upper ALSA\ncore function snd_ctl_elem_write(), which already holds the write lock on\ncontrols_rwsem for the whole put operation. So there is no need to simply\nhold the lock for fsl_xcvr_activate_ctl() again.\n\nAcquiring the read lock while holding the write lock in the same thread\nresults in a deadlock and a hung task, as reported by Alexander Stein."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"612ffe1f4f0499b3011f16d06e354a76dae2e2d1","status":"affected","lessThan":"ae5a70e3e87c28edbaf9939cfef1bcbd9615420f","versionType":"git"},{"version":"38354c82abe7bcbcd1182a06af89d3cc16d3e2c7","status":"affected","lessThan":"30ffcad5edb56947dccc26f6816ab7a55b21a711","versionType":"git"},{"version":"61e007657bf7740d54ca2aadce0fb5997839818e","status":"affected","lessThan":"29b2fbe3498da3681a01b34e4a2259f8a1b89448","versionType":"git"},{"version":"daaf4fe333e0d48b2037cd2270bf1ff8f70d5068","status":"affected","lessThan":"b0f74f5d24fe3c73ef1369a811891198b54c1e8e","versionType":"git"},{"version":"cab928242853a832ffa7efda270ecfb9efeebb6e","status":"affected","lessThan":"9a2a5da002775376498e8814df4a87cd629a3a0c","versionType":"git"},{"version":"f514248727606b9087bc38a284ff686e0093abf1","status":"affected","lessThan":"0886dc6326c3cc596799c4340d342898301cf52a","versionType":"git"},{"version":"f514248727606b9087bc38a284ff686e0093abf1","status":"affected","lessThan":"9f16d96e1222391a6b996a1b676bec14fb91e3b2","versionType":"git"},{"version":"5.15.201","status":"affected","lessThan":"5.15.202","versionType":"semver"},{"version":"6.1.164","status":"affected","lessThan":"6.1.165","versionType":"semver"},{"version":"6.6.127","status":"affected","lessThan":"6.6.128","versionType":"semver"},{"version":"6.12.74","status":"affected","lessThan":"6.12.75","versionType":"semver"},{"version":"6.18.13","status":"affected","lessThan":"6.18.14","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/fsl/fsl_xcvr.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.19","versionType":"semver"},{"version":"5.15.202","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.165","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.128","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.75","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.14","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.4","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/fsl/fsl_xcvr.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/ae5a70e3e87c28edbaf9939cfef1bcbd9615420f"},{"url":"https://git.kernel.org/stable/c/30ffcad5edb56947dccc26f6816ab7a55b21a711"},{"url":"https://git.kernel.org/stable/c/29b2fbe3498da3681a01b34e4a2259f8a1b89448"},{"url":"https://git.kernel.org/stable/c/b0f74f5d24fe3c73ef1369a811891198b54c1e8e"},{"url":"https://git.kernel.org/stable/c/9a2a5da002775376498e8814df4a87cd629a3a0c"},{"url":"https://git.kernel.org/stable/c/0886dc6326c3cc596799c4340d342898301cf52a"},{"url":"https://git.kernel.org/stable/c/9f16d96e1222391a6b996a1b676bec14fb91e3b2"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-06-03T15:49:59.980Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.201","versionEndExcluding":"5.15.202"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.164","versionEndExcluding":"6.1.165"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.127","versionEndExcluding":"6.6.128"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.74","versionEndExcluding":"6.12.75"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18.13","versionEndExcluding":"6.18.14"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"6.19.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}