[Bug 278569] DMA bounce pages are not freed when DMA tag is destroyed

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 16 Nov 2024 16:15:17 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278569

Mark Johnston <markj@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|bugs@FreeBSD.org            |markj@FreeBSD.org
             Status|New                         |Open
                 CC|                            |markj@FreeBSD.org

--- Comment #1 from Mark Johnston <markj@FreeBSD.org> ---
I posted a patch to fix this plus some related issues:
https://reviews.freebsd.org/D47521

However, the problem isn't a leak per se, it's that the check in
alloc_bounce_zone() fails to find the existing bounce zone when the DMA tag's
alignment is < PAGE_SIZE.  In particular, bounce zones are not private to a DMA
tag; they're on a global linked list and can be shared, but the check which
decides whether to use an existing zone is broken, so we allocate a new zone
each time, which manifests as a leak.

-- 
You are receiving this mail because:
You are the assignee for the bug.