Linux 커널에서는 다음 취약점이 해결되었습니다. idpf: idpf_ptp_init()에서 read_dev_clk_lock spinlock init 수정 idpf_ptp_init()에서 read_dev_clk_lock은 다음 후에 초기화됩니다. ptp_schedule_worker()가 이미 호출되었습니다(그리고 그 이후 idpf_ptp_settime64()가 잠금에 도달할 수 있습니다. PTP 보조 작업자 예약 즉시 실행되며 전화를 걸 수 있습니다. idpf_ptp_read_src_clk_reg_direct(), 이는 다음을 수행합니다. 초기화되지 않은 잠금에 대한 spin_lock(&ptp->read_dev_clk_lock), 트리거 lockdep "비-s
Linux 커널에서는 다음 취약점이 해결되었습니다.
idpf: idpf_ptp_init()에서 read_dev_clk_lock spinlock init 수정
idpf_ptp_init()에서 read_dev_clk_lock은 다음 후에 초기화됩니다. ptp_schedule_worker()가 이미 호출되었습니다(그리고 그 이후 idpf_ptp_settime64()가 잠금에 도달할 수 있습니다. PTP 보조 작업자 예약 즉시 실행되며 전화를 걸 수 있습니다. idpf_ptp_read_src_clk_reg_direct(), 이는 다음을 수행합니다. 초기화되지 않은 잠금에 대한 spin_lock(&ptp->read_dev_clk_lock), 트리거 lockdep "비정적 키" 경고:
[12973.796587] idpf 0000:83:00.0: 장치 HW 재설정이 시작되었습니다. [12974.094507] 정보: 비정적 키를 등록하는 중입니다. ... [12974.097208] 통화 추적: [12974.097213] <태스크> [12974.097218] dump_stack_lvl+0x93/0xe0 [12974.097234] Register_lock_class+0x4c4/0x4e0 [12974.097249] ? __lock_acquire+0x427/0x2290 [12974.097259] __lock_acquire+0x98/0x2290 [12974.097272] lock_acquire+0xc6/0x310 [12974.097281] ? idpf_ptp_read_src_clk_reg+0xb7/0x150 [idpf] [12974.097311] ? lockdep_hardirqs_on_prepare+0xde/0x190 [12974.097318] ? Finish_task_switch.isra.0+0xd2/0x350 [12974.097330] ? __pfx_ptp_aux_kworker+0x10/0x10 [ptp] [12974.097343] _raw_spin_lock+0x30/0x40 [12974.097353] ? idpf_ptp_read_src_clk_reg+0xb7/0x150 [idpf] [12974.097373] idpf_ptp_read_src_clk_reg+0xb7/0x150 [idpf] [12974.097391] ? kthread_worker_fn+0x88/0x3d0 [12974.097404] ? kthread_worker_fn+0x4e/0x3d0 [12974.097411] idpf_ptp_update_cached_phctime+0x26/0x120 [idpf] [12974.097428] ? _raw_spin_unlock_irq+0x28/0x50 [12974.097436] idpf_ptp_do_aux_work+0x15/0x20 [idpf] [12974.097454] ptp_aux_kworker+0x20/0x40 [ptp] [12974.097464] kthread_worker_fn+0xd5/0x3d0 [12974.097474] ? __pfx_kthread_worker_fn+0x10/0x10 [12974.097482] kthread+0xf4/0x130 [12974.097489] ? __pfx_kthread+0x10/0x10 [12974.097498] ret_from_fork+0x32c/0x410 [12974.097512] ? __pfx_kthread+0x10/0x10 [12974.097519] ret_from_fork_asm+0x1a/0x30 [12974.097540]
read_dev_clk_lock을 확인하기 위해 spin_lock_init() 호출을 약간 위로 이동하세요. 초기화되기 전에는 건드리지 않습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 98.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 98.00 |
VPI 공식 vpi-v1 기준