Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2231980/?format=api
{ "id": 2231980, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2231980/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260501203002.3382428-1-shitalkumar.gandhi@cambiumnetworks.com/", "project": { "id": 35, "url": "http://patchwork.ozlabs.org/api/1.1/projects/35/?format=api", "name": "Linux I2C development", "link_name": "linux-i2c", "list_id": "linux-i2c.vger.kernel.org", "list_email": "linux-i2c@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260501203002.3382428-1-shitalkumar.gandhi@cambiumnetworks.com>", "date": "2026-05-01T20:30:02", "name": "[v2] i2c: sun6i-p2wi: fix of_node reference leak in probe", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "bcf37f70fbf14c1d131939b44a923d490f4913d2", "submitter": { "id": 93300, "url": "http://patchwork.ozlabs.org/api/1.1/people/93300/?format=api", "name": "Shitalkumar Gandhi", "email": "shital.gandhi45@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260501203002.3382428-1-shitalkumar.gandhi@cambiumnetworks.com/mbox/", "series": [ { "id": 502494, "url": "http://patchwork.ozlabs.org/api/1.1/series/502494/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/list/?series=502494", "date": "2026-05-01T20:30:02", "name": "[v2] i2c: sun6i-p2wi: fix of_node reference leak in probe", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/502494/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2231980/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2231980/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-i2c+bounces-17205-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-i2c@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=FGO+jCXH;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-i2c+bounces-17205-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"FGO+jCXH\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.210.175", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g6jNV0znSz1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 02 May 2026 06:30:50 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 63CB23010D81\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 1 May 2026 20:30:45 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 8C4CC421F17;\n\tFri, 1 May 2026 20:30:44 +0000 (UTC)", "from mail-pf1-f175.google.com (mail-pf1-f175.google.com\n [209.85.210.175])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id F14E04219E7\n\tfor <linux-i2c@vger.kernel.org>; Fri, 1 May 2026 20:30:42 +0000 (UTC)", "by mail-pf1-f175.google.com with SMTP id\n d2e1a72fcca58-82f8b60e485so1065610b3a.0\n for <linux-i2c@vger.kernel.org>; Fri, 01 May 2026 13:30:42 -0700 (PDT)", "from localhost.localdomain ([115.110.225.242])\n by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-83515b84aedsm3230595b3a.57.2026.05.01.13.30.38\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 01 May 2026 13:30:41 -0700 (PDT)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777667444; cv=none;\n b=qiW51sxckbOGhfapX/qly4gXg1WcVCUjzyPMirlcpUOtaimDuAuNIxQY8pktUD+p7NOhHuwCIUqQkpS7r/Sn6K0y86sVAlDtPPJPFNId8ITzWMudbvt07yHwvhBLJ22PeIHzLzkoBksweBMyunPxxDcubyQhPRHa9irgAMtQ4og=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777667444; c=relaxed/simple;\n\tbh=v5qF9oUjFKKNNHiaZ/cDzrCvSYhthuRxEl4ePROAuGI=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=etSHOdF3E7KTaR2+5Jx3aUBylv65ptgR0m7kQ5QSegZIfcvcxQN31RGOhF+PAe2Wgv1jf3eMA/jLeDE/yGP5Qo2hFBIZnG+3SxjiqTl6hZXEjBkQkRh0syeuMg26Wzj5FATNMNFD4WVnJYheyOns+FWtW1UwWZ2+UPqxm6sFvAc=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=FGO+jCXH; arc=none smtp.client-ip=209.85.210.175", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1777667442; x=1778272242;\n darn=vger.kernel.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=qVBnu6Q/tQcYvEy05j8zTeFYSonQvouDAQt7Xng1rGU=;\n b=FGO+jCXHSKDpIfZTzi+KqeQj1n2RE+xbiek+qNmJE4PdwTd714zf5EQvYG57oIi6Oi\n tZ9UxnPr/9Xbpud32rn/Z1BnaaZ/sKZELwdT2oRc/N8Ha/vE28DQfIsPHwy4xqyOguWT\n L3l7oGbbQukeSzast7sN4t8wVpyQrESwJStsqRuHp6NTwdZ+mXvFNE/SroyTjrI9QPjD\n y5NzCZAikmvok/G26FdM8VeGryxnBvexH065x/hW399eHtojC+sON90MlK5c4SmeOggK\n slhFI51+7FhLP68Yhn/L5Q+/YbC0OKAYGLLdmOt2T5TwR51z5Jtqu4MKAAf6/a34N2vS\n n6eg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777667442; x=1778272242;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=qVBnu6Q/tQcYvEy05j8zTeFYSonQvouDAQt7Xng1rGU=;\n b=GjkuXQHSJiC/FH1vayFGBtLOHmW7juWGNqNyGTTffVTXCCyfY0vXpYToUn2SZ+hSqX\n 4Q5NeiPbLsgx8jNQ1ru6jaKtNssyiN6YQtYJMlpJbWGqsF+0f3m/JwGwKAI/jcQFa/z3\n eGS4CH6c+XtvWxE/Z8UsJr3eNt0QgUrk9f9AhQKbu4+Q+zSDWAhkU7Q5tjpQ0b68Q81q\n YDAsKxe7UpFLFXOImXhhq5b+znpi5B3IXWezdyLfzc26bVlUNhNZfoqxy8o8/urrEMeQ\n NisAf5agritYLjp4ST3OgghpMhGe93FJHzz3GQ8REK4HIBk2u5rBy9eNKUDbWSuQkYdX\n q0vA==", "X-Forwarded-Encrypted": "i=1;\n AFNElJ8nApwGTrtbYPKm3VMji4uLRNnnsO483eMQoZIApYMsBsBu9EU47ZXIAjtAQZib4PMVrUDzcH8A+BY=@vger.kernel.org", "X-Gm-Message-State": "AOJu0Yz8/iiEBuvaWj9wxoRLHXNNPDK+Acdy4f93hlzpu03kVfKZN7tZ\n\tT2hqwzTDOEpuL7nWkERNhQCjhK3WB2HBXcRzmD9louVibo9XDeCDuvNd", "X-Gm-Gg": "AeBDietEsHGmQV9TysjZB4AKVEJ3a7X+lxD3wnwPBRk0hRW6U8AReWVGdRp0xtmuWw1\n\tmIgLQTBVXWo/KBw3hfMOO0VDlpdQytdw9DXIeGXGHZllKD4irdAEgSx3ez/Aa0dIgf/8J/BESbe\n\tFrceOJftCfLYcpq9lmkbG6MKsDcn7elCA2jk/XEkTW0DrkhRjoSKFHUrmUD0sJxGDzqlLZCc4J4\n\tAXo5hUx8mOegXso17yYcZFWdKUoZLfvUpYpoUVf1JWHZqSIXa+p/RhCQ1roFbC0TAYxqyB5DGfD\n\tp2FiVJIsBLQ+wOkTxzm1PZQ2/JttjRJU/pvA3jAhG7sahmq48hdtkoMQmh9Ai297sZ8TOX783Dp\n\tvvo8kwHah+C+yHvJlWncGSRpBAqHbqenUsx4rIIqOOuMQEUnMRa5xDxPVUY1fZ7Mvffppa4rnMA\n\t6JCJa8qtRUB0f0rIHH88y6CtDZ3Q8pP0vAHwbvbiYQsLqG7A/U0j9kekHlGYcH5unGlVHhx7Xx", "X-Received": "by 2002:a05:6a00:330b:b0:827:4343:4c1 with SMTP id\n d2e1a72fcca58-8352d20b2a9mr661002b3a.29.1777667442262;\n Fri, 01 May 2026 13:30:42 -0700 (PDT)", "From": "Shitalkumar Gandhi <shital.gandhi45@gmail.com>", "X-Google-Original-From": "Shitalkumar Gandhi\n <shitalkumar.gandhi@cambiumnetworks.com>", "To": "Andi Shyti <andi.shyti@kernel.org>", "Cc": "Wolfram Sang <wsa@kernel.org>,\n\tChen-Yu Tsai <wens@kernel.org>,\n\tJernej Skrabec <jernej.skrabec@gmail.com>,\n\tSamuel Holland <samuel@sholland.org>,\n\tFelix Gu <ustc.gu@gmail.com>,\n\tlinux-i2c@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-sunxi@lists.linux.dev,\n\tlinux-kernel@vger.kernel.org,\n\tstable@vger.kernel.org,\n\tShitalkumar Gandhi <shitalkumar.gandhi@cambiumnetworks.com>", "Subject": "[PATCH v2] i2c: sun6i-p2wi: fix of_node reference leak in probe", "Date": "Sat, 2 May 2026 02:00:02 +0530", "Message-Id": "<20260501203002.3382428-1-shitalkumar.gandhi@cambiumnetworks.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20260201-p2wi-v1-1-e0ec9cda82b3@gmail.com>", "References": "<20260201-p2wi-v1-1-e0ec9cda82b3@gmail.com>", "Precedence": "bulk", "X-Mailing-List": "linux-i2c@vger.kernel.org", "List-Id": "<linux-i2c.vger.kernel.org>", "List-Subscribe": "<mailto:linux-i2c+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-i2c+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit" }, "content": "of_get_next_available_child() returns a device_node pointer with an\nincremented reference count. The reference taken in p2wi_probe() for\nthe optional child node was dropped on neither the early return when\nthe \"reg\" property is missing/invalid nor on the success path, so a\nreference is leaked once on every successful probe and twice on every\nfailed one.\n\nUse the scoped __free(device_node) cleanup helper at the point of\nacquisition so the reference is dropped automatically on every exit\npath.\n\nSuggested-by: Felix Gu <ustc.gu@gmail.com>\nLink: https://lore.kernel.org/linux-i2c/20260201-p2wi-v1-1-e0ec9cda82b3@gmail.com/\nFixes: 3e833490fae5 (\"i2c: sunxi: add P2WI (Push/Pull 2 Wire Interface) controller support\")\n\nSigned-off-by: Shitalkumar Gandhi <shitalkumar.gandhi@cambiumnetworks.com>\n---\nChanges since v1 (Felix Gu, https://lore.kernel.org/linux-i2c/20260201-p2wi-v1-1-e0ec9cda82b3@gmail.com/):\n - Reword the commit message to make explicit that the leak is of an\n of_node *reference*, not of an allocation.\n - checkpatch --strict --codespell: clean.\n - Build-tested: x86_64 allmodconfig (CONFIG_I2C_SUN6I_P2WI=m via\n COMPILE_TEST) and arm sunxi_defconfig. No new warnings.\n - Runtime test: not performed; no Allwinner A31 hardware available.\n\n drivers/i2c/busses/i2c-sun6i-p2wi.c | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)", "diff": "diff --git a/drivers/i2c/busses/i2c-sun6i-p2wi.c b/drivers/i2c/busses/i2c-sun6i-p2wi.c\nindex fb5280b8cf7f..652b37b57159 100644\n--- a/drivers/i2c/busses/i2c-sun6i-p2wi.c\n+++ b/drivers/i2c/busses/i2c-sun6i-p2wi.c\n@@ -184,7 +184,6 @@ static int p2wi_probe(struct platform_device *pdev)\n {\n \tstruct device *dev = &pdev->dev;\n \tstruct device_node *np = dev->of_node;\n-\tstruct device_node *childnp;\n \tunsigned long parent_clk_freq;\n \tu32 clk_freq = I2C_MAX_STANDARD_MODE_FREQ;\n \tstruct p2wi *p2wi;\n@@ -223,7 +222,8 @@ static int p2wi_probe(struct platform_device *pdev)\n \t * In this case the target_addr is set to -1 and won't be checked when\n \t * launching a P2WI transfer.\n \t */\n-\tchildnp = of_get_next_available_child(np, NULL);\n+\tstruct device_node *childnp __free(device_node) =\n+\t\tof_get_next_available_child(np, NULL);\n \tif (childnp) {\n \t\tret = of_property_read_u32(childnp, \"reg\", &target_addr);\n \t\tif (ret) {\n", "prefixes": [ "v2" ] }