[Bug 278569] DMA bounce pages are not freed when DMA tag is destroyed
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.