Page MenuHomeFreeBSD

AMD-vi: Fortify IVHD device_identify process
ClosedPublic

Authored by khng on Apr 1 2021, 12:13 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Mar 2, 10:35 AM
Unknown Object (File)
Mon, Mar 2, 9:19 AM
Unknown Object (File)
Mon, Mar 2, 3:31 AM
Unknown Object (File)
Sun, Mar 1, 4:21 AM
Unknown Object (File)
Fri, Feb 27, 8:17 PM
Unknown Object (File)
Fri, Feb 27, 9:04 AM
Unknown Object (File)
Sun, Feb 22, 11:36 AM
Unknown Object (File)
Tue, Feb 17, 8:47 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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 38231
Build 35120: arc lint + arc unit