From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) (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 5E96D48488D for ; Fri, 16 Oct 2026 16:37:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792168638; cv=none; b=esyinaBuMG/zZr+2JVF2X32G2L14PtmJjhTmSjohzuamfFi4sk69aBWrhZZYUvMDwPKa5Pe48GN8eHQCjBA5XgIWEltDtqlEzVMRQ7ImnUk0HBGU/UPcCYPVcXcKeS2p1cPsXZngxyrgX6TWxe50u8x1d2GjFbEIjwcWHPgIBc4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792168638; c=relaxed/simple; bh=ay0QhUIxWGqQW7tkXs2XfwnADTvpm/OD3c2MGP4/vpw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=rNFtDKYKRyxHZUWKR+iijd7T8/K5uEu3DbrOCcP7Y1hlxgJKOM1D7KyDVh9DUWDirnCfbQ8hMwKU6lyeHkilNKSjaU+f/cP5ILX7qbpMejspTgiPNaybg+gi7PyK6mtEDJcL3uZriyzQysiN9o5dfpuqimxplM50VGnfTBS6l64= 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=MwrPIoeG; arc=none smtp.client-ip=209.85.215.171 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="MwrPIoeG" Received: by mail-pg1-f171.google.com with SMTP id 41be03b00d2f7-cd1006978ecso22698a12.0 for ; Fri, 16 Oct 2026 09:37:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792168636; x=1792773436; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=fE/8k1v1er6yt8K5zlufTxmneZEuI8I3OJXU6lY3dxA=; b=MwrPIoeGFOy7FkZdsQzeZ/DRbDwSpkRA1Fo375X/TH7U/C69ozfBKrSWeWLBWRM5kv XmL47UpYlAT0bHRJ3IZjYI5XeEU6o1nIaG5mYYxHhTdaOm5LHhvsLiYy07kNcNrNE+tI m7Qjsft+9CTn3oAlN2EfTylW5hvGRJMP/JxcZA9d21eUzy7f+z+96vz0VKa5uZgDl8MW nHYRev/u5MCfqGcH4E7UHfRgQ4gE6ZkBr4jSmY/xSBfkauW4x6hLaEGslWdy+3LrqDSw 5o0OpRDqoN2icKP/PYu4njLyaxmcCmHaXpjUJ88dAlIW81QfjWi5ft0MVKmeBJ9PsS3E CUcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792168636; x=1792773436; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=fE/8k1v1er6yt8K5zlufTxmneZEuI8I3OJXU6lY3dxA=; b=BHCrxk1UWGe/gEVlRsoa6DlJZaqMjmeWEFBE/+1hMYtUC4kQgvPtuWW6CToWotTT4j z6Sa94kEcGE0KNNamWyYKMsC3VFZbgwug2VGYI8pqZPB8AXmLIHpgtZ/JvkmIQJlKsF9 5k9phHHxsLTpH5yN9O+sw6Zs6SuHzEZ6fTifFH+PIUbU2dtY8Gdk6ekRtgEwgxsGh3Fm i2L5egLUC3I2zJhZLbaFgWNXwhIdcR1aR7AZIby52EpaaJpDKUQyAZ0Wf71ea/PSscam Asphu6LhKVdWSGIYcJxAd4HGLYDRUwRbNPyUGFBs43X8CSMjK8yrxCP+7ZVWxBFu8vgQ PPUQ== X-Forwarded-Encrypted: i=1; AKwUvByTjiW7b18y3g/qHt3x1wVoAxuPTLg06yaw+JBgXIVl/oZtfsbl4dr9GqGWOJe8oM7EDTDsSQLPpP4cgSI=@vger.kernel.org X-Gm-Message-State: AFq9FYKHL3EdzshUlDVZsByMrX32g7Qw/SgjZ2SihCqUliLQNrpHCWzP oGkJJqB1VInWBs68A5vsX6fuFaudEvSfoHMjJ4kppVAZM2png7FC1IOj X-Gm-Gg: AYBFou222182PeI0F33QPXgUrFhZMwd5xm6qShA+4L4dAUNmWt6VwIAjAKWuIKGT0Cj Brio9ScZEIK7ffXxo51vmqCCXiJsdIn+uPqJJ0Gm748YTfEejFdVIuvokT1iPFP8Xp0UlZKuPWG OLXBh8XXsqFk5cxQdHUMCFK0mOQEJrsaA3hz47WsAampJ3dhCypTWysxS6SVNxDT/jdvztgBPsb ExeieN2u7hB7SdNrCm3ngsqdxypHoWm9mcNhr6Wn88gKl3//KriKOb1d/IPwZ4bwtN2LikUJo5M g4nvRLBdnoeqZa4naMWgNRJOR6qxbdDYaBrYqqM2LTyVnjUAfzdlJpHtNiX5andPlMGgmvs9BDK a6U5vuq1daq56gxG81yK9DmWx27ZcJYT/ItgQCgRXJnCQKSdfKnkQd45oOAGprDRmtNUrwSBC1y 9edtXI499izKgroalKtN4Ic5qfpLx8bEVHNTtAhJrCCn/mAye6HpMNRMUZsV9NuO3/863HZct8C aMMyZi9R60ojZ9CIziB968= X-Received: by 2002:a17:90b:4cc6:b0:3ac:9e76:aa96 with SMTP id 98e67ed59e1d1-3aceebea420mr590463a91.3.1792168635662; Fri, 16 Oct 2026 09:37:15 -0700 (PDT) Received: from MELOKC-LAPTOP ([61.171.228.110]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3ac9474b52fsm11154255a91.9.2026.10.16.09.37.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Oct 2026 09:37:15 -0700 (PDT) From: Anfernee Cao To: Russell King , Ulf Hansson Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Anfernee Cao , stable@vger.kernel.org Subject: [PATCH] mmc: mmci: fix DMA channel leak when mmc_add_host() fails Date: Sat, 17 Oct 2026 00:37:07 +0800 Message-ID: <20261016163707.3508-1-anferneemelokc5@gmail.com> X-Mailer: git-send-email 2.54.0.windows.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit mmci_probe() calls mmci_dma_setup(), which acquires the RX and TX DMA channels via dma_request_chan(). These channels are not managed by devres, and are released only by mmci_dma_release(). If the following mmc_add_host() fails, probe jumps to the clk_disable label, which only disables the clock. As probe then fails, mmci_remove() is never called, so both DMA channels are leaked. Release them by adding a dedicated unwind label, reached only after mmci_dma_setup(). This issue was found by manual code inspection. Fixes: b38a20f29a49 ("mmc: mmci: fix return value check of mmc_add_host()") Cc: stable@vger.kernel.org # v6.2+ Signed-off-by: Anfernee Cao --- drivers/mmc/host/mmci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 416bdb184ed4..4db5c55b2700 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -2477,11 +2477,13 @@ static int mmci_probe(struct amba_device *dev, ret = mmc_add_host(mmc); if (ret) - goto clk_disable; + goto dma_release; pm_runtime_put(&dev->dev); return 0; +dma_release: + mmci_dma_release(host); clk_disable: clk_disable_unprepare(host->clk); return ret; -- 2.54.0.windows.1