From nobody Mon Dec 8 18:09:13 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dQ93Z0ss8z6K8rn for ; Mon, 08 Dec 2025 18:09:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dQ93Y6FT3z3bkq for ; Mon, 08 Dec 2025 18:09:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765217353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mubXpqlNcVOUKa2l4eCkhGd8iEj9QpN2OQRe3FoSH5Y=; b=h2PaLas/NQ9YjSTEhzAe99+9la8gOolCYgG2Utg78pDgGdwvPXhQhxU+xtjfC+u+AalTvN oHJQE7+pJpwa1tvzyePaskiNMILPmrVc/uKVkKGONIc3/iZhh6zobQGAhhZRxBHKH0I3RP INEhBTtjuNDAves7qezgy3hVTkoRKzq4hUL0OsNInJuPZ6j8l8PSG2YB72XF/71+KdOUWS fVZ9j3P/kggC9cDrDgBbymMPf3NopzeWrK/Zk75mCq86a/xAjPygK5rwZ2VJnfQaTJbH9M 3DL4gBF27ebCF2MjmOMumtbQLEkMZHU3Xa0MsfufBO3zEY1pWJ5Enig9MXjsVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765217353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mubXpqlNcVOUKa2l4eCkhGd8iEj9QpN2OQRe3FoSH5Y=; b=oebsrLQ7drmHvZfsaWlZHfrM7fayyQm6fqCDcqLoEj5Q9dptFUY93vX0OBMDAgXvJ0OBxh NCDF5G+Wtgmfn0du9L4DNytu0Dfj+xCN5VAt5oezWG8b3sn72gVCSYJ92lb9spgYOaxnC8 +vIEoFGeI8LjKG4g02v5vy7xRzl9N/F2W+0nFooFNLYPzi+80+SkH8NanArAPCA0Kn4yOd MQt2tyzS+OtRCO+KVFVkMWHRr3plFBdVLib2p5dzBGKp4WGqiCXQA/cJm2jpWUxUCc681e Zoq693sGHnhOt0+dSKijccjIl1FyFG5lKaIipaSp6CACjqGyLX7N2Am/dvFhdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1765217353; a=rsa-sha256; cv=none; b=nIiwNTwUXoUjsVIKSj/PCoQiZnw5yhuclkppI2mKFRQYHyOiwpXRB5IGA0QtHsRTJW5kw8 fVBgz4WT/vRvHCgfqVRJD0wAtOxKSnQyqTh2Q4AFR6d3WudOBddaUUTMxmw51CgbWuZhFu Z7v7hDzTziXVLXIRIA4exdtvxOUSBM4c+UYr+OsU7mHAZPBfye663hTWpGDLU1Y37YsxFk wWm4Ql6Z5It+ui/trDA+EzfAFdS9O/lRe0HakHWRTCl/TYZ/JgU/x+UHsmLgDc9A0+7+tL g/+W2B1yb5wmAfwTn0U6Fdqz05FLsQ8rV/ZxWFRLGoUcJb+8xUraNMO+MomMzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dQ93Y5qGhz7Zs for ; Mon, 08 Dec 2025 18:09:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cb52 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 08 Dec 2025 18:09:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Austin Shafer Subject: git: 452b92fadae1 - stable/15 - linuxkpi: gracefully handle page lookup failure in lkpi_vmf_insert_pfn_prot_locked List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ashafer X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 452b92fadae16e30f815203863bb9dd92ddff762 Auto-Submitted: auto-generated Date: Mon, 08 Dec 2025 18:09:13 +0000 Message-Id: <69371449.cb52.3c135d9c@gitrepo.freebsd.org> The branch stable/15 has been updated by ashafer: URL: https://cgit.FreeBSD.org/src/commit/?id=452b92fadae16e30f815203863bb9dd92ddff762 commit 452b92fadae16e30f815203863bb9dd92ddff762 Author: Austin Shafer AuthorDate: 2025-10-28 18:08:01 +0000 Commit: Austin Shafer CommitDate: 2025-12-08 18:08:32 +0000 linuxkpi: gracefully handle page lookup failure in lkpi_vmf_insert_pfn_prot_locked Currently lkpi_vmf_insert_pfn_prot_locked will check the page iter to find a usage of the page. If no page was found, it continues on to try using PHYS_TO_VM_PAGE() to get a page. Currently it does not check if a valid page was found before passing it to vm_page_busy_acquire, which can cause a kernel page fault as vm_page_busy_acquire expects a valid page pointer. This can easily be triggered while starting KDE6 in wayland mode, which many users have been reporting. With this change plasma6 starts properly in wayland mode. Sponsored by: NVIDIA PR: 288565 Reviewed by: markj, kbowling (mentor) Differential Revision: https://reviews.freebsd.org/D53412 (cherry picked from commit 03b214a35db1ebdc7575cad8d695c65daf2817bf) --- sys/compat/linuxkpi/common/src/linux_page.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index a71a708c1bd8..2b2827579cba 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -345,6 +345,10 @@ retry: page = vm_page_grab_iter(vm_obj, pindex, VM_ALLOC_NOCREAT, &pages); if (page == NULL) { page = PHYS_TO_VM_PAGE(IDX_TO_OFF(pfn)); + if (page == NULL) { + pctrie_iter_reset(&pages); + return (VM_FAULT_SIGBUS); + } if (!vm_page_busy_acquire(page, VM_ALLOC_WAITFAIL)) { pctrie_iter_reset(&pages); goto retry;