Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2956356imu; Mon, 19 Nov 2018 08:35:50 -0800 (PST) X-Google-Smtp-Source: AJdET5cxDCG+Au6ikhtqLDhWttw7Ks9BAMzgJf3SlWM75OYXq5izHjmSQpcvr+FDG9y7wwlCsOrn X-Received: by 2002:a17:902:bc4c:: with SMTP id t12mr22510953plz.45.1542645350777; Mon, 19 Nov 2018 08:35:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542645350; cv=none; d=google.com; s=arc-20160816; b=IocbZyoyP+iG0Ja1owXiBNWVm0Esx6V5CGM9QQHZi+XyhI4jIqXlIrJWkme2uD3NAE K5oQxmMbp5lyovQpGwpq1aLT9IftVxIOFoh6h98cN8ryqngjFuqitSfItH7VjlwdcmOZ vySdJdm82a6DIBx24I8OJMjH2br7EuAdf49SM7jxnQ/lJ5tTjBtAm1gsDv41pNxu9cHx eJp5JW9Bdl4/H1GL1zYJhC0scCEs4vufxAmmQMvwJiRoTDITqo+4Z4xcfgxy739Fv28b Qt1/HKE9Hqog/IBLII/TjuhDbUvkDtFV3MM7vWjh1N4RdRW4bWws/hMarBGQU/iZ+alf INKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ajgEcNmwf8G1nz/xU/r+Q7eeH48Y/bCXPFE8OvGqtu0=; b=JXO2p2pSq6nEcYhDIUIlGs5a3yifwBEFYqafuACRbV6VccAz90cSbz6hFK1uoIatcD nOpuYzJ5WB2Mn9jWNo5wedhdHhs+kkzhBLjae5MGV2kGyx44S59Bwm9z+zY6xxIFdR+o 7qEc4F0Hz5yqYna9v7861H7wSL95XAKTwoT9gMJz/x2xpK7GvETNgGkZLIILyEGyxGK+ aSdTCgo5C+M8CyukwV3XeCUqq6VMO0PcFjnyDyirKb3PzufjfRwVRhUM+E8G4o86GmaL vvMsb/4jZkC2ZSH4HF6rLAuZ/Zej8XgmOmDS3MoRlv8REvz/pw3twE5bdIYZGiSxJNcl T7LQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pRzSCa6U; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r71-v6si21238973pfc.253.2018.11.19.08.35.16; Mon, 19 Nov 2018 08:35:50 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pRzSCa6U; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731235AbeKTC6D (ORCPT + 99 others); Mon, 19 Nov 2018 21:58:03 -0500 Received: from mail.kernel.org ([198.145.29.99]:56924 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730122AbeKTC6C (ORCPT ); Mon, 19 Nov 2018 21:58:02 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EA3F42086A; Mon, 19 Nov 2018 16:33:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542645234; bh=mCoKHwDc8CA275aNiFR+LzNptPo/V5/D0tMHFphCumY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pRzSCa6UBhl7kb+VeUZWMQhenqyeckUee+a/BA3rVsTJvtKWIxWQNSyUn8tLzj/B3 1rk6vWaUA01/WNwsN4q3tOGl7mMsXQiVUErzU/VBa05/dBfDtS7y6NFDnQGnvhfXic rBqzjF4E1D9G+t+xLEyyy9vSrIlfcDZwgfPIumgI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dmitry Osipenko , Viresh Kumar , Eduardo Valentin , Zhang Rui Subject: [PATCH 4.19 087/205] thermal: core: Fix use-after-free in thermal_cooling_device_destroy_sysfs Date: Mon, 19 Nov 2018 17:26:34 +0100 Message-Id: <20181119162631.731999000@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181119162616.586062722@linuxfoundation.org> References: <20181119162616.586062722@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dmitry Osipenko commit 3c587768271e9c20276522025729e4ebca51583b upstream. This patch fixes use-after-free that was detected by KASAN. The bug is triggered on a CPUFreq driver module unload by freeing 'cdev' on device unregister and then using the freed structure during of the cdev's sysfs data destruction. The solution is to unregister the sysfs at first, then destroy sysfs data and finally release the cooling device. Cc: # v4.17+ Fixes: 8ea229511e06 ("thermal: Add cooling device's statistics in sysfs") Signed-off-by: Dmitry Osipenko Acked-by: Viresh Kumar Acked-by: Eduardo Valentin Signed-off-by: Zhang Rui Signed-off-by: Greg Kroah-Hartman --- drivers/thermal/thermal_core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -1102,8 +1102,9 @@ void thermal_cooling_device_unregister(s mutex_unlock(&thermal_list_lock); ida_simple_remove(&thermal_cdev_ida, cdev->id); - device_unregister(&cdev->device); + device_del(&cdev->device); thermal_cooling_device_destroy_sysfs(cdev); + put_device(&cdev->device); } EXPORT_SYMBOL_GPL(thermal_cooling_device_unregister);