From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Kazuki Hanai <hnkz.64@gmail.com>
Cc: Takashi Iwai <tiwai@suse.de>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, ljs@kernel.org,
David Carlier <devnexen@gmail.com>
Subject: [PATCH] ALSA: us122l: mark hwdep mappings VM_MIXEDMAP
Date: Fri, 23 Oct 2026 11:21:31 +0100 [thread overview]
Message-ID: <20261023-fix-us122l-mixedmap-v1-1-e7bdd053850f@kernel.org> (raw)
mm has recently moved to a strict model which requires any driver which
clears VMA_MAYWRITE_BIT to be mapping non-mm-managed memory
(VMA_PFNMAP_BIT or VMA_MIXEDMAP_BIT), failing any such mmap() with an
error and a kernel warning - see "mm/vma: only allow mmap to clear
VMA_MAYWRITE_BIT if not mm-managed".
However, simultaneous to this, commit 71c610aeb177 ("ALSA: us122l: Prevent
write upgrades for read mappings") updated us122l to clear
VMA_MAYWRITE_BIT without marking the region with either VMA_PFNMAP_BIT or
VMA_MIXEDMAP_BIT.
vm_insert_pages() and friends set this automatically, however this driver
maps its pre-allocated pages from a fault handler, so never calls these.
Simply set the flag in usb_stream_hwdep_mmap() to resolve the issue. This
correctly marks the mapping as one whose pages core mm does not manage,
which has no meaningful impact for this driver beyond preventing the mmap()
from failing.
Fixes: 71c610aeb177 ("ALSA: us122l: Prevent write upgrades for read mappings")
Reported-by: David Carlier <devnexen@gmail.com>
Closes: https://lore.kernel.org/20261018025905.201296-1-devnexen@gmail.com
Cc: Kazuki Hanai <hnkz.64@gmail.com>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
---
Andrew - I think easiest for you to take this.
It should go in before my series ideally to avoid bisection hazard, I think
while it's a fix for the driver, that'll be the safest way.
It should be prioritised to be part of the 2nd batch of patches for this merge
window.
The commit it fixes is cc: stable but this does NOT need to be backported, it's
for 7.4 only.
Thanks!
---
sound/usb/usx2y/us122l.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/usb/usx2y/us122l.c b/sound/usb/usx2y/us122l.c
index a5db0d044ef9..2986a90ea335 100644
--- a/sound/usb/usx2y/us122l.c
+++ b/sound/usb/usx2y/us122l.c
@@ -193,7 +193,7 @@ static int usb_stream_hwdep_mmap(struct snd_hwdep *hw,
}
area->vm_ops = &usb_stream_hwdep_vm_ops;
- vm_flags_set(area, VM_DONTDUMP);
+ vm_flags_set(area, VM_MIXEDMAP | VM_DONTDUMP);
if (!read)
vm_flags_set(area, VM_DONTEXPAND);
area->vm_private_data = us122l;
---
base-commit: 2bba28e98578de622ef307d00875aa8f8bca3d10
change-id: 20261023-fix-us122l-mixedmap-2d42f05ab421
Cheers,
--
Lorenzo Stoakes (ARM) <ljs@kernel.org>
next reply other threads:[~2026-10-23 10:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-23 10:21 Lorenzo Stoakes (ARM) [this message]
2026-10-23 13:30 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261023-fix-us122l-mixedmap-v1-1-e7bdd053850f@kernel.org \
--to=ljs@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=devnexen@gmail.com \
--cc=hnkz.64@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®