diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2026-06-01 21:57:40 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2026-06-08 15:39:32 +0000 |
| commit | bda153dc04b4ddb667856874c083bd117fc0b9a1 (patch) | |
| tree | 8791738b56a605948331a852400836756febe2de /gnu | |
| parent | c42ee04c521ed8268421173f961859233a321b17 (diff) | |
sound: Fix software buffer lifetime issues
The channel buffer mapped by dsp_mmap_single() may be freed when the
device handle is closed, but the mapping persists beyond that, allowing
userspace to read or write memory owned by a different consumer.
Fix the problem by adding a reference counter to the sound buffer.
Define pager ops for the VM object returned by dsp_mmap_single() and use
them to manage the extra reference.
Add a regression test.
Approved by: so
Security: FreeBSD-SA-26:27.sound
Security: CVE-2026-49417
Reported by: Lexpl0it, 75Acol, Liyw979, Rob1n
Reviewed by kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57393
Diffstat (limited to 'gnu')
0 files changed, 0 insertions, 0 deletions
