🇰🇷 한글 설명
Hygon CPU를 탑재한 Linux 커널에서 resctrl_cpu_detect() 함수가 BSP 초기화 코드에 누락되어 있습니다. 이로 인해 부팅 초기 단계에서 x86_cache_occ_scale이 초기화되지 않은 상태에서 나누기를 시도하여 division by zero 오류가 발생합니다.
💡 쉬운 설명
Hygon CPU가 있는 리눅스 컴퓨터에서 부팅 시 필요한 초기화 코드 일부가 빠져있습니다. 이 때문에 시스템이 부팅 과정 중 0으로 나누는 오류로 충돌합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper
Since
923f3a2b48bd ("x86/resctrl: Query LLC monitoring properties once during boot")
resctrl_cpu_detect() has been moved from common CPU initialization code to
the vendor-specific BSP init helper, while Hygon didn't put that call in their
code.
This triggers a division by zero fault during early booting stage on our
machines with X86_FEATURE_CQM* supported, where get_rdt_mon_resources() tries
to calculate mon_l3_config with uninitialized boot_cpu_data.x86_cache_occ_scale.
Add the missing resctrl_cpu_detect() in the Hygon BSP init helper.
[ bp: Massage commit message. ]
📍 영향받는 시스템
Linux 커널 5.10 이상 (923f3a2b48bd 이후) + Hygon CPU + X86_FEATURE_CQM 지원
⚔️ 공격 벡터
로컬 - 부팅 시 자동 발생하는 kernel panic
🛡️ 대응 방법
Linux 커널을 최신 패치 버전으로 업그레이드하여 Hygon BSP init helper에 resctrl_cpu_detect() 포함 버전 설치
🔧 검증 코드
커널 심볼 맵에서 resctrl_cpu_detect가 존재하면 패치됨, 결과 없으면 취약할 가능성
grep resctrl_cpu_detect /boot/System.map-$(uname -r) 2>/dev/null | head -1