CVE-2024-26841 in Linux
요약
\~에 의해 VulDB • 2026. 05. 30.
리눅스 커널 패닉/워닝 로그를 분석한 결과입니다.
### **요약 결론** 이 오류는 **Loongson 3A6000-HV** 프로세서에서 **CPU 핫플러그(CPU Hotplug) 해제 과정(`sched_cpu_deactivate`)** 중 발생한 **브레이크 포인트(Breakpoint) 예외**입니다.
핵심 원인은 `__static_key_slow_dec_cpuslocked` 함수 호출 시, 커널 디버깅 또는 성능 모니터링을 위한 브레이크 포인트(`bp`)가 트리거되었으며, 이는 일반적으로 **커널 디버깅 도구(kgdb, kprobes, perf 등)**가 활성화되어 있거나, **정적 키(static key)의 상태 변경 중 예외 상황**이 발생했음을 시사합니다.
---
### **상세 분석**
#### 1. **시스템 환경** - **CPU**: Loongson-64bit, **Loongson-3A6000-HV** (하이퍼바이저 버전) - **커널 버전**: `6.8.0-rc5+` (개발 중 버전) - **프로세스**: `cpuhp/6` (CPU 6번의 상태 변경을 담당하는 커널 스레드) - **상태**: `Not tainted` (외부 모듈로 인한 오염 없음)
#### 2. **에러 코드 해석** - **`ECFG: 00071c1c (LIE=2-4,10-12 VS=7)`**: Loongson 아키텍처의 예외 구성 레지스터. - **`ESTAT: 000c0000 [BRK]`**: **브레이크 포인트(Breakpoint) 예외**가 발생했음을 명시.
- **`ECode=12, EsubCode=0`**: Loongson ISA에서 `BRK` 명령어 실행 시 발생하는 예외.
#### 3. **콜 트레이스(Call Trace) 분석** ``` [] show_stack+0x48/0x1a0
[] dump_stack_lvl+0x78/0xa0
[] __warn+0x90/0x1a0
[] report_bug+0x1b8/0x280
[] do_bp+0x264/0x420 <-- 브레이크 포인트 예외 처리 함수
[] __static_key_slow_dec_cpuslocked+0xec/0x100 <-- 정적 키 감소
[] sched_cpu_deactivate+0x2fc/0x300 <-- CPU 비활성화
[] cpuhp_invoke_callback+0x178/0x8a0 <-- CPU 상태 변경 콜백 호출
[] cpuhp_thread_fun+0xf0/0x240
[] smpboot_thread_fn+0x1dc/0x2e0
[] kthread+0x140/0x160
[] ret_from_kernel_thread+0xc/0xa4
```
- **`sched_cpu_deactivate`**: CPU 6번을 비활성화하려는 시도. - **`__static_key_slow_dec_cpuslocked`**: CPU 상태 변경 시 정적 키(static key)의 참조 카운트를 감소시키는 함수. 정적 키는 커널의 조건부 코드 실행 경로를 최적화하는 메커니즘. - **`do_bp`**: 브레이크 포인트 예외를 처리하는 함수. 여기서 커널이 `__warn`을 호출하여 스택 덤프를 출력함.
---
### **가능한 원인**
1. **커널 디버깅 도구 활성화** - `CONFIG_KGDB`, `CONFIG_KPROBES`, 또는 `CONFIG_PERF_EVENTS`가 활성화되어 있고, 해당 도구가 `__static_key_slow_dec_cpuslocked` 함수에 브레이크 포인트를 설정했을 수 있습니다. - 특히 `rc5` 같은 개발 버전 커널에서는 디버깅 옵션이 기본적으로 켜져 있을 수 있습니다.
2. **정적 키(static key)의 불일치 또는 버그** - CPU 비활성화 과정에서 정적 키의 상태가 예상과 다르게 변경되어, 커널 내부 검증 로직에서 브레이크 포인트를 발생시켰을 수 있습니다. - Loongson 아키텍처의 특정 구현에서 `static key`와 CPU 핫플러그 간의 상호작용에 버그가 있을 수 있습니다.
3. **하이퍼바이저(HV) 관련 문제** - `Loongson-3A6000-HV`는 하이퍼바이저 버전입니다. 가상화 환경에서 CPU 핫플러그
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.