Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp3683596imm; Wed, 5 Sep 2018 04:24:44 -0700 (PDT) X-Google-Smtp-Source: ANB0Vda3/vKLeW9RWouK9gdvh09FuzDCRHZKIVkHq7C2LuG8gW1w57RjZ3rY9h2xVVVp/eVWU21G X-Received: by 2002:a17:902:7d87:: with SMTP id a7-v6mr31976093plm.103.1536146683970; Wed, 05 Sep 2018 04:24:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536146683; cv=none; d=google.com; s=arc-20160816; b=FxyY7O/7XWQeH/imRUL2/uMHj3AMi0VtAftmJFh5ctPcegBPMr44kh7KEVJkYRgSSi LA0D6NK/EH8qcPAXQ6OMFbsrQ/k3oTjajx2SvWpHjzSXPSql0ZK7OpbCOl2p3+v9bSCq n7pnQZwI/T5KIRoS7lYn1mEad27a0UZuu4YooVPEOCCyWzIldorhp5xBnM2o8m2tDelr V5d/DSlUxq5r+2XBMVTqm/Q/XaXtO3l9aBqcPzcf7cOG8xlUgRqYXx0y734Ha3/AzR9+ gpeNH9KROnqgK0AxKQf0LIw50hEdXwBeOTisL6LpqLG3P4QRWuo1XJk/4vlFHzePFYGI aM1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=f4yL7S+OU5Nvo46zOQEkAeU3ZeoPsrFfJYjrOOLxoME=; b=A9E7gxRUOFMFsgMmqy9j/d/HWAL9hWPTbbEOxtJnHTeqrmpbCl+3Q1tZ1LA9M0SpCg BCfCBqERqU9QZBscZwnwe03sXRacpxomuNgYDmnfuJ0HV1wu5JOav3u9zXTCT3Oi0i3A 8nB75nVHYwY1iOgHfZ4vFbIt433LRMJGzP2rIvydNR7wzdf0m7Bkjs4qxKG8HMN+mgTl gUSYtuNCLcXKi3WzO4olw2JGzXZmVvutHJPUjTATJ5UhPSEtTGRwgkNw6GeqrSUDL7jI rdg7H+NpPd5CRc/KVFhhUN/LyBJn1lEt78WTgQ/kAUpP+/YwtJrp+xCHLYH18aJ8hJ+F jsVA== ARC-Authentication-Results: i=1; mx.google.com; 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 w16-v6si1796370pgj.61.2018.09.05.04.24.28; Wed, 05 Sep 2018 04:24:43 -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; 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 S1727627AbeIEPwV (ORCPT + 99 others); Wed, 5 Sep 2018 11:52:21 -0400 Received: from cmccmta1.chinamobile.com ([221.176.66.79]:40048 "EHLO cmccmta1.chinamobile.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725868AbeIEPwV (ORCPT ); Wed, 5 Sep 2018 11:52:21 -0400 Received: from spf.mail.chinamobile.com (unknown[172.16.121.3]) by rmmx-syy-dmz-app04-12004 (RichMail) with SMTP id 2ee45b8fbc7329a-ee552; Wed, 05 Sep 2018 19:22:27 +0800 (CST) X-RM-TRANSID: 2ee45b8fbc7329a-ee552 X-RM-TagInfo: emlType=0 X-RM-SPAM-FLAG: 00000000 Received: from localhost.localdomain (unknown[223.105.0.243]) by rmsmtp-syy-appsvr02-12002 (RichMail) with SMTP id 2ee25b8fbc72daa-a4a19; Wed, 05 Sep 2018 19:22:27 +0800 (CST) X-RM-TRANSID: 2ee25b8fbc72daa-a4a19 From: Ding Xiang To: ralf@linux-mips.org, paul.burton@mips.com, jhogan@kernel.org, linux-mips@linux-mips.org, linux-kernel@vger.kernel.org Cc: dingxiang@cmss.chinamobile.com Subject: [PATCH V2] mips: txx9: fix resource leak after register fail Date: Wed, 5 Sep 2018 19:22:19 +0800 Message-Id: <1536146539-26131-1-git-send-email-dingxiang@cmss.chinamobile.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org the memory allocated and ioremap address need free after device_register return error. v2: remove redundant "return" Signed-off-by: Ding Xiang --- arch/mips/txx9/generic/setup.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c index f6d9182..e116a55 100644 --- a/arch/mips/txx9/generic/setup.c +++ b/arch/mips/txx9/generic/setup.c @@ -961,11 +961,12 @@ void __init txx9_sramc_init(struct resource *r) err = sysfs_create_bin_file(&dev->dev.kobj, &dev->bindata_attr); if (err) { device_unregister(&dev->dev); - iounmap(dev->base); - kfree(dev); + goto exit_free; } return; exit_put: put_device(&dev->dev); - return; +exit_free: + iounmap(dev->base); + kfree(dev); } -- 1.9.1