Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp751890ybt; Fri, 26 Jun 2020 10:38:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx7+1PAfdHrmXMbDmxrpZ1hIDGL1N4OcP2jdB9SSEsGVy4E8zJwtP9gVcQ7mL3vR0Ql2HrL X-Received: by 2002:a50:f9c9:: with SMTP id a9mr4725844edq.89.1593193138345; Fri, 26 Jun 2020 10:38:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593193138; cv=none; d=google.com; s=arc-20160816; b=NLyQzSJhZCAKqYH0ZLmAj0pcjyzGr6EPW1VIMJkncBS/uQKbssXbMfNRY+wAs9WhCg 6yUjReS+p94W+J+jtA55WkkcVvb1I4FIRRsgHcyFawNvlvYka4VrK6CMl/mcYS8f5SGB CBKCfWJks5KqxJ6EmqZ46Gc/hJZX/4Psm3k+M1O+7BehPh7SPiFR1+vtqX66NPXxCOzq MNy1OvxNkAEGDZ5QTe/Nmzua6cUBCaxY5/2F6lx6DWsCTElBKRE75rxvrje6P/MWx+0T bnlds9uueNxy7uUg/GndhxEMi4aarfNwGDkioLDPjldIhCjb/EvIacU9YkZRt1LOMKh1 drvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=a1TMgpYUPsJ/LWzagL2t/MA1Dj4FyNFJiFqL1Eq2iss=; b=omfH9wuOBk5CsdMOFEEBMqxgkyf0cXyXvZk6TjgB5jjvh62VrCc8lXweS1egcZfzgR f8JRjEBpFG5Ot/AWuOZ0fw6ZATgz++xXj1jdNfxZV6AiTpp4eV5n0FKMmSGRTzYIx654 MObWqFtm2q3eQma/N2yaHEx8JRFBXxeUlsSHaAAeHhH22D4evyv8tp9W0KfjCqNR5hS3 aSge4mQ2mo7bMokrqrlwhrEzZqTD+o3qpELDs8vujYZB0pw0gi2Vv5UFetZVvg7ow/i7 xbjW/N+OxzZiDFme7nQk2o81xZZg5XgCa4ilIOsDpPzZGF3dlYNyKOVCmbJFl4fZyaJO rpyg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l7si5437458edv.570.2020.06.26.10.38.26; Fri, 26 Jun 2020 10:38:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726775AbgFZRiI (ORCPT + 99 others); Fri, 26 Jun 2020 13:38:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44234 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726002AbgFZRiH (ORCPT ); Fri, 26 Jun 2020 13:38:07 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 87EECC03E979; Fri, 26 Jun 2020 10:38:07 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: andrzej.p) with ESMTPSA id 2B6CC2A5E30 From: Andrzej Pietrasiewicz To: linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org Cc: "Rafael J . Wysocki" , Len Brown , Vishal Kulkarni , "David S . Miller" , Jiri Pirko , Ido Schimmel , Johannes Berg , Emmanuel Grumbach , Luca Coelho , Intel Linux Wireless , Kalle Valo , Peter Kaestle , Darren Hart , Andy Shevchenko , Sebastian Reichel , Miquel Raynal , Daniel Lezcano , Amit Kucheria , Support Opensource , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , =?UTF-8?q?Niklas=20S=C3=B6derlund?= , Heiko Stuebner , Orson Zhai , Baolin Wang , Chunyan Zhang , Zhang Rui , Allison Randal , Enrico Weigelt , Gayatri Kammela , Thomas Gleixner , Bartlomiej Zolnierkiewicz , Andrzej Pietrasiewicz , kernel@collabora.com Subject: [PATCH v5 01/11] acpi: thermal: Fix error handling in the register function Date: Fri, 26 Jun 2020 19:37:45 +0200 Message-Id: <20200626173755.26379-2-andrzej.p@collabora.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200626173755.26379-1-andrzej.p@collabora.com> References: <9cbffad6-69e4-0b33-4640-fde7c4f6a6e7@linaro.org> <20200626173755.26379-1-andrzej.p@collabora.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org The acpi_thermal_register_thermal_zone() is missing any error handling. This needs to be fixed. Signed-off-by: Andrzej Pietrasiewicz Reviewed-by: Guenter Roeck Reviewed-by: Bartlomiej Zolnierkiewicz --- drivers/acpi/thermal.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index 19067a5e5293..6de8066ca1e7 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c @@ -901,23 +901,35 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz) result = sysfs_create_link(&tz->device->dev.kobj, &tz->thermal_zone->device.kobj, "thermal_zone"); if (result) - return result; + goto unregister_tzd; result = sysfs_create_link(&tz->thermal_zone->device.kobj, &tz->device->dev.kobj, "device"); if (result) - return result; + goto remove_tz_link; status = acpi_bus_attach_private_data(tz->device->handle, tz->thermal_zone); - if (ACPI_FAILURE(status)) - return -ENODEV; + if (ACPI_FAILURE(status)) { + result = -ENODEV; + goto remove_dev_link; + } tz->tz_enabled = 1; dev_info(&tz->device->dev, "registered as thermal_zone%d\n", tz->thermal_zone->id); + return 0; + +remove_dev_link: + sysfs_remove_link(&tz->thermal_zone->device.kobj, "device"); +remove_tz_link: + sysfs_remove_link(&tz->device->dev.kobj, "thermal_zone"); +unregister_tzd: + thermal_zone_device_unregister(tz->thermal_zone); + + return result; } static void acpi_thermal_unregister_thermal_zone(struct acpi_thermal *tz) -- 2.17.1