From patchwork Thu Aug 27 15:01:31 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Alice C. Munduruca" X-Patchwork-Id: 2293526 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=185.125.189.65; helo=lists.ubuntu.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=patchwork.ozlabs.org) Received: from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4hW4Vc23p4z1xtN for ; Fri, 28 Aug 2026 01:02:00 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=lists.ubuntu.com) by lists.ubuntu.com with esmtp (Exim 4.86_2) (envelope-from ) id 1wzbbx-0003sd-6Q; Thu, 27 Aug 2026 15:01:49 +0000 Received: from smtp-relay-internal-0.internal ([10.131.114.225] helo=smtp-relay-internal-0.canonical.com) by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1wzbbv-0003sJ-Lt for kernel-team@lists.ubuntu.com; Thu, 27 Aug 2026 15:01:47 +0000 Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 755C83F1B9 for ; Thu, 27 Aug 2026 15:01:47 +0000 (UTC) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-78449c66789so242295137.1 for ; Thu, 27 Aug 2026 08:01:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787842906; x=1788447706; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=aGXdhx1MEWlm7975J97PY/+9J0Nicagl8ktA4JMFlXE=; b=ck6pm4qarEAPQIvE5sqB1hlhdhlyzelKhR7lifELwPRVXb2LxMXfMLg4mn7uSGI6iY hSh4jHAHm5k9gm+mNvlqN/O0JClWDYewVIJ5n0agV25Xmz0kjXQd55DC8pw/iWvPiURG sAKQ/3VYMFYPvmdiBbIEF8EC9fUKk+Dra1NN/9gmjF9qCgnWUmq+I9PwaXJqiXFs2YzD HHslof3FgHvYw5mtL0eawB05ueZQF8O6EWDwDX/9peAHKAa8B6fOvdSXvFtzLX+4reH0 8mdq3FEEWX0lN8QbSGtbuZ0ivesM8IoVPcX9eQLQeC2wNdc1BNIN8ActH+EajYy+L+VR RmHQ== X-Gm-Message-State: AFuF++nxiSp4uD9ycXLohlyFXwv1vf2LEnfMxb+kl1G/3+la6QZV4DVV GOHR6FYK+TQFIY35TH/YPVnjRwx0OwU2s7OtT0YbznMmQ99pLI5EgoUt49I8EkE3x7ZnUqsDC/E vviK/w4ZiSLrxbKFHwlz+vf5OKqMHu0gpM7oVAW/TdIYIm+GjyZJvJY6I5/N//hITtV0T7pA0oF PjRKq93+I3bS2zJw== X-Gm-Gg: AR+sD13LSlYspUbp+qyWyXpwc+Ruih9l+zmtAzdvrxUKlduc1+JpAjJUZdReX679Duz 6hBDR9ecF1Y4LQC72BWMssg5tcknykxloE92eS0bmtP1AK/9GifeTsktYr1x7INYHR0/q5wFn05 L5Lf+J8USb7+ZIch8zCrovzQO0TSV+1G7Dycz4qDHUipnd49UWspNjg5DC3/4tLfQ1++H+N9KaW XPhTAz+PQwCTdO3/5PDprGRL1A7WpHnige2K3/zwP4AOjC7NGUs89Tbr6dcdqpVarjq6M3XyAnY QaUDDNyD3QSKySgDdubH4ulABDNQlycLgbA7BH9teVP9nrvrRUZVp/iZ5F3AMg8WuM2oUvpPNKn NaKvXrFLE X-Received: by 2002:a05:6102:148e:b0:77f:7df:c9ef with SMTP id ada2fe7eead31-782bcc38b76mr5370787137.0.1787842905854; Thu, 27 Aug 2026 08:01:45 -0700 (PDT) X-Received: by 2002:a05:6102:148e:b0:77f:7df:c9ef with SMTP id ada2fe7eead31-782bcc38b76mr5370590137.0.1787842902028; Thu, 27 Aug 2026 08:01:42 -0700 (PDT) Received: from localhost ([70.24.127.164]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-78307cc2055sm4718677137.9.2026.08.27.08.01.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 08:01:41 -0700 (PDT) To: kernel-team@lists.ubuntu.com Subject: [SRU][R][PATCH 1/2] accel/amdxdna: Return ERR_PTR on dma_alloc_noncoherent failure Date: Thu, 27 Aug 2026 11:01:31 -0400 Message-ID: <20260827150134.873855-2-alice.munduruca@canonical.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260827150134.873855-1-alice.munduruca@canonical.com> References: <20260827150134.873855-1-alice.munduruca@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: "Alice C. Munduruca via kernel-team" From: "Alice C. Munduruca" Reply-To: "Alice C. Munduruca" Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Wendy Liang BugLink: https://bugs.launchpad.net/bugs/2165040 dma_alloc_noncoherent() returns NULL on failure, but callers of aie2_alloc_msg_buffer() check for IS_ERR(). Return ERR_PTR(-ENOMEM) instead of NULL to match the amdxdna_iommu_alloc() path and the caller's error checking convention. Fixes: ece3e8980907 ("accel/amdxdna: Allow forcing IOVA-based DMA via module parameter") Signed-off-by: Wendy Liang Reviewed-by: Karol Wachowski Reviewed-by: Mario Limonciello (AMD) Signed-off-by: Lizhi Hou Link: https://patch.msgid.link/20260323173719.2311474-1-lizhi.hou@amd.com (backported from commit 140cfee588af8656822b835ccd28515f0b8c77cf) [cremfuelled: We have AIE2/4 refactor commit so context is `aie.xdna`.] Signed-off-by: Alice C. Munduruca --- drivers/accel/amdxdna/aie2_message.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/accel/amdxdna/aie2_message.c b/drivers/accel/amdxdna/aie2_message.c index 27fccce2655f..3249b810bf7c 100644 --- a/drivers/accel/amdxdna/aie2_message.c +++ b/drivers/accel/amdxdna/aie2_message.c @@ -31,6 +31,7 @@ void *aie2_alloc_msg_buffer(struct amdxdna_dev_hdl *ndev, u32 *size, dma_addr_t *dma_addr) { struct amdxdna_dev *xdna = ndev->aie.xdna; + void *vaddr; int order; *size = max(*size, SZ_8K); @@ -42,8 +43,12 @@ void *aie2_alloc_msg_buffer(struct amdxdna_dev_hdl *ndev, u32 *size, if (amdxdna_iova_on(xdna)) return amdxdna_iommu_alloc(xdna, *size, dma_addr); - return dma_alloc_noncoherent(xdna->ddev.dev, *size, dma_addr, + vaddr = dma_alloc_noncoherent(xdna->ddev.dev, *size, dma_addr, DMA_FROM_DEVICE, GFP_KERNEL); + if (!vaddr) + return ERR_PTR(-ENOMEM); + + return vaddr; } void aie2_free_msg_buffer(struct amdxdna_dev_hdl *ndev, size_t size, From patchwork Thu Aug 27 15:01:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Alice C. Munduruca" X-Patchwork-Id: 2293527 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=185.125.189.65; helo=lists.ubuntu.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=patchwork.ozlabs.org) Received: from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4hW4Vc2gj1z1xvx for ; Fri, 28 Aug 2026 01:02:00 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=lists.ubuntu.com) by lists.ubuntu.com with esmtp (Exim 4.86_2) (envelope-from ) id 1wzbby-0003tP-HS; Thu, 27 Aug 2026 15:01:50 +0000 Received: from smtp-relay-internal-1.internal ([10.131.114.114] helo=smtp-relay-internal-1.canonical.com) by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1wzbbw-0003sa-Qn for kernel-team@lists.ubuntu.com; Thu, 27 Aug 2026 15:01:49 +0000 Received: from mail-vk1-f198.google.com (mail-vk1-f198.google.com [209.85.221.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id B084A3F285 for ; Thu, 27 Aug 2026 15:01:48 +0000 (UTC) Received: by mail-vk1-f198.google.com with SMTP id 71dfb90a1353d-5c2cd8c6b09so2102691e0c.2 for ; Thu, 27 Aug 2026 08:01:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787842907; x=1788447707; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=4GpmjBj1xLWnRaVCvgLUcodDdVvdJbo43d2ZA8Bt/6k=; b=L6LkxisLhWHF3tzeDik221d8b22LryY7ns5udkpIEooyLFhDSwNNUifOJkz+eLrUcF wR4wwWKecznT8MQQ9XUoqDMel/0BsK7mh/KnrykURGcGX/sJWAe/2TixUhMFb4fy0lJf Xxk2yln8I055dmBU2cMo2zsD6klPg7SAlEpYltELI1x/ICjrn29crBqRusfsSMoZOpqv BQhF5KzY9INvbllUBtnEwZXFYIxigYWOYrleBUSlRy/kg1m3vvFTES4oWLP5g4skW6rN k781vOgrG9k+bb8vnUeQ6x37IjF0BX6ktISDlBLMPSV3Hc9X8ehJLWcR/uyTb/gpaVNJ iXRg== X-Gm-Message-State: AFuF++nSIxz+CPvI9H3UxGp81Pb6Ntz6/0lslxfRMO+9jgB63TQNl3tQ 9LO2MG8CF504SNllSPLhWtpw53wzveWKCsfA8oToIz2iTda7UFgyaaKZ/YOHEtDDuIJqy3PkXw+ V3P2XHNC5+o297Q10AZXH9cxLYwkXIg/3E7zzOrjkxJxAnatPUmmsgGzwUbMfakUjeua1QLdoim qa2Lw6qVNRsrr4ng== X-Gm-Gg: AR+sD11AcXuN5BaELfGiMGzU4d/rUJ5FPIImxWr6hZhQfRB4hcwOxppDBmCMwrKJ2mH K53F+Ly/cFzlphuffwvlP7Y8bt/5J9Ki596Jd7ouZmUYKx9XrV9a2sJqRWKA9XXc/HyMMx7gk46 kUjQXrX0VIxghNLpcBPYWlBZ/0xN9zLC9BZa/kRcYqoJu2Fvmu8Xll+XZfHpG2I/rk4wpvpd6R0 ub/ELWE3PnQoXNp8Sd2UpbySgYvdvqnNNC6mQUoYRaVidpZUF1JJ5HaT4Pnh0iFCw6iTN1kKSbY RN9AV1NkpiOCv9PHjJLRhMJcClQOE8TAgh1scCB7SM/DG4xvBmtU7+S/8gF0hWV5NO5RFFrdDf0 M/+dnOAea X-Received: by 2002:a05:6122:5301:b0:5c6:6da6:7ce with SMTP id 71dfb90a1353d-5c66da607e9mr3835390e0c.3.1787842907437; Thu, 27 Aug 2026 08:01:47 -0700 (PDT) X-Received: by 2002:a05:6122:5301:b0:5c6:6da6:7ce with SMTP id 71dfb90a1353d-5c66da607e9mr3835274e0c.3.1787842906842; Thu, 27 Aug 2026 08:01:46 -0700 (PDT) Received: from localhost ([70.24.127.164]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-5c65fe98120sm4000865e0c.8.2026.08.27.08.01.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 08:01:46 -0700 (PDT) To: kernel-team@lists.ubuntu.com Subject: [SRU][R][PATCH 2/2] accel/amdxdna: Fix memory leak in amdxdna_iommu_alloc() Date: Thu, 27 Aug 2026 11:01:32 -0400 Message-ID: <20260827150134.873855-3-alice.munduruca@canonical.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260827150134.873855-1-alice.munduruca@canonical.com> References: <20260827150134.873855-1-alice.munduruca@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: "Alice C. Munduruca via kernel-team" From: "Alice C. Munduruca" Reply-To: "Alice C. Munduruca" Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Felix Gu BugLink: https://bugs.launchpad.net/bugs/2165040 In amdxdna_iommu_alloc(), if iommu_map() fails after successfully allocating both iova and cpu_addr, the code jumps to free_iova which only frees the iova, leaking the allocated pages. Fixes: ece3e8980907 ("accel/amdxdna: Allow forcing IOVA-based DMA via module parameter") Signed-off-by: Felix Gu Reviewed-by: Lizhi Hou Signed-off-by: Lizhi Hou Link: https://patch.msgid.link/20260416-amdxdna-v1-1-30c13008365c@gmail.com (cherry picked from commit 432fafdc9a3122a7bee5b2bfd23dcf2dc262a3d7) Signed-off-by: Alice C. Munduruca --- drivers/accel/amdxdna/amdxdna_iommu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/accel/amdxdna/amdxdna_iommu.c b/drivers/accel/amdxdna/amdxdna_iommu.c index 4626434d4180..a2e8d8ac0901 100644 --- a/drivers/accel/amdxdna/amdxdna_iommu.c +++ b/drivers/accel/amdxdna/amdxdna_iommu.c @@ -110,10 +110,12 @@ void *amdxdna_iommu_alloc(struct amdxdna_dev *xdna, size_t size, dma_addr_t *dma iova_align(&xdna->iovad, size), IOMMU_READ | IOMMU_WRITE, GFP_KERNEL); if (ret) - goto free_iova; + goto free_cpu_addr; return cpu_addr; +free_cpu_addr: + free_pages((unsigned long)cpu_addr, get_order(size)); free_iova: __free_iova(&xdna->iovad, iova); return ERR_PTR(ret);