Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4713805yba; Sun, 12 May 2019 20:41:32 -0700 (PDT) X-Google-Smtp-Source: APXvYqybBP3xYQPJnbg0rrDks3x5VH231dtjy7MuKU0SS7b4Fkd4+jI9xP1qEQ5D4vjaE8bAt/+k X-Received: by 2002:a17:902:7d90:: with SMTP id a16mr27357451plm.122.1557718892828; Sun, 12 May 2019 20:41:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557718892; cv=none; d=google.com; s=arc-20160816; b=tfVRsPzx24+DHlACHFlyHN4OZ5ZE6SlsrPRyrZdSH5bko9R13PVFEYGSHeaC1O87Kh oqeq6AOCKqOWsOzkWMlpoNQMzExax1KyNtFyj4u3jRakxaDblpU+ArVwF8ZX8IV5iQOV 5twY+ShJKMEEa7Q5mR35Z2b0o+WVL6YBEiQ0qXBo4J1nMCP9doDsYdNaS4DdhitTS58P o81ZSRvrGju65NdO2PL3D+7hvHttHRWUsCOQh3kWw7ni+QYGOyKiUOGjff0lREdOzrz8 88jTr40+znYL/4vOzjIROMOaheK6icISDl7p2kPpPkDxtV3RWMaeljEvldnNrLQoB5g9 3l+Q== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=6OZeOmvLN4Gh7g+920S6IVtrXqWWQEbdwRJ+f8q1zDQ=; b=m8IH/Q086nKmcAR2LVKgIE9E5JqdornBvOqW7t9gjy/+UZUNDg6g2NcaSomqSLIa8/ KWoNnwtQqg8R2NfJ7e68IZBKdJGJuPqs5sag9x2ODcaJZZZG7RS/Ug6afnywBK/aE+gN zmmZqkXjOIHGqWZp6sUA4frayu0IWmtx8n7tBoGnZa7Vo94mRBIV7a2iEyk0GsZHL5Fa Yy8AqFfVqvgfiiNHK7MprvPIGtXjGmMYqfik2XWDatLQIwjwd+irHp907hz4AO7wGEgb KO29aCc7w4zlo+gr9t4jpHKrespb5iL9jaL85KNNFIkCBUVBuwuPVZZpSXXE7myFzdu6 r/ug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=46ZtCqxW; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t13si14356321pgp.569.2019.05.12.20.41.16; Sun, 12 May 2019 20:41:32 -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=pass header.i=@messagingengine.com header.s=fm2 header.b=46ZtCqxW; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727547AbfEMDkX (ORCPT + 99 others); Sun, 12 May 2019 23:40:23 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:35405 "EHLO out5-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727202AbfEMDkW (ORCPT ); Sun, 12 May 2019 23:40:22 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 1290722269; Sun, 12 May 2019 23:40:22 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Sun, 12 May 2019 23:40:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=6OZeOmvLN4Gh7g+920S6IVtrXqWWQEbdwRJ+f8q1zDQ=; b=46ZtCqxW DgrN9dwXG4RZ9OKa0Q8eDdGWUeaK/gSUPm2jCgo6oUTP0ffeVl4gZkVxkdusjRK6 gB/z5li7BiUS35Y6Q0YTsuMx0yo0GPfeuoDJsndABuPKEREpe9MbaXVjbcI5hGzB WyDN4j6QNWaLc9YZTs8YbHkFQ2npdnzlMhfVDCnhdsD/iZYE+Wlmgof8BlgTfVrc T/7sKka9Hm/kItKMKHGqNdwTZ/qFQxnMR3WSDUTyfnC4m0KbIevyUNsKAf7RZeKz NdwBo7lDWyAoA9c4EHg2K1zuoVYZWDSQcso/k+pvIjTSFgZYNPhK69IKeDtRk+DX Fb57OklFJGrrkA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrleefgdejudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepfdfvohgsihhn ucevrdcujfgrrhguihhnghdfuceothhosghinheskhgvrhhnvghlrdhorhhgqeenucfkph epuddvgedrudeiledrudeirddukeehnecurfgrrhgrmhepmhgrihhlfhhrohhmpehtohgs ihhnsehkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from eros.localdomain (124-169-16-185.dyn.iinet.net.au [124.169.16.185]) by mail.messagingengine.com (Postfix) with ESMTPA id D96E980060; Sun, 12 May 2019 23:40:18 -0400 (EDT) From: "Tobin C. Harding" To: Chris Mason , Josef Bacik , David Sterba Cc: "Tobin C. Harding" , Greg Kroah-Hartman , "Rafael J. Wysocki" , linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] fs: btrfs: Fix error path kobject memory leak Date: Mon, 13 May 2019 13:39:11 +1000 Message-Id: <20190513033912.3436-2-tobin@kernel.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190513033912.3436-1-tobin@kernel.org> References: <20190513033912.3436-1-tobin@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If a call to kobject_init_and_add() fails we must call kobject_put() otherwise we leak memory. Calling kobject_put() when kobject_init_and_add() fails drops the refcount back to 0 and calls the ktype release method. Add call to kobject_put() in the error path of call to kobject_init_and_add(). Signed-off-by: Tobin C. Harding --- fs/btrfs/extent-tree.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index c5880329ae37..5e40c8f1e97a 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -3981,8 +3981,7 @@ static int create_space_info(struct btrfs_fs_info *info, u64 flags) info->space_info_kobj, "%s", alloc_name(space_info->flags)); if (ret) { - percpu_counter_destroy(&space_info->total_bytes_pinned); - kfree(space_info); + kobject_put(&space_info->kobj); return ret; } -- 2.21.0