🇰🇷 한글 설명
i.MX8MQ 플랫폼의 g1/g2 VPU가 H.264, HEVC 동시 디코딩 시 버스 에러 및 이미지 손상, 시스템 행(hang) 발생 문제를 해결합니다. g1과 g2가 v4l2_m2m_dev를 공유하여 교대로 동작하도록 개선했습니다.
💡 쉬운 설명
비디오 재생 칩 두 개가 동시에 작동할 때 시스템이 충돌하거나 멈추는 문제입니다. 한 번에 하나씩만 동작하도록 수정했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: verisilicon: Avoid G2 bus error while decoding H.264 and HEVC
For the i.MX8MQ platform, there is a hardware limitation: the g1 VPU and
g2 VPU cannot decode simultaneously; otherwise, it will cause below bus
error and produce corrupted pictures, even potentially lead to system hang.
[ 110.527986] hantro-vpu 38310000.video-codec: frame decode timed out.
[ 110.583517] hantro-vpu 38310000.video-codec: bus error detected.
Therefore, it is necessary to ensure that g1 and g2 operate alternately.
This allows for successful multi-instance decoding of H.264 and HEVC.
To achieve this, g1 and g2 share the same v4l2_m2m_dev, and then the
v4l2_m2m_dev can handle the scheduling.
📍 영향받는 시스템
Linux kernel (i.MX8MQ SoC), verisilicon VPU 드라이버 사용 임베디드/미디어 기기
⚔️ 공격 벡터
악의적 공격 아님. 멀티 스트림 H.264/HEVC 디코딩 시 자동 발생하는 안정성 결함
🛡️ 대응 방법
Linux 커널 패치 적용 (verisilicon 드라이버 업데이트) 또는 소프트웨어 레벨에서 디코더 인스턴스 직렬화
🔧 검증 코드
'bus error detected' 메시지 없으면 패치 적용 완료; 있으면 여전히 취약함
dmesg | grep -E 'hantro-vpu|frame decode timed out|bus error' || echo 'No VPU errors found'