From patchwork Fri Mar 3 21:36:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 13159522 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2013FC64EC4 for ; Fri, 3 Mar 2023 21:38:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dhgWKl1jFV5/TNGThEDK4ehiyx6qgC6BaDR40vPHFKg=; b=uV5E8W1dusr5nc dyyc9g4cn9YOyZa8TZbKI7pve2fln6Y9B2q5f7BQO01x08M40KcP8Nfl8r24Jl2tZaYXolFNeY5J2 Xan1+2GQQPU99BP1uP106kTiHtX6MPLXXOQ93PXmbICDc9xkJdRm2DMdifJ7Cwdk8nk1vjk9d305S I0o4zDc2q6Qw12nXJvvnatJvOMLGtJAhXmxJ5EyhwN3RnEBO6FkxJsmbo96PrDFrEHeTedshM3CV1 wSPK2bwbFZIpb0bptZZ3vuMxJhMcdFx/JclBskxkUrQaMlwxZFcUzQujOhX4lpc1vtUhVdremY//u Ucj7VXf/CuGxHcxdCL3Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pYD6D-007Tdt-F1; Fri, 03 Mar 2023 21:37:57 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pYD5w-007TXy-L2 for linux-arm-kernel@lists.infradead.org; Fri, 03 Mar 2023 21:37:41 +0000 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pYD5q-0008Uv-9m; Fri, 03 Mar 2023 22:37:34 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pYD5n-001eA4-VA; Fri, 03 Mar 2023 22:37:31 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pYD5n-001wxA-BV; Fri, 03 Mar 2023 22:37:31 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Krzysztof Kozlowski , Wim Van Sebroeck , Guenter Roeck , Doug Anderson , Leela Krishna Amudala Cc: Alim Akhtar , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-watchdog@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 01/34] watchdog: s3c2410: Don't skip cleanup in remove's error path Date: Fri, 3 Mar 2023 22:36:43 +0100 Message-Id: <20230303213716.2123717-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230303213716.2123717-1-u.kleine-koenig@pengutronix.de> References: <20230303213716.2123717-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1190; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=dH5K8jSqecnVYqdbPPG8j+uJBNtwI1UmMnEH81NXN2o=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkAmgSDlZ9h3UXAn5MUbhKAXXOUHQmQQZBssmp9 ybpzz62ncCJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZAJoEgAKCRDB/BR4rcrs CQKUCACesLXMrz4kUplOzOB+eOBKfnhFGAVh1/Lw/nAQfuyvdVV/xHHrJgU9VIvKm5t3HGQnqhB UOz7IPMuVr0tQ6vS+BVA/IFwum94L2lgwcOLzYMIQmvBFbZNG9LKDQp+VzvatcJRnhaj8drhjIm 0vks5wkawx6BfUQsCkWmKk7EVEvsrcNaw3fe3CLr622YCoD7OLVT0dto2YWJHn3C/6k7n49BD6M /ncSMYvsfECmFlEgzWwdfjZNUgQP/21sBIQja2xqKhW4DB5lp8DhzdFSDzH2aXoHJRgWqk81gdY eCzuBYAoeuW9A9QaDT00vN6LKHsqXtrcB3gIN5n/HReqcDEd X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230303_133740_746742_E7B9D382 X-CRM114-Status: GOOD ( 13.93 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Returning early in a platform driver's remove callback is wrong. In this case the watchdog device is never removed although it's parent is gone which likely can trigger a use-after-free in sysfs. Also the two used clocks will never be disabled. Instead only warn if s3c2410wdt_enable() fails and cleanup. Note that returning 0 is the right thing to do then to suppress another warning message by the driver core. Fixes: 4f1f653a68d6 ("watchdog: s3c2410_wdt: use syscon regmap interface to configure pmu register") Signed-off-by: Uwe Kleine-König --- drivers/watchdog/s3c2410_wdt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c index 200ba236a72e..cf104a844a43 100644 --- a/drivers/watchdog/s3c2410_wdt.c +++ b/drivers/watchdog/s3c2410_wdt.c @@ -782,7 +782,8 @@ static int s3c2410wdt_remove(struct platform_device *dev) ret = s3c2410wdt_enable(wdt, false); if (ret < 0) - return ret; + dev_warn(&dev->dev, + "Failed to disable watchdog (%pe)\n", ERR_PTR(ret)); watchdog_unregister_device(&wdt->wdt_device);