Linux 커널에서는 다음 취약점이 해결되었습니다. net/mlx5e: 오류 CQE SQ 복구 시 DMA FIFO 비동기화 수정 TX 오류 CQE의 경우 복구 흐름이 트리거됩니다. mlx5e_reset_txqsq_cc_pc()는 dma_fifo_cc를 0으로 재설정하지만 dma_fifo_pc는 재설정하지 않습니다. DMA FIFO 생산자와 소비자의 동기화를 해제합니다. 복구 후 생산자는 이전 DMA 항목을 이전 위치에 푸시합니다. dma_fifo_pc, 소비자가 위치 0부터 읽는 동안. 이로 인해 복구 전의 오래된 DMA 주소 매핑이 해제됩니다. DMA FI
Linux 커널에서는 다음 취약점이 해결되었습니다.
net/mlx5e: 오류 CQE SQ 복구 시 DMA FIFO 비동기화 수정
TX 오류 CQE의 경우 복구 흐름이 트리거됩니다. mlx5e_reset_txqsq_cc_pc()는 dma_fifo_cc를 0으로 재설정하지만 dma_fifo_pc는 재설정하지 않습니다. DMA FIFO 생산자와 소비자의 동기화를 해제합니다.
복구 후 생산자는 이전 DMA 항목을 이전 위치에 푸시합니다. dma_fifo_pc, 소비자가 위치 0부터 읽는 동안. 이로 인해 복구 전의 오래된 DMA 주소 매핑이 해제됩니다.
DMA FIFO는 HW 대응 요소가 없는 순수한 소프트웨어 구성입니다. 재설정 시점에 모든 WQE가 플러시되었으므로 dma_fifo_cc는 이미 dma_fifo_pc와 같습니다. 두 카운터 중 하나를 재설정할 필요가 없습니다. skb_fifo pc/cc가 그대로 유지되는 방식과 유사합니다.
'dma_fifo_cc = 0' 재설정을 제거하세요.
이로 인해 다음 경고가 수정되었습니다. 경고: CPU: 0 PID: drivers/iommu/dma-iommu.c:1240 iommu_dma_unmap_page+0x79/0x90에서 0 링크된 모듈: mlx5_vdpa vringh vdpa 본딩 mlx5_ib mlx5_vfio_pci ipip mlx5_fwctltunnel4 mlx5_core ib_ipoib geneve ip6_gre ip_gre gre nf_tables ip6_tunnel rdma_ucm ib_uverbs ib_umad vfio_pci vfio_pci_core act_mirred act_skbedit act_vlan vhost_net 가상 호스트 탭 ip6table_mangle ip6table_nat ip6table_filter ip6_tables iptable_mangle cls_matchall nfnetlink_cttimeout act_gact cls_flower sch_ingress vhost_iotlb iptable_raw 터널6 vfio_iommu_type1 vfio openvswitch nsh rpcsec_gss_krb5 auth_rpcgss oid_registry xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink iptable_nat nf_nat xt_addrtype br_netfilter overlay zram zsmalloc rpcrdma ib_iser libiscsi scsi_transport_iscsi rdma_cm iw_cm ib_cm ib_core 퓨즈 [마지막 언로드: nf_테이블] CPU: 0 UID: 0 PID: 0 통신: swapper/0 오염되지 않음 6.13.0-rc5_for_upstream_min_debug_2024_12_30_21_33 #1 하드웨어 이름: QEMU 표준 PC(Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuild.qemu.org 04/01/2014 RIP: 0010:iommu_dma_unmap_page+0x79/0x90 코드: 2b 4d 3b 21 72 26 4d 3b 61 08 73 20 49 89 d8 44 89 f9 5b 4c 89 f2 4c 89 e6 48 89 ef 5d 41 5c 41 5d 41 5e 41 5f e9 c7 ae 9e ff <0f> 0b 5b 5d 41 5c 41 5d 41 5e 41 5f c3 66 2e 0f 1f 84 00 00 00 00 통화 추적: ? __경고+0x7d/0x110 ? iommu_dma_unmap_page+0x79/0x90 ? Report_bug+0x16d/0x180 ? handler_bug+0x4f/0x90 ? exc_invalid_op+0x14/0x70 ? asm_exc_invalid_op+0x16/0x20 ? iommu_dma_unmap_page+0x79/0x90 ? iommu_dma_unmap_page+0x2e/0x90 dma_unmap_page_attrs+0x10d/0x1b0 mlx5e_tx_wi_dma_unmap+0xbe/0x120 [mlx5_core] mlx5e_poll_tx_cq+0x16d/0x690 [mlx5_core] mlx5e_napi_poll+0x8b/0xac0 [mlx5_core] __napi_poll+0x24/0x190 net_rx_action+0x32a/0x3b0 ? mlx5_eq_comp_int+0x7e/0x270 [mlx5_core] ? notifier_call_chain+0x35/0xa0 handler_softirqs+0xc9/0x270 irq_exit_rcu+0x71/0xd0 common_interrupt+0x7f/0xa0 <과제> asm_common_interrupt+0x22/0x40
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 82.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 82.00 |
VPI 공식 vpi-v1 기준