Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp4182857ybl; Tue, 20 Aug 2019 08:08:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqwNeQdAvJwa3NV6Fjcuu5HWLSPS+AhhDgvmqHIMTwZgkBhPEogMDxFJpK/McUo61YdsGlUq X-Received: by 2002:a17:90a:8990:: with SMTP id v16mr447959pjn.97.1566313722372; Tue, 20 Aug 2019 08:08:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566313722; cv=none; d=google.com; s=arc-20160816; b=PJWW9QGzg6WIkgJVfImjumKu6Hxh6vv3UoRjIyRHSpISNkrTsgLE/hnQd1jGVyX0g/ sDwOUvh1K2gRh4j5zbe8odBryQkDz40VIPDYrKua0tK+ETc4tq3Bu3uQeByvbGFZOK7/ AZN6L0jbUCSzO6j0g05sMO445HZEKEAduHHWkSiK1ZvN1XRoMO7Qoje/Dj22a4j0IGJN 9yGiQwD24MNFXpBN7gNsnWD7WH6x+obh9qy/NpC5vfnxTtW19iyIHBwH+FQsFivfY9HB gRUC3CHNR2c7jJ3p4y05Cqg8H6SGJWyNNXpAwGpDv0zbaWJAAhUMcFE27LrKjF4htAt7 RrFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=g2uXNLCxA+dXRwhpGdL3x6UO13at0QdpKzA7SxMXRAU=; b=pr7UJIrHspXmwUeK4lVtTal2Q/qlxdQSl5iw3nv27cDmQ8f+t6RBZfS6fCkCffD2DL oQUsiyuLVo/fh+KGCdXf1L6izoX4s3aNBd5sZCTMxHKQ0d73AKhgJkI+1YiZw+mMVx9u e4Rs6JXDmJuM8fLsLQBhC1f9hqQMQTDUPROUB85ItdfNC+AdqMT1wMdfuLaMoaCjQpW9 nrPE4o2DePdCuWrNz73eKeEIoMT40+rWNABaWVsmzmkGRNWdWztGf9Tg0mA+ZG2o1wX1 DJB9nn7k1+EmV3jmWUq0p3NYwxTG16/NtNLg2xHAuBUsKVjxBJ2F9RvPljBeVmStX0/d Qhxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=V9qsgChs; 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 1si12489069ple.275.2019.08.20.08.08.26; Tue, 20 Aug 2019 08:08:42 -0700 (PDT) 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=fail header.i=@gmail.com header.s=20161025 header.b=V9qsgChs; 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 S1730092AbfHTPFQ (ORCPT + 99 others); Tue, 20 Aug 2019 11:05:16 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:40377 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726742AbfHTPFQ (ORCPT ); Tue, 20 Aug 2019 11:05:16 -0400 Received: by mail-pf1-f196.google.com with SMTP id w16so3555217pfn.7; Tue, 20 Aug 2019 08:05:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=g2uXNLCxA+dXRwhpGdL3x6UO13at0QdpKzA7SxMXRAU=; b=V9qsgChsHcfRalvftwAD++xaW2CQo0MTo9l3AnGv8SOHGJTlLvWynRgXe6yNnJe90R u+z3JXRdxx6ZhRO+3+920gOUuiTL7yz67eaxmBx9YcTssDHPTfC7dsTtsLpG8FNs+OT5 yHPfK1Bs9hcJAvjpuv3f1n/XIOB+caZpJOBUwtvAh3wdB8XzU0X/3xF+nUEKZOdfkgn7 /j62Dqv4zlI7e7moaCo+HX7v6EGP/CJbfPWqd/2R9xjQIp1jjpwh4wIPbwkGh1zqz2Vw z/P6kG2wJjPlafs2sXceJeQNpKBtzzp1kdryqHzRHzYxB2+i/WXmlMK0JOTQOgLMHGSJ DM7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=g2uXNLCxA+dXRwhpGdL3x6UO13at0QdpKzA7SxMXRAU=; b=e+7gl3oUh1Y86kvnlrdeHn4npGBQPH72w5O1yumHnhs6czkORDGPWzfgbVUM5VRhLG 0/6swr1uPt+7+bU72H1UN2yNYVo+X4ogxmWVArDU/7NHZXaftAny5BlejJ4S6Z+u2fk1 flJ2kh6sb7Hksc1pmPagaIfPK4aNJ89Yh0XjtVh7tpsBQWjtJUPdE9Zjx6+2q3jv24h7 9V8wiC3Oc9E/1B2PSa2F8Ag1VmhliNE/lHsf9zHpmR+2pJF1HwMaDeotVUWXw8FiTrKV izZvfea+MUl9W9jw6Omhs5LqTXhNHUooGSaXIyBd6QtkCDyNaNSWVMjo2ofL77IFPR67 MNqQ== X-Gm-Message-State: APjAAAUkMAb9FyCWVUMj7Co+kk5CjdqY5V/eryXH+YY2sBFWMogzSgzj ey52+mXenzbDdiPE6m4zpmg= X-Received: by 2002:a63:9249:: with SMTP id s9mr24396327pgn.356.1566313515641; Tue, 20 Aug 2019 08:05:15 -0700 (PDT) Received: from localhost ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id l123sm29448261pfl.9.2019.08.20.08.05.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Aug 2019 08:05:15 -0700 (PDT) Date: Tue, 20 Aug 2019 08:05:13 -0700 From: Guenter Roeck To: Wenwen Wang Cc: Fenghua Yu , Jean Delvare , "open list:CORETEMP HARDWARE MONITORING DRIVER" , open list Subject: Re: [PATCH] hwmon/coretemp: Fix a memory leak bug Message-ID: <20190820150513.GA12013@roeck-us.net> References: <1566248402-6538-1-git-send-email-wenwen@cs.uga.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1566248402-6538-1-git-send-email-wenwen@cs.uga.edu> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 19, 2019 at 04:00:02PM -0500, Wenwen Wang wrote: > In coretemp_init(), 'zone_devices' is allocated through kcalloc(). However, > it is not deallocated in the following execution if > platform_driver_register() fails, leading to a memory leak. To fix this > issue, introduce the 'outzone' label to free 'zone_devices' before > returning the error. > > Signed-off-by: Wenwen Wang Applied. Thanks, Guenter > --- > drivers/hwmon/coretemp.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c > index fe6618e..d855c78 100644 > --- a/drivers/hwmon/coretemp.c > +++ b/drivers/hwmon/coretemp.c > @@ -736,7 +736,7 @@ static int __init coretemp_init(void) > > err = platform_driver_register(&coretemp_driver); > if (err) > - return err; > + goto outzone; > > err = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "hwmon/coretemp:online", > coretemp_cpu_online, coretemp_cpu_offline); > @@ -747,6 +747,7 @@ static int __init coretemp_init(void) > > outdrv: > platform_driver_unregister(&coretemp_driver); > +outzone: > kfree(zone_devices); > return err; > }