aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sound
diff options
context:
space:
mode:
authorFlorian Walpen <dev@submerge.ch>2022-11-04 18:04:26 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2022-11-04 18:05:34 +0000
commitad370f7658ba59811d02c04032ac33ef787f752f (patch)
tree6174b174840afb7e678bf0405d185a0f280137bf /sys/dev/sound
parenteb4d86d529e2523a19fd7454976923319954a49d (diff)
downloadsrc-ad370f7658ba59811d02c04032ac33ef787f752f.tar.gz
src-ad370f7658ba59811d02c04032ac33ef787f752f.zip
sound(4): Fix memory map of /dev/dsp devices when buffer size is not a multiple of PAGE_SIZE.
By using sndbuf_getallocsize() instead of sndbuf_getsize() in dsp_mmap_single(). PR: 267555 MFC after: 1 week Sponsored by: NVIDIA Networking
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/pcm/dsp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c
index 15f437b8627c..cddc05206c4d 100644
--- a/sys/dev/sound/pcm/dsp.c
+++ b/sys/dev/sound/pcm/dsp.c
@@ -2291,7 +2291,7 @@ dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset,
c = ((nprot & PROT_WRITE) != 0) ? wrch : rdch;
if (c == NULL || (c->flags & CHN_F_MMAP_INVALID) ||
- (*offset + size) > sndbuf_getsize(c->bufsoft) ||
+ (*offset + size) > sndbuf_getallocsize(c->bufsoft) ||
(wrch != NULL && (wrch->flags & CHN_F_MMAP_INVALID)) ||
(rdch != NULL && (rdch->flags & CHN_F_MMAP_INVALID))) {
relchns(i_dev, rdch, wrch, SD_F_PRIO_RD | SD_F_PRIO_WR);