From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta0.migadu.com (out-212.mta0.migadu.com [91.218.175.212]) (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 AEDDC2C11F3 for ; Fri, 18 Sep 2026 09:10:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.212 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789722658; cv=none; b=IZCxcWDDS3A1ZjeVr9EhNfIHPDy9AvK3JFmQ/2qwDapL01xg8+YyKDW3cQPjCTVBlRkZiPiCc/F9nXD7rFL2n48AXyg9ZwpMw1guck59gk+FM82veSd0fmL5DpMtHAUNzDJpYt+9+GmgTSewpcIH7aJni07ZI0Tm2jh4Cm3ZWgo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789722658; c=relaxed/simple; bh=+nFT68k+iSfyrsDO8ToUvUVP7hpqu08StVXMHZ1pAfw=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=NEl6kL0nxqN43IcH8RGh6z8ciyO7VkCKdzU4HXFlEeLBRNWmW7HazSifro4z+jB5peO/KlGhbQoO8geOUMMI12sof2CC3DtgVF3Omm98+PShLTUsYZtbfPOBhvBartOTxeSToSF5wnMdu2Gpiv7h/d0pMR0c6gph8582cCLRHTM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=s/1Tni4w; arc=none smtp.client-ip=91.218.175.212 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="s/1Tni4w" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=+nFT68k+iSfyrsDO8ToUvUVP7hpqu08StVXMHZ1pAfw=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1789722653; v=1; x=1790327453; b=s/1Tni4wHWDnmMz8qWqjWZ2khAAa3ZterOUZBnF3Q+ARgmnwtRQWR+6yFG4Y6O421P0zuO8l /Fs3vBPzPiXFsok5IGv+1479Llqv7n5Q9SkNlIyLwfSaOzyB91Rv32cL4b+P28ZzGlg+sew/hKE R5dL/QKR6L5kduhB/DCZDORU= X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 7623a7ca1f8127fa; Fri, 18 Sep 2026 09:10:53 +0000 X-Mizu-Trace-ID: 7623a7ca1f8127fa X-Migadu-Flow: FLOW_OUT From: Fuad Tabba To: Manivannan Sadhasivam , Marek Vasut , Yoshihiro Shimoda Cc: Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Geert Uytterhoeven , Magnus Damm , linux-pci@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Will Deacon , Fuad Tabba Subject: [PATCH] PCI: rcar-gen4: Fix device_node leak in rcar_gen4_pcie_host_msi_addr() Date: Fri, 18 Sep 2026 10:10:52 +0100 Message-Id: <20260918091052.2825315-1-fuad.tabba@linux.dev> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit rcar_gen4_pcie_host_msi_addr() calls of_msi_xlate() with *msi_np NULL, so it receives the MSI controller node with a reference held, and every return past the NULL check leaks that reference, the success path included. Declare msi_node with __free(device_node) so it's put on every return. Fixes: 8d6af27c0a73 ("PCI: rcar-gen4: Configure AXIINTC if iMSI-RX is not used") Reported-by: Sashiko Closes: https://lore.kernel.org/linux-pci/20260905213855.8D6671F00A3D@smtp.kernel.org/ Signed-off-by: Fuad Tabba --- drivers/pci/controller/dwc/pcie-rcar-gen4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pcie-rcar-gen4.c b/drivers/pci/controller/dwc/pcie-rcar-gen4.c index fbe465a29068f..d61ce802b4614 100644 --- a/drivers/pci/controller/dwc/pcie-rcar-gen4.c +++ b/drivers/pci/controller/dwc/pcie-rcar-gen4.c @@ -323,7 +323,7 @@ static struct rcar_gen4_pcie *rcar_gen4_pcie_alloc(struct platform_device *pdev) static int rcar_gen4_pcie_host_msi_addr(struct dw_pcie_rp *pp, u32 *msi_addr) { struct dw_pcie *dw = to_dw_pcie_from_pp(pp); - struct device_node *msi_node = NULL; + struct device_node *msi_node __free(device_node) = NULL; struct device *dev = dw->dev; struct resource res; u64 addr; base-commit: fd73f4a6659897191fa0d40695fe370925dd3780 -- 2.39.5