diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-09-17 02:35:58 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-09-25 05:11:23 +0000 |
| commit | 4993c1052f899b9a971815df5661ca241641ad8e (patch) | |
| tree | 4d164ba7323fbeef3a408264485a6a8c515d8178 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp | |
| parent | 6429199a21136cad3c82b43618a6ca2958b90bbf (diff) | |
aq: Invalidate the descriptor cache after stopping all rings
Atlantic controllers can retain receive descriptors and their data
addresses after their rings are disabled. Reusing or releasing those
mappings without invalidating the device cache has caused observed
IOMMU and SMMU faults in the referenced Linux reports (7a1bb49461b1,
ed4d81c4b3f2 and 7526183cfdbe).
Move global cache invalidation out of the per-ring stop routine. Disable
every ring first, toggle invalidation once, and wait for its completion
indication. Exclude Atlantic A0, as in the upstream workaround. Report
a completion timeout rather than silently discarding it.
Reviewed by: nprice
MFC after: 2 weeks
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D59852
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp')
0 files changed, 0 insertions, 0 deletions
