🇰🇷 한글 설명
Linux 커널의 ASoC fsl_xcvr 드라이버에서 fsl_xcvr_mode_put() 함수 호출 시 이미 유지 중인 쓰기 잠금을 다시 획득하려고 시도하여 데드락이 발생하는 취약점이 있습니다. 이는 상위 ALSA 코드가 이미 controls_rwsem 잠금을 보유하고 있기 때문에 불필요한 잠금 획득으로 인해 시스템이 멈추는 원인이 됩니다.
💡 쉬운 설명
시스템의 오디오 드라이버가 불필요하게 잠금을 여러 번 시도하면서 프로그램이 멈추는 문제가 있습니다. 이는 시스템이 응답하지 않는 현상을 유발할 수 있는 중대한 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: fsl_xcvr: Revert fix missing lock in fsl_xcvr_mode_put()
This reverts commit f51424872760 ("ASoC: fsl_xcvr: fix missing lock in fsl_xcvr_mode_put()").
The original patch attempted to acquire the card->controls_rwsem lock in
fsl_xcvr_mode_put(). However, this function is called from the upper ALSA
core function snd_ctl_elem_write(), which already holds the write lock on
controls_rwsem for the whole put operation. So there is no need to simply
hold the lock for fsl_xcvr_activate_ctl() again.
Acquiring the read lock while holding the write lock in the same thread
results in a deadlock and a hung task, as reported by Alexander Stein.
📍 영향받는 시스템
Linux kernel (ASoC fsl_xcvr 드라이버가 포함된 모든 버전)
⚔️ 공격 벡터
로컬에서 오디오 제어 요소를 작성하여 데드락을 유발하는 코드 실행
🛡️ 대응 방법
커널 패치 적용 또는 해당 커미트(f51424872760)를 되돌리는 업데이트로 커널을 업그레이드하세요.
🔧 검증 코드
출력된 커널 버전이 패치가 적용된 최신 버전인지 확인하세요.