From patchwork Tue Nov 10 08:10:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernard Zhao X-Patchwork-Id: 323409 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9EC1CC56201 for ; Tue, 10 Nov 2020 08:10:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 526C9208FE for ; Tue, 10 Nov 2020 08:10:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726746AbgKJIKy (ORCPT ); Tue, 10 Nov 2020 03:10:54 -0500 Received: from m176150.mail.qiye.163.com ([59.111.176.150]:57002 "EHLO m176150.mail.qiye.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726467AbgKJIKx (ORCPT ); Tue, 10 Nov 2020 03:10:53 -0500 Received: from vivo.com (wm-10.qy.internal [127.0.0.1]) by m176150.mail.qiye.163.com (Hmail) with ESMTP id 9F51E1A3965; Tue, 10 Nov 2020 16:10:17 +0800 (CST) Message-ID: To: Zhang Rui , Daniel Lezcano , Amit Kucheria , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: opensource.kernel@vivo.com, Bernard Zhao Subject: =?utf-8?q?=5BResend=5D=5BPATCH=5D_drivers/thermal=3A_fix_potenti?= =?utf-8?q?al_memleak_in_error_branch?= X-Priority: 3 X-Mailer: HMail Webmail Server V2.0 Copyright (c) 2016-163.com X-Originating-IP: 58.213.83.157 MIME-Version: 1.0 Received: from bernard@vivo.com( [58.213.83.157) ] by ajax-webmail ( [127.0.0.1] ) ; Tue, 10 Nov 2020 16:10:17 +0800 (GMT+08:00) From: Bernard Date: Tue, 10 Nov 2020 16:10:17 +0800 (GMT+08:00) X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgYFAkeWUFZS1VLWVdZKFlBSE83V1ktWUFJV1kPCR oVCBIfWUFZGk5OH0kdH01JSEIeVkpNS09CQk5DSkxMTk9VEwETFhoSFyQUDg9ZV1kWGg8SFR0UWU FZT0tIVUpKS0hKQ1VLWQY+ X-HM-Sender-Digest: e1kMHhlZQQ8JDh5XWRIfHhUPWUFZRzo0LjoxKjkcPxgzEQJDEjwePwpI Hk8JL1VKVUpNS09CQk5DSkNKTkhVMxYaEhdVGR4JFRoJHzsNEg0UVRgUFkVZV1kSC1lBWU5DVUlK SFVDSFVKTkxZV1kIAVlBSU5JQzcG X-HM-Tid: 0a75b134a0c593b4kuws9f51e1a3965 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Function __thermal_cooling_device_register, when device_register failed, cdev is not free after error value return, this may bring in potential memleak. Signed-off-by: Bernard Zhao --- drivers/thermal/thermal_core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 3d1e0033bf3e..e4bee15dfa1f 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -1125,6 +1125,7 @@ __thermal_cooling_device_register(struct device_node *np, if (result) { ida_simple_remove(&thermal_cdev_ida, cdev->id); put_device(&cdev->device); + kfree(cdev); return ERR_PTR(result); }