From nobody Sat Jul 25 20:05:57 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (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 AF6313EDE63 for ; Tue, 14 Jul 2026 08:10:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784016637; cv=none; b=PFsTAoQOKTE4RMkheN0vBoUEtF51X4/BtqEKQIC9qgB+ujuPWw4/N7Ka6kDR4HG4COz1fs8LQBIJ0g+WNI3SSpr/cqynUJxWuyK8R2G5n+yjhIL8GDirL5qYgZlI7ps/dMRcXWgngPN+vOFwEJcz1P0g3u5qsdBYvbbum2P/mdo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784016637; c=relaxed/simple; bh=91ABqFKfMNp3kIwQItRGSHlNzSqgksOirpnlbA6UxGo=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=UZzQ9PP/WFS5zWfQAvzl83m+yq2YXZo758Ni4EwJVfoMd/2HmCrviDF4y3Ixy5LKNF170EsSyE2lDxrQ8AsKdd8GtT4UMwVFHMWE5GfFwoaNAxjpFUEQ8dVLj/NuRP+8oJbQ5tfSqcaGPiuGGYoJ7IZripXNtidFSA2qHfDJCEo= 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=Ayz49cLB; arc=none smtp.client-ip=209.85.214.180 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="Ayz49cLB" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2ceaf8a1265so28389185ad.2 for ; Tue, 14 Jul 2026 01:10:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784016633; x=1784621433; 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=ITeUKgVbKGB0qKOAiMSNRRSqKKCe5wLy1hv+dNfJzS0=; b=Ayz49cLBdh1LuWGu2Kbs6myTb5liZ3oXF+wA3seEUZeo9hXUTC1LUz8fPYnaujPZSa uIy61fLHXME7+vL94wNAUTVzeWuSMyja1pGzfS1jetL8KsQX/dYP3ii4e3E4BViMUeQj LIN5I04hPzlkk3KVYeymomRVMPdQ/xd/TNIJ8nG1amTBRb8o72jH3WTf3QZ5903PQdm/ F2kfTOcgw5WjisBh3FTqmEMrRB5OTUcDU/fMePTI8+c/CpHhkZ1/qKVyU3Exw1yVXsGN OrLsfJfyPZk6C1bRd+L2QCox5yWFrsyq1ToNvXN6Xa0tI9/9gb5aKRxkt2WK0HxRZDeX fkdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784016633; x=1784621433; 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=ITeUKgVbKGB0qKOAiMSNRRSqKKCe5wLy1hv+dNfJzS0=; b=EbAiBXlj00ugN/eZEr9xOoVRgP1eDWwcPm42LUNDsm1cwc/QAfkFwYgMwgJ5bfD6el I1P9YhBvnMataygsbIvajLN4wu+JLFrlmHyZlZY07xuJKftz3GL4Bse7FqebmkpvVD3K nu29ArNbrycy12nKB7DsboBbQQcilZANx/80x1iHJvKUcbZPsxQAkxPI8Av0X/74V0hI hIhXl/zmHtj3tPrkNJ4TYC9AJ6SRr/QSQ719aUURjfYdSJJ6+x2wFx3XcOEMlz56GvgG 73iVp7JmOe8Gat9IJxaqs5jCu1h45EJSDXYvrR3lV6s396N7ARQU4IliEfABUM2Hhbxa 4f/A== X-Forwarded-Encrypted: i=1; AHgh+RoK9k7hN+UbcSq8bCcgR1JdDbndtpQ+w58D+gdnXqLYF6Zdh7nN/SmOAK6uwx7D1MuAb7QTVFEF4oYSEgk=@vger.kernel.org X-Gm-Message-State: AOJu0YxqEi+cDBRHFlqIPLqH/RalBSGqgFDQbT5xElWWRu7ivnUt3ian 3phUK81EjyNRpuS3QEu+5G8jTFJARdAzId/RkbsTkcrOL+kv/sYbii8= X-Gm-Gg: AfdE7cmG66K8C7Fl2ZVzdqYDhhfDHfmVGSy4HI9XdZ+G5UKEDHBhU6JcCEVoqM40zhW /Vz7cceL/mfmOWres7IWfhZylFcU5B/KiXJbmLNu8PcPDFmiKWMXY4ebr7AX0nndjzJM1W8EE9d PcEKadixD/6oj2l5E8l3eX/OLv0y52yZ45cyEQj7jFcQFh16otoJy6UIsDyU7JHlMlZuJ/oA3TE yMHLOvJnsSqbEoYjktG/RScAtL7qL3em3NuN+s9T7E5IpbiBc+vU4UuTAei1+ogH3L0b56xKHet 8czdLU7+VJT2adaT63iwSUmFUyB5Q9KA/GGiilwAoVwBRPd0/z8dBbDF0QOgJfkJG1jxdB0rZZS t/o0xXMGwYMba2bf9pw9eFxn7Ov+nO/Np+qok1B2tZtJHKZjnuaPnAZKblRWJeFs54EgUOD3kkm IClqo3KU2hWrmMvyJD76RdICQ3+SyJzMPkb66Eoc3f+GxZZXB6k+GS3rDl/Jzq2rMpNRUNzdYnv e7MMAvC7DLoY9R29QAfhc9CguUjVJGXga2E5tUzUCMgmqcAxQ== X-Received: by 2002:a17:903:b07:b0:2c9:cf41:adf9 with SMTP id d9443c01a7336-2cef1372613mr16919425ad.47.1784016632632; Tue, 14 Jul 2026 01:10:32 -0700 (PDT) Received: from localhost.localdomain ([14.5.152.27]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d3d968sm110856755ad.60.2026.07.14.01.10.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 01:10:31 -0700 (PDT) From: Myeonghun Pak To: Jeremy Kerr , Matt Johnston Cc: Andrew Lunn , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Myeonghun Pak , Ijae Kim Subject: [PATCH net] net: mctp i3c: clean up notifier and buses if driver register fails Date: Tue, 14 Jul 2026 17:10:25 +0900 Message-Id: <20260714081025.89163-1-mhun512@gmail.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) 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" mctp_i3c_mod_init() registers the I3C bus notifier and then walks the existing buses with i3c_for_each_bus_locked(mctp_i3c_bus_add_new, NULL) before registering the I3C device driver. If i3c_driver_register() fails, the function returns the error directly, leaving the notifier registered and every mctp_i3c_bus object created for the existing buses allocated. The notifier is left pointing into the module that failed to load and the bus list is leaked. Mirror the module exit path on this failure: unregister the notifier and tear down the buses that were added before returning the error. Fixes: c8755b29b58e ("mctp i3c: MCTP I3C driver") Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak --- drivers/net/mctp/mctp-i3c.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/mctp/mctp-i3c.c b/drivers/net/mctp/mctp-i3c.c index 6d2bbae747..677e77e917 100644 --- a/drivers/net/mctp/mctp-i3c.c +++ b/drivers/net/mctp/mctp-i3c.c @@ -740,9 +740,14 @@ static __init int mctp_i3c_mod_init(void) rc =3D i3c_driver_register(&mctp_i3c_driver); if (rc < 0) - return rc; + goto err_unregister_notifier; return 0; + +err_unregister_notifier: + i3c_unregister_notifier(&mctp_i3c_notifier); + mctp_i3c_bus_remove_all(); + return rc; } static __exit void mctp_i3c_mod_exit(void) -- 2.53.0