Page MenuHomeFreeBSD

AMD-vi: Fortify IVHD device_identify process
ClosedPublic

Authored by khng on Apr 1 2021, 12:13 AM.
Tags
None
Referenced Files
F151525257: D29525.id.diff
Thu, Apr 9, 12:40 AM
Unknown Object (File)
Tue, Apr 7, 3:41 PM
Unknown Object (File)
Tue, Apr 7, 1:00 AM
Unknown Object (File)
Wed, Apr 1, 12:38 PM
Unknown Object (File)
Sun, Mar 15, 1:50 PM
Unknown Object (File)
Wed, Mar 11, 1:30 PM
Unknown Object (File)
Wed, Mar 11, 11:55 AM
Unknown Object (File)
Mar 8 2026, 12:05 PM
Subscribers

Details

Summary
  • Use malloc(9) to allocate ivhd_hdrs list. The previous assumption that there are at most 10 IVHDs in a system is not true. A counter example would be a system with 4 IOMMUs, and each IOMMU is related to IVHDs type 10h, 11h and 40h in the ACPI IVRS table.
  • Always scan through the whole ivhd_hdrs list to find IVHDs that has the same DeviceId but less prioritized IVHD type.

Sponsored by: The FreeBSD Foundation
MFC with: 74ada297e897

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable