From nobody Mon Jun 8 08:28:15 2026 Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 40CD13612DB for ; Sun, 31 May 2026 02:05:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780193159; cv=none; b=gNG1CPoj6bI9oHw4qOm6N/GsZWG0pzRh7mwAm0qK7GI2JQLU4jqzGxyWrfFv34RuKeD99RldzxY2mLJklfGYWThXmh6ruhsHSTWcxH2FYMMQ3soD5myL0fDAP0AqnpwcGkUcEyRLcquY1kKXI7FiBhXPDTx5LblnEKOBf52gA5o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780193159; c=relaxed/simple; bh=hx410UHSdlgBtjJ9H09sx+B50T4kbh0WwKJI7BtUBdU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b+CIDS/haNlzacbr0rDRZqm/+OMRQsny4Z9xh02xTkQQvCCf8ICHPwF54uwiJYfSjiYV8EGWhAXUN9T7M9+wtDI+xOlo8u1TQ27x8KoZTePOLRnxT/d9LNbetX1UZhX3rYeQq93m8Qu948m5/lUe/Z00iAG5QFFs528+fX8/ruw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OBqfiYaq; arc=none smtp.client-ip=209.85.222.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OBqfiYaq" Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-9154ca1aa1dso63197385a.0 for ; Sat, 30 May 2026 19:05:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780193157; x=1780797957; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4Rpz+kGKDCFvWJqFvwgzUCdW4hrGHMFwU4vFb8j+Ivs=; b=OBqfiYaqU0iP+4aNyA78RWim8fQyGCq9UTG7B+W5qs4U1kUtEqydL10F3GpKIvM58b FnHXC4LZHiIRE7droMY2iEv537jr0aVDX9mcJmbQbqKVE0RQFfVmrmkdDA7FzPBjoF76 bP4iyKNHYkFRh7S2cB5ziMvKDLpxZ/QBYjjHFIQHPrOL3PWuicNqoMPExKuGclt0pCSZ MvDTC3M98ZwTZkmTKPb0kzj0d/rrm0B4kcgwBEC/r9fuS7WjXUhVN3rO5+crAQxTq43D gdBDNyDaQ77DK6Tq4s0eihRha5k/i3HMFLyZTGRbgtgRisKEHvXQ5qCMdd3OsP4/W3AK B5gQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780193157; x=1780797957; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4Rpz+kGKDCFvWJqFvwgzUCdW4hrGHMFwU4vFb8j+Ivs=; b=rEOXdon4WXdu9cQ31GGsQRVYcDkUsh0HYENUhakfOFTsdzLkdUKMJ5j8qeuXHwxq8s /GHe1Qabj4bVs8xQ+If4K1/qIHwUQMHpbWw8oj5lUr5INaKLkl0FesnW7Ls3MVsLRJJP l//uqkrwWx/MYBxjjMWnzXV+lesi+dq6y1/hqlVsjTfK7h0fycu8+ShOkA5SMetMQkCw sDFENGexm7dkbNcA6XdrVy/3Z1vXQisKUucEHvzzICV4YHDCUIB30nJbB4TNsxzla12f rP6HarvwGcKvZJ5ayP3dgHOVywI0iqPEffNkcxojMp88n5sWOe1N910uwLDCXSpNe/K1 50ng== X-Forwarded-Encrypted: i=1; AFNElJ/2In8O+wTWFbZucfQqaEgKVG95ifYD5qVBhdkbfjj4O+cquIYNkt1/wYRddKY9vFmrlxzZa8d4ABqWNUY=@vger.kernel.org X-Gm-Message-State: AOJu0YyMzouLfYfRu1HnfUXQNDGq66UVh7FpUKI2PqHLid/0ECGQC6Lc IhkyAgUhVfOvHCii+JT5E4VjROTB+ycCbw3PFkpqzt1xiFRkrMEyu1OE X-Gm-Gg: Acq92OGgwVFndHsiy1mc3bae1XFcqQ/2ckNbHAegbGm+YIGfw6NrTlYX09vr42Extga KCS9a5UX2xsfyv0AvY1Drm3Wx7gQWIuBDH1OkiT+I7eEL0BNcbd53zAyNJq83lxAvQwF9ODDXWX GO6udpqte+Tw78oSGEjAbF+wRiwexLl8QZb0Wu8rrwQA5qjtnKKKnUV5X8t8Zs9TR1zI9vZp3iv Hq9HuN1MwcJSBGyhnTe9j7+Z3vexOkSmbsEhvC9VxOmyMflYcPlCB541gwzH0H5Kd2VzZqandRX 88JebX0XpSmKKRQhet6qscrg0vDuyZGmPdzZwVfHCkRDPho35YlkbU7wJzpR6CnO5UKtGQM3dZy 984H4KdIkNRSwGgjUX2W7j5XBEIW7194k+npy4XBv0jDGSoUKIUQ/8RZAKjDGVzSuTd782+3dbI XgA2xN3jFBwHrVn1tk4PP+giRdEzq8HJMmnAf8S/Hd9lKsqRtWp26EkOA+fWhM2NMjH2VwqhXfP nBElZbswLTWu3+adrGaoSzcg6HrAmGQmI9ERZJK3mGq1A== X-Received: by 2002:a05:620a:28d2:b0:912:5d2a:4bd1 with SMTP id af79cd13be357-9152fa2f46bmr1103657385a.40.1780193157311; Sat, 30 May 2026 19:05:57 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id af79cd13be357-915324745cfsm620246285a.12.2026.05.30.19.05.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 19:05:56 -0700 (PDT) From: Rosen Penev To: dmaengine@vger.kernel.org Cc: Peter Ujfalusi , Vinod Koul , Frank Li , Haotian Zhang , linux-kernel@vger.kernel.org (open list) Subject: [PATCH 1/4] dmaengine: ti: omap-dma: fix missing return in probe error path Date: Sat, 30 May 2026 19:05:32 -0700 Message-ID: <20260531020535.594460-2-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260531020535.594460-1-rosenp@gmail.com> References: <20260531020535.594460-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If of_dma_controller_register() fails, the error path omits the return statement, causing probe to continue (and eventually succeed) despite the DMA controller not being registered. Add the missing return rc;. Fixes: 2e1136acf8a8 ("dmaengine: omap-dma: fix dma_pool resource leak in er= ror paths") Cc: stable@vger.kernel.org Assisted-by: Opencode:BigPickle Signed-off-by: Rosen Penev --- drivers/dma/ti/omap-dma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/ti/omap-dma.c b/drivers/dma/ti/omap-dma.c index 55ece7fd0d99..0f6dd6b0a301 100644 --- a/drivers/dma/ti/omap-dma.c +++ b/drivers/dma/ti/omap-dma.c @@ -1828,6 +1828,7 @@ static int omap_dma_probe(struct platform_device *pde= v) if (od->ll123_supported) dma_pool_destroy(od->desc_pool); omap_dma_free(od); + return rc; } } =20 --=20 2.54.0 From nobody Mon Jun 8 08:28:15 2026 Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F060364053 for ; Sun, 31 May 2026 02:06:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780193161; cv=none; b=WrN8KycbJmd0qgwj0YnkVM7Q5pUl5R26inj/oLUjQyact48eQif8FL+7QCyve74Pihn9JojW/tMQufTjWjqkJU4uugcdUxxAYPvCnx0BemTUP0/z0Edd+pi3CeiC8gSbwj8eltS4iy9niiCB9ng0mEvFtVaSJ2cFIsDXmsHe6/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780193161; c=relaxed/simple; bh=IQfxgm2MWgvf9AN1+HadB8z6n3kjnD8BRuJ/NOZfTVg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X0N0yI2GBAMwKNhS0yE5WDKqtrB4XnvYgmF6m7xx6qSPJU2R+rW/JDLj7+VZm/FqNLbED2VM53Ojew8k5CaAN/HyWqKK01oWIQDcz2J5joWgGrtowcxtecx0TNd7skOHAED8NcV5Og4VTzWBxvlM5AvgdFOavg1XWQb1ihRgrSc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MInsIqZX; arc=none smtp.client-ip=209.85.222.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MInsIqZX" Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-914b4be9c4bso822463385a.0 for ; Sat, 30 May 2026 19:06:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780193159; x=1780797959; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ev7p7h9heSSNp8XX7uho86JPebrwudJ97FaZXIjk1zc=; b=MInsIqZXa3920VX9ttZr3tTamgorsxkFsXj3sLsA+1PxzSoK5qBV39iBP9cbtW4VvS COaETIHJRwj2ZJ1M4NszFy4U/gLWQszUY5vzimFQX1mdF5lJD4kvhBZeZpJpZQ2Qc7j9 Aizv8xOHqTbdyFPT6R6tOypxpGtsuR6ArETUT3R00jjMN1ntlhdHEvHZj1yFEWJk1LUx /L1Hnfsq9hG9xs4lYs0qjHf248h0PcrjTpG6DirrJrpR4zrIzBzoxqpTdVh/OSBs0b93 lE7ebQEtRZJlStchWChL+PAKyg25MbF6+gv+gqla/6e6VVqfZwLuu8sPe6soAL4lek93 cEhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780193159; x=1780797959; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Ev7p7h9heSSNp8XX7uho86JPebrwudJ97FaZXIjk1zc=; b=suZRzSUk1W42SQ4NkSNg8LR1gj3pViuhhuvq655WKxiZ2bAqSSNrbMfY2zLT+cYmcq N1h50O0J1lB234Ar+GwmQGlnFPzbVPDWXAbZ7g8c5QWWKTGcn5x1K/eBF9W7o62Oq86U aFKn7L79SIBr7UsSoLwlnWbCjak65BzgWfnWiqJMfd8xYq2wXmUKuwHHTvZfI9Ud4c7B fDl6lPG0ROpi2Q0CJ80Fo4He37ZxysVlfr9pVyYBsOP5QBRfUxyd0u5fIuuNoJnjh2sy xxt/81iY31rH7YflX8y9uEqEJe0SmdQcerZqyy0/Ja0yotR+qESeU+Ga+pDO7qkh/Izo 8c4g== X-Forwarded-Encrypted: i=1; AFNElJ+r+lkWpWyL4HxynVmV/GwiWWmxdWThkxaGNzFe1pMdXiXb06pMbnxKB1y0SVoHIk/AR120Z+Nngjcoytg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy5m058GyR5lUxO8MEvq/33M9F1qXkYR44KEyl88q6/fgyRYyAX gVax74A8n3PVzZMT8X534OWryXTdOc1lnAn0vDXOKqvoVEImS9OFxSC6 X-Gm-Gg: Acq92OGCfOZJ4uM2ksDdWgo3nv2FVnY3dyGstlUojRAnbwCHCKf51F6PGYsgTYELtCs nzlV+r2/V1LTRDZrmXeN5AkLDV/TELRPLJZN7RgJyqfcM2KPatNgZn46GQvW94PxQoTYlayvBoF Vmb7NlIgXeWj/Gb1SDK+1VNaLSUNHTjaeK2bSg9LsrQFOJNN5WPhsIwsjNhmkgb0Wj75Kqh2iKm FPi9M9oRIvUWUqaLrO8qtZgzvv8RQsRdodWUCJKWu+LciBlzzfk4uVKs+vrOkRPLS8xZcvgm8xl j/UXdfq4xM8KOiHZtIOZ/b7Dg1zqWznHKl6+TSD0Lovj0vzioV7UMdcMaY7AxnRY4GRq6ZCfGCE lWWNGabNwLEyZMscjV859XSXhwZSizBES5lzBSsrKnZ2GUG/3eVD+v4UwwMSPj/kc7X/I+pwuCL sUyFMtvdB4uTqk93azxf3slJN1V4mC2u6g5IXR+YAx+faRqas2hi1mzPzLkHjuVZW1ErA37QH3r Rj0psF/l5030lxCShj7B0Hx5tZYN5E9OFpsxrDn1d/6sA== X-Received: by 2002:a05:620a:2610:b0:8f8:cdd0:df82 with SMTP id af79cd13be357-9153dcb4b99mr938551185a.58.1780193159498; Sat, 30 May 2026 19:05:59 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id af79cd13be357-915324745cfsm620246285a.12.2026.05.30.19.05.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 19:05:58 -0700 (PDT) From: Rosen Penev To: dmaengine@vger.kernel.org Cc: Peter Ujfalusi , Vinod Koul , Frank Li , Haotian Zhang , linux-kernel@vger.kernel.org (open list) Subject: [PATCH 2/4] dmaengine: ti: omap-dma: fix notifier leak in remove Date: Sat, 30 May 2026 19:05:33 -0700 Message-ID: <20260531020535.594460-3-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260531020535.594460-1-rosenp@gmail.com> References: <20260531020535.594460-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The notifier may be registered for needs_busy_check (omap2420) rather than may_lose_context (omap3). The remove path only checks may_lose_context, leaving the notifier registered during driver removal. Check both flags. Fixes: 2e1136acf8a8 ("dmaengine: omap-dma: fix dma_pool resource leak in er= ror paths") Cc: stable@vger.kernel.org Assisted-by: Opencode:BigPickle Signed-off-by: Rosen Penev --- drivers/dma/ti/omap-dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma/ti/omap-dma.c b/drivers/dma/ti/omap-dma.c index 0f6dd6b0a301..839e04f53fc2 100644 --- a/drivers/dma/ti/omap-dma.c +++ b/drivers/dma/ti/omap-dma.c @@ -1853,7 +1853,7 @@ static void omap_dma_remove(struct platform_device *p= dev) struct omap_dmadev *od =3D platform_get_drvdata(pdev); int irq; =20 - if (od->cfg->may_lose_context) + if (od->cfg->needs_busy_check || od->cfg->may_lose_context) cpu_pm_unregister_notifier(&od->nb); =20 if (pdev->dev.of_node) --=20 2.54.0 From nobody Mon Jun 8 08:28:15 2026 Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC1E8364047 for ; Sun, 31 May 2026 02:06:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780193163; cv=none; b=SgV+GTCHOS0Gxp9GJ9ywalAMicaXZkJ4OUbUuiS16Eqe0ty9luRKWZTen7Sgtln+bfQD7CpNxotYsd1BdBDQNWIhnzjpkHrRqiES1hsOpZZijpsWAj2CaOBR+KqLjPwJIW4BK1144AlQzNu7N4CZ0NvCTzwG4+Z2iqeOVfnz124= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780193163; c=relaxed/simple; bh=J6YChUmyD3xRmPfZq01QjdSSzKNUlsorT+F2G536OjQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TZugxX5bw/p9QADnvZ9o1IqeBBxjUPojxVLtUdDFY0o6s+Qwp1m6ZImRDWKiGCEdxtfBZkbuEfrhfsxDPu4P+AzACZO8ft5LhWHqaDYcrYKVYznoofMplZSOHZDotYvyk7MT4I/wmz4PCLJPQllVRTgFdFnCtjlYMkrb/Iy6RCg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=o1VXEde0; arc=none smtp.client-ip=209.85.222.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="o1VXEde0" Received: by mail-qk1-f179.google.com with SMTP id af79cd13be357-914bd98faafso674793485a.0 for ; Sat, 30 May 2026 19:06:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780193161; x=1780797961; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0/Rv5j798E/wJxW6Lz2s/cY52hep39bRvHPoM4YeyHU=; b=o1VXEde0wIndEwV76+95gt1fjsFCE5UiHApVkpiM9Id5iueWU/TBewDHouLwOzFM0h S80zJzquY4Fx0qnFiNgy+4VBRmMhMzkyjT0HhjfKsIO+ccyGfCh2U1YUeo8yckqZpgab 2WqQiCNiBR0UOhiWIRmr36fJBCrz1pBxaElBHHNyVSjl/eA+wczK461cxGHls2wOgaoO uyd6AwsqOIPxZlqRhjgVmDHjy+wkHGGPSGEQE1DAIufzpJzvairr7Y9bdufA42RWLezt CIsGwFpk5x5DqVdGFmRq5X0C5L8ZXdi8EH6RqSv4hmMi5sg7IawIlYS2ITWyg40i87Ba kN8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780193161; x=1780797961; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=0/Rv5j798E/wJxW6Lz2s/cY52hep39bRvHPoM4YeyHU=; b=bnY/Zxh8JNF+RHSL+iMqyh6PKY+aEBUg9+3d2HvJrZkIjRVjh+icUKlEGwZAKKiUpk hih1cBCs53O7b0pAy+yJ00x+P0JxWYZU7/GxlM0xyeIgy0qTLg5b1iwFtNwUquGxquIJ MdiQNXAlZxNBAa6t7kA7x98qSYbA4/B7PSF5rDFKMp5ZM1YhMhaJljhIaMq/meUWPHRi OK78X/mA7Mtn1vE5J6ok/KmG/0fmJtIwWc/u8L0LJu2oWU9cXmY6wkuvPWNSzl4WtiP8 Q4NJTc3Ur+S0cSqigXt87ZKew72wWm/tmMaJK4+2Z4eNfkXjClvTbJ2jzKaTijN6IERI LGGA== X-Forwarded-Encrypted: i=1; AFNElJ/HQ+tEMnmdQ9cK9uXHLmrWM+srC+TmCYKMog8Rwpz/tYAFsQNN/0aB9s/6TFQ3gnH6K6q2nevJpII7G/w=@vger.kernel.org X-Gm-Message-State: AOJu0YxxXd7GCXpOwoNq/snMN7OIJ4jTdTt09YOWeho/K9GjsBadLt3V 3bjHuW5bX0RG5UWpKcA87XgwwHCHl68pnBORVv9PEn8HMUB2+eiBeLxj X-Gm-Gg: Acq92OEviPpgGilsKA8Ak+RpoPgPV1+yJcHJ/tnx/iu9Yp38sgUxPDomzxHjjiNFqz1 erOC9ekkJj8CUTHRuwwQoFEO/+CtAEtxQg+XZQobLX/nymMsVnFLMVxIO1/NMX9l9HXAcMDDTaN uI5Pchle46bhPZMrAeh35rpbkWS6WDwnQNgWuGE47bK3+WXYTgPx84hCp5nGUC1cxTicGz6n9rM dUS5EjtMpsQLoIVcusUIo2aYqEmWgUMMOj3SJvTW//OykP4/ytjVtCx8aqXojwHcueKnniBJKv1 HFsG93mpxKPuhIONvquWL9IzE8HpXtW+GYWNjcHP0fwGhGawoFjdRD9Q29csMDG14AUqLC0zU9/ TIikuIkWbJECXClXVJur5qswP3TGhWsaXsk2CM1bXX+RDA9HTek4eG2JPdnsCORfR4W8yrwrK+u q8g1zpbRJO5xzfKn3FutAdr/Upfs5kdw/uVJFbfwTPcV6abdoWTjPQL4aP9sk7dy7sSLZEsnLdB p/PtKAVdpmxhzPJzTL+yWOO5lthoDIF7DTNH88csCsTnQ== X-Received: by 2002:a05:620a:4688:b0:8cf:c106:faca with SMTP id af79cd13be357-9153d9f87d5mr879641385a.36.1780193161058; Sat, 30 May 2026 19:06:01 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id af79cd13be357-915324745cfsm620246285a.12.2026.05.30.19.05.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 19:06:00 -0700 (PDT) From: Rosen Penev To: dmaengine@vger.kernel.org Cc: Peter Ujfalusi , Vinod Koul , Frank Li , Haotian Zhang , linux-kernel@vger.kernel.org (open list) Subject: [PATCH 3/4] dmaengine: ti: omap-dma: fix dma_pool_destroy before omap_dma_free in error paths Date: Sat, 30 May 2026 19:05:34 -0700 Message-ID: <20260531020535.594460-4-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260531020535.594460-1-rosenp@gmail.com> References: <20260531020535.594460-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" omap_dma_free() tears down channels and may free t2_desc entries from the descriptor pool via tasklet cleanup. Destroying the pool before omap_dma_free() is a use-after-free. Move omap_dma_free() ahead of dma_pool_destroy() in both probe error paths and the remove path. Fixes: 2e1136acf8a8 ("dmaengine: omap-dma: fix dma_pool resource leak in er= ror paths") Cc: stable@vger.kernel.org Assisted-by: Opencode:BigPickle Signed-off-by: Rosen Penev --- drivers/dma/ti/omap-dma.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/dma/ti/omap-dma.c b/drivers/dma/ti/omap-dma.c index 839e04f53fc2..fd1ad3b4268c 100644 --- a/drivers/dma/ti/omap-dma.c +++ b/drivers/dma/ti/omap-dma.c @@ -1808,9 +1808,9 @@ static int omap_dma_probe(struct platform_device *pde= v) if (rc) { pr_warn("OMAP-DMA: failed to register slave DMA engine device: %d\n", rc); + omap_dma_free(od); if (od->ll123_supported) dma_pool_destroy(od->desc_pool); - omap_dma_free(od); return rc; } =20 @@ -1825,9 +1825,9 @@ static int omap_dma_probe(struct platform_device *pde= v) if (rc) { pr_warn("OMAP-DMA: failed to register DMA controller\n"); dma_async_device_unregister(&od->ddev); + omap_dma_free(od); if (od->ll123_supported) dma_pool_destroy(od->desc_pool); - omap_dma_free(od); return rc; } } @@ -1869,10 +1869,10 @@ static void omap_dma_remove(struct platform_device = *pdev) omap_dma_glbl_write(od, IRQENABLE_L0, 0); } =20 + omap_dma_free(od); + if (od->ll123_supported) dma_pool_destroy(od->desc_pool); - - omap_dma_free(od); } =20 static const struct omap_dma_config omap2420_data =3D { --=20 2.54.0 From nobody Mon Jun 8 08:28:15 2026 Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 870273655E2 for ; Sun, 31 May 2026 02:06:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780193164; cv=none; b=pgY/Haj238iix2WxzkpFGgyyb/0+utY/7zEEa2J6bnw/45pbJ8IpghE3DU8r5cNbcYalh3Dn58AtawWVXKMRFVDRPqRW2X4SzJWa3LaI81JkmFmifck4VuLYHajIftT1/t+LvdKe5b4kQRU81cA+Pf1huHnPf0eB90S4SHTyBh8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780193164; c=relaxed/simple; bh=+vEmttP1J8GOoBDHqfYa/fLW6iRDwX0cvWqBNR8PBec=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AhUZs1F3300VxnaqR7+OKbgFHq3iT0bUbmeDUaVZwsPEb/vdeCaOlCo3ylaQQTUOkajPWkaM4ugvIYXxCtw2L/ZkxP/n+q1kgBdQNIbX5UwkkMf9950q19t/jlv1HJiNq/vn6Oue5hzOKgEvm83xBSCHO2+LzjiVi1cTo8+v9xk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IcXsBrBq; arc=none smtp.client-ip=209.85.222.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IcXsBrBq" Received: by mail-qk1-f181.google.com with SMTP id af79cd13be357-914bfa75911so958539585a.1 for ; Sat, 30 May 2026 19:06:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780193162; x=1780797962; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eyq/RMSWHbsnIwvCCwV5ErKhL2n7goa+ev6cXyqX25M=; b=IcXsBrBqGgl9KJDaDJHczozAMurrvj6t32FIqbkHu9gnKHPTpA/OtdJDqcfjBFr/0c Y6kaObaTJmC8B3etvoIMN5zaCYUsqC8Cs2n6leVftI5pk7nb/x6TnupkzMMQfoQwQGGD pG2GG91Z6uYNVCLdpY1B22xKFwWNFz/HRVoNZBs02yqL7vCCM+RDmmmdEeYh9ZvLg9Jn CSJYQyPoGoNIGmyNvFTh3YNRzP7QdTcyeX2jl3bFNb6HPaNco60kRY1uVfuP6+DSKF0t w7NIedjL5lAXyZKqwWZCAogUeu9WiZXWmxtk9XLHVN1PnqvaKKIehpY8n5PwqMbplqRt 9t8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780193162; x=1780797962; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=eyq/RMSWHbsnIwvCCwV5ErKhL2n7goa+ev6cXyqX25M=; b=edm3vA8nABX/93ci8Nyc1YHaQtKuStE9JxdTo3vN0LMkoCliyM557pAMPFFbtDCPCu i46nGL6gITPiePDL6fOxmZzT2TxWnJLDHc4F8tJ36iRJwjXZXJ4sqGnpKb9G0o9iv7+G 20q8CgbZ9entOvRZn3QH+kPLx2dQRjBk91n7EIWFnkGIqqCo+lVg9OTlhlMubgag7HRU MZbXAavjOAa+z24NhMFvdEAVSLNh62i2gidQOsFeUxz9p+hdzFb/67jbE5T9KupoN7BE EBTljoNXyRj2/huYbIdJ0PsHwpTWdnTqr5fK8XmdWhC14ghMw0emKYy5U+EOE0TX40Bj lERg== X-Forwarded-Encrypted: i=1; AFNElJ/2s5FGkjTiSdTMqEyqydJUtwFZq9MrKi7vZD1skj052TlsoRVEbgmQ5bsa8AQWFw3j39nNnFNOUZ7cVzA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx4bKQM7T6wV45jE5ZkkxyAIHqWXOKkvLQ0LDrB3eI1hWlCeCIJ e5XAF/6hYflZ8qUDG6iZNFrKYlTyrE1bKYtBCoi+Zbk5+YrXQFuqqXuVT73T+2nE X-Gm-Gg: Acq92OFA5YfsRxiYYjx2pEFKBw5+nTsEjn09UiDtkus3C/acw05hs28MklgW5m6m2pq Gv8SQSPPgQo/4d5xWk+klRjZReVgNKdr/RGe7qvgRscIUOoYif/2QOmuWxqnAbDN3gPdAZth+tN aamFH0VRTgTiRJwQA8xQjMCOLpeN2f/YV3/YOL/5warWJ9tZPmQRZvtK+xOWNZoZukGi2EjuCci EihFq2M0uab2dsB1w9VBVND/qfib/F3fR1cJLr7epw0JXQw69PPJrsVwtZy6BMUx/aHKg1wTqOF mn4qr12jvnfVFbdKdPRg9p+aYTAJmGiyzv2yB+KHs8nofiI7PPuVVGfp2o8Q+DEBMzpRum2kg7h qGAOdZ08fXXoycBlrYAvcOvpGrihrXEYeAdrmKtwt3tLt9Z55OXsPOmbXS6rDXdhYa5jC1Yhb8M bvgIX6UZ1eq2dHtf2lH7iCJP45NSz7MsZWNTlV+DKXQs4lsIQAbET/a1uLbJBjdLc5UiOzlVzU2 OeJMj3EwatskPJNosKntWTUNB21m4/DRMPFSzAEOsNwiw== X-Received: by 2002:a05:620a:470d:b0:914:b31c:7001 with SMTP id af79cd13be357-9152f8ce09fmr1030710685a.6.1780193162583; Sat, 30 May 2026 19:06:02 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id af79cd13be357-915324745cfsm620246285a.12.2026.05.30.19.06.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 19:06:02 -0700 (PDT) From: Rosen Penev To: dmaengine@vger.kernel.org Cc: Peter Ujfalusi , Vinod Koul , Frank Li , Haotian Zhang , linux-kernel@vger.kernel.org (open list) Subject: [PATCH 4/4] dmaengine: ti: omap-dma: fix interrupt handling in remove Date: Sat, 30 May 2026 19:05:35 -0700 Message-ID: <20260531020535.594460-5-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260531020535.594460-1-rosenp@gmail.com> References: <20260531020535.594460-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The remove path had three pre-existing bugs: 1. Interrupts are enabled via IRQENABLE_L1 in probe and alloc_chan_resource= s, but the remove path writes to IRQENABLE_L0, which has no effect on the L1 interrupt line. The DMA engine can continue asserting its IRQ during removal. Write to IRQENABLE_L1 instead. 2. devm_free_irq() was called before disabling hardware interrupts. With IRQF_SHARED, the hardware may still assert the IRQ line after the handler is freed, causing unhandled interrupts that can lead to the kernel permanently disabling the shared IRQ line. Disable interrupts first. 3. platform_get_irq() return value was not checked before devm_free_irq(). If it returns an error code (<=3D 0), passing it to devm_free_irq() is incorrect. Add a guard. Fixes: 2e1136acf8a8 ("dmaengine: omap-dma: fix dma_pool resource leak in er= ror paths") Cc: stable@vger.kernel.org Assisted-by: Opencode:BigPickle Signed-off-by: Rosen Penev --- drivers/dma/ti/omap-dma.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/dma/ti/omap-dma.c b/drivers/dma/ti/omap-dma.c index fd1ad3b4268c..ad90ca226db3 100644 --- a/drivers/dma/ti/omap-dma.c +++ b/drivers/dma/ti/omap-dma.c @@ -1859,16 +1859,17 @@ static void omap_dma_remove(struct platform_device = *pdev) if (pdev->dev.of_node) of_dma_controller_free(pdev->dev.of_node); =20 - irq =3D platform_get_irq(pdev, 1); - devm_free_irq(&pdev->dev, irq, od); - dma_async_device_unregister(&od->ddev); =20 if (!omap_dma_legacy(od)) { - /* Disable all interrupts */ - omap_dma_glbl_write(od, IRQENABLE_L0, 0); + od->irq_enable_mask =3D 0; + omap_dma_glbl_write(od, IRQENABLE_L1, 0); } =20 + irq =3D platform_get_irq(pdev, 1); + if (irq > 0) + devm_free_irq(&pdev->dev, irq, od); + omap_dma_free(od); =20 if (od->ll123_supported) --=20 2.54.0