🇰🇷 한글 설명
Linux 커널의 레귤레이터 코어에서 공급 레귤레이터 활성화 실패 시 잠금 오류 경로에서 lockdep 경고가 발생하는 취약점이 있습니다. 이는 _regulator_put() 호출 시 mutex 잠금이 필요함에도 누락되어 발생하며, regulator_put() 사용으로 전환하고 적절한 잠금을 추가하여 수정되었습니다.
💡 쉬운 설명
시스템 전원 관리 기능 중 오류 처리 과정에서 잠금 장치가 제대로 작동하지 않아 시스템 불안정이나 경고가 발생할 수 있는 문제입니다. 개발자는 이 오류 경로를 수정하여 잠금이 올바르게 적용되도록 코드를 개선했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
regulator: core: fix locking in regulator_resolve_supply() error path
If late enabling of a supply regulator fails in
regulator_resolve_supply(), the code currently triggers a lockdep
warning:
WARNING: drivers/regulator/core.c:2649 at _regulator_put+0x80/0xa0, CPU#6: kworker/u32:4/596
...
Call trace:
_regulator_put+0x80/0xa0 (P)
regulator_resolve_supply+0x7cc/0xbe0
regulator_register_resolve_supply+0x28/0xb8
as the regulator_list_mutex must be held when calling _regulator_put().
To solve this, simply switch to using regulator_put().
While at it, we should also make sure that no concurrent access happens
to our rdev while we clear out the supply pointer. Add appropriate
locking to ensure that.
While the code in question will be removed altogether in a follow-up
commit, I believe it is still beneficial to have this corrected before
removal for future reference.
📍 영향받는 시스템
Linux kernel (regulator core subsystem)
⚔️ 공격 벡터
로컬 코드 실행을 통한 레귤레이터 공급자 등록 실패 시킴
🛡️ 대응 방법
패치된 Linux 커널 버전으로 업그레이드
🔧 검증 코드
출력된 커널 버전이 해당 CVE가 패치된 최신 안정 버전인지 확인