🇰🇷 한글 설명
Linux 커널 OCTEONtx2-af 드라이버의 하드웨어 버그로, NIX SQ manager의 sticky mode가 여러 SQ의 동시 전송 시 시스템 스톨을 유발하고 PSE 데드락을 초래합니다. 이를 해결하기 위해 sticky mode를 비활성화하고 관련 제어 비트를 재설정하여 시스템 안정성을 확보합니다.
💡 쉬운 설명
Marvell OcteonTx2 네트워크 프로세서에서 병렬 데이터 전송 시 시스템이 멈추거나 응답 불가 상태에 빠지는 하드웨어 버그입니다. 특정 최적화 기능을 끄고 클록 설정을 변경하여 문제를 해결합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
octeontx2-af: Workaround SQM/PSE stalls by disabling sticky
NIX SQ manager sticky mode is known to cause stalls when multiple SQs
share an SMQ and transmit concurrently. Additionally, PSE may deadlock
on transitions between sticky and non-sticky transmissions. There is
also a credit drop issue observed when certain condition clocks are
gated.
work around these hardware errata by:
- Disabling SQM sticky operation:
- Clear TM6 (bit 15)
- Clear TM11 (bit 14)
- Disabling sticky → non-sticky transition path that can deadlock PSE:
- Clear TM5 (bit 23)
- Preventing credit drops by keeping the control-flow clock enabled:
- Set TM9 (bit 21)
These changes are applied via NIX_AF_SQM_DBG_CTL_STATUS. With this
configuration the SQM/PSE maintain forward progress under load without
credit loss, at the cost of disabling sticky optimizations.
📍 영향받는 시스템
Marvell OcteonTx2 SoC 기반 네트워크 장비의 Linux 커널 드라이버 (octeontx2-af)
⚔️ 공격 벡터
로컬 또는 원격에서 여러 전송 큐(SQ)를 통해 동시 데이터 전송을 유발하여 시스템 스톨 또는 데드락 초래 (DoS)
🛡️ 대응 방법
Linux 커널을 패치된 버전으로 업데이트하여 NIX_AF_SQM_DBG_CTL_STATUS 레지스터 설정 반영
🔧 검증 코드
octeontx2 드라이버가 로드되어 있고 부트 로그에서 SQM/PSE 관련 메시지가 있으면 해당 시스템이 영향받음을 의미합니다.
lsmod | grep octeontx2 && dmesg | grep -i 'SQM\|PSE' | tail -3