From nobody Mon Jul 27 00:10:44 2026 X-Original-To: dev-commits-src-branches@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 4h7fBZ1GGvz6m9MP for ; Mon, 27 Jul 2026 00:10:46 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4h7fBY0GVdz43pD for ; Mon, 27 Jul 2026 00:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785111045; 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=j2In8u+fByfoYW+Li5OmWSjJvpuCSFTSHaFbatfYibI=; b=x7NwAsAJFrQcZWbcrHoiV+a6g+DFrNuRFNyzFLTqDwxT3Uj2GG/woUa+iblzBP6MBJRIBY mcyfETOqtYHTQhAigkjPw9SQkQ+NL+rRdW+e6dxIFe8E2MVF7ZKvv8EbVXKBwU+e0rsIdR WHVx3nehqSSAtiVVHh+pPWhNU0GGtSkY5FXzVMq2e9aBET5jdqE9K/VdiwpdY/5CrGTAeW NeBT1+B5jpYtw5zCMd97lhGkfuQXMuJwSy/WZxrKcXbpBFutNwYnzn+vuQ5grMfGYHTZzP dGU08TBReZIeHL64OXSs0XgrlvYpELET+2BPwdC+MYtIgtEQzkav4lgYXmrNyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785111045; a=rsa-sha256; cv=none; b=k1xmqwnzHzNcMW7ylQODPu76GHv5OBRe42rOYte12Zr1LW9A0QE/sjhbxhaG08kvxcKPrU AZUpksZjtZMdP+lqVHYknwVjiu6y9EL2xq34MdOFenfK9O5nM4uHO3h8fzBwopnAeFeCeb XHw+XhwrmzPiw/mB9aGXstcRo2Y5u0RLaB+hanaJeeFzcwoYUt2PvdAL5k9MRIi+ihYlGp uyfydxz86x/3TfTrh+PtKdWM720uF7iqD7I/nszlaOJkVk5KoZ8z5kimWPJZikWQpIuxQf y6kt8GJVBmZ6d6vvRtENLo1qc+roqA49ejyG6NvX6eqTUDVMe3naSw2NvWLCyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785111045; 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=j2In8u+fByfoYW+Li5OmWSjJvpuCSFTSHaFbatfYibI=; b=YQoA33L0x5eCYNrkAX+bVGT5R2YGI7d9WIJO7w/ZWWgKLmFBK4sTGjhduWIXnYOaXhJQGN MtvKUzqYf0NymZc1NhEvdJohlQMYG6/H9JONgdNHbFdHsIs6yMLc9nhoi1/kg/ii/Z+85e Iu4s+otV140q15HS7vkd38pTBVf6cvzgYh7n+TM8a132d6jhIXWRls8BLWyw9hb5bBTcGf r+QbT1arEoYyhtDFkXCZR+PPpOvLErUbc/yELj1lqi8gV/cQ0E8OS6wk63bVzl/CVFhi30 sxGHvexmIi7vDUCzkJPZLvClRbtqpQGz8ztuqJoZejy8E+6O/0dMj0j8mROozw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h7fBX6B8pzlXs for ; Mon, 27 Jul 2026 00:10:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2772a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Jul 2026 00:10:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: a7d0df951c90 - stable/15 - LinuxKPI: pci: fix dma handle type in match function List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a7d0df951c90612e6bc04cb22333df4aff1361d1 Auto-Submitted: auto-generated Date: Mon, 27 Jul 2026 00:10:44 +0000 Message-Id: <6a66a204.2772a.2d975aa0@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a7d0df951c90612e6bc04cb22333df4aff1361d1 commit a7d0df951c90612e6bc04cb22333df4aff1361d1 Author: Bjoern A. Zeeb AuthorDate: 2026-05-27 01:26:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-07-26 16:48:44 +0000 LinuxKPI: pci: fix dma handle type in match function dma_addr_t is a vm_paddr_t which is a uint of some width. Rather than passing pointers of it around pass the value. Comparing the addresses of different storage for the same dma handle (the actual bug here) will not work when passed to the devres match function. Sponsored by: The FreeBSD Foundation Fixes: 0a575891211ef ("implement dmam_free_coherent()") Differential Revision: https://reviews.freebsd.org/D58285 (cherry picked from commit 2099bf27126f6fef10128c3cd0ea8476c88b28c5) --- sys/compat/linuxkpi/common/src/linux_pci.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 6f5d0347ad8b..940926c6297c 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -1916,7 +1916,7 @@ linux_dma_alloc_coherent(struct device *dev, size_t size, struct lkpi_devres_dmam_coherent { size_t size; - dma_addr_t *handle; + dma_addr_t handle; void *mem; }; @@ -1926,7 +1926,7 @@ lkpi_dmam_free_coherent(struct device *dev, void *p) struct lkpi_devres_dmam_coherent *dr; dr = p; - dma_free_coherent(dev, dr->size, dr->mem, *dr->handle); + dma_free_coherent(dev, dr->size, dr->mem, dr->handle); } static int @@ -1952,7 +1952,7 @@ linuxkpi_dmam_free_coherent(struct device *dev, size_t size, { struct lkpi_devres_dmam_coherent match = { .size = size, - .handle = &dma_handle, + .handle = dma_handle, .mem = addr }; int error; @@ -1979,7 +1979,7 @@ linuxkpi_dmam_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_ha dr->size = size; dr->mem = linux_dma_alloc_coherent(dev, size, dma_handle, flag); - dr->handle = dma_handle; + dr->handle = *dma_handle; if (dr->mem == NULL) { lkpi_devres_free(dr); return (NULL);