CVE-2026-93145 in Linux
요약
\~에 의해 VulDB • 2026. 09. 18.
리눅스 커널에서 다음 취약점이 해결되었습니다:
clk: qcom: gdsc: gdsc_unregister()에서 도메인별 genpds 정리(gear down)
gdsc_unregister()는 OF 공급자 엔트리를 제거하고 상위/하위 도메인 배선을 해제하지만, gdsc_init()에 의해 등록된 개별 generic_pm_domain 구조체에 대해 pm_genpd_remove()를 호출하지 않습니다:
void gdsc_unregister(struct gdsc_desc *desc) {
struct device *dev = desc->dev; size_t num = desc->num;
gdsc_pm_subdomain_remove(desc, num); of_genpd_del_provider(dev->of_node); }
이로 인해 전역 gpd_list에 덩글링(dangling) 엔트리가 남습니다. 공급자 언바인드/재바인딩 주기(초기 부팅 중 지연 프로브 재실행, GDSC를 소유한 clk 드라이버의 실제 모듈 제거 또는 OF 오버레이 정리) 후 다음 gdsc_init()는 여전히 목록에 있는 이름을 다시 등록하려고 시도하며 pm_genpd_init()은 -EEXIST를 반환합니다.
우리가 여기에서 작업하는 동안 소비자용 OF 공급자 엔트리의 순서를 변경하여 가장 먼저 제거되도록 합니다. 그렇지 않으면 정렬 중인 도메인과 경쟁하는 fresh of_genpd_get_from_provider() 호출이 정리 중(domain mid-removal)인 도메인에 연결될 수 있습니다.
하위 도메인 링크가 해제된 후 scs[] 배열을 반복하고 등록된 각 도메인에 대해 pm_genpd_remove()를 수행합니다. 레귤레이터는 devm 관리(devm_regulator_get_optional(), gdsc_register()에서 사용)되므로 기본 장치가 언바인드될 때 자동으로 릴리스됩니다; genpd 회계만 명시적으로 취소해야 합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.