Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp975856ybt; Wed, 17 Jun 2020 19:39:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw94TngxuXJ1c12Mt+gkUHKcPZOgS0luiLsdGEh76BUG58bR3ZVNUcE/1WYb/6YIGM19JXS X-Received: by 2002:a50:c8c9:: with SMTP id k9mr1922936edh.157.1592447963205; Wed, 17 Jun 2020 19:39:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592447963; cv=none; d=google.com; s=arc-20160816; b=WukktW9VY97z8h9d7EggE/vfRsfArT2BgItFEyTp5maGvzo4VLqXvZMPJQvfEsnFmn 7mW22wjUYOAcqiDXkbll4M2e6WV1u3meY1fbcDrV0qh+lguNz55hFsoqge3Ju0hQMcH4 w+MbCeBoZnMkLXc/TVHM35URnVh8J1WWIG3AC2i1pqKVWTY6+JQii99kpfTcfA+ypIuN X9MRxz1lfa8UM1VpnxCJGXeZEyvNcQ3kaBjnXqajK1i1fQ9AwuKTZn8XtVwemcEj4mcA q0VjrrztfkDAlVimOlQ1Nky9oSBP/tjkveVMJofdk4BgvHlKLhrBNgC6OntRqmar6xBq Wgpg== 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=ltBlEsUKDDTg5JZkxadRecagV7f3G2MwW/U/F+gmeaI=; b=iJ0nLAfu6fBy2p5jP7Z/5vDyWfNRbsOpgQQBanl4wsIleLJNMQtasjL+P4umKTj3dy Tfj2lNjW9VcvxyCC80/FT2nmDfsKSOAfOrPubZ4J2+Wu93wnPi3fF64fqWsg9f+y8aQB dMRNR4NIz8h0Mgxb4+Ksv9IZdXowlsF/JeOIZef5Fz3tOjkJwrKXTTAM7mhPiBY21j1b 8LoN6gdrMU1KFeUhsfZRc5EoxVdVUeipHCSsduq9eKOfhYz0d9+UbH+G2pMwadFGxqVs 7c4lGejo49BZrnAYNfxdMatJIkrLlqZOduzTYUnHp5AL0dfpgGhOfrtc8ypxAShaUQnq fIZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Et5Dno8J; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c1si1020886edr.485.2020.06.17.19.39.00; Wed, 17 Jun 2020 19:39:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Et5Dno8J; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387719AbgFRChN (ORCPT + 99 others); Wed, 17 Jun 2020 22:37:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:43134 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729197AbgFRBNp (ORCPT ); Wed, 17 Jun 2020 21:13:45 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8AA0921924; Thu, 18 Jun 2020 01:13:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592442825; bh=T6td+4xjECTmSXQaASCI8eGQ4IqtOOF1xI3Ve0AZX/g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Et5Dno8JgiHTUwnIkwG5mfgdRwXRl3ptqoGtJmp3eHsWSijHD/vmRk7rRIgZsAR7z nWNeYqMa+tqBqPVfEDRkAthl2/3AR7jJ7TQar4WDseL/7OJzlQRaDqDYoyxXyoNjzu SZ6Jb/tqm3dP8xLOW9IONk48Yl2m96ike1jx3+4A= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Maor Gottlieb , Leon Romanovsky , Jason Gunthorpe , Sasha Levin , linux-rdma@vger.kernel.org Subject: [PATCH AUTOSEL 5.7 261/388] IB/cma: Fix ports memory leak in cma_configfs Date: Wed, 17 Jun 2020 21:05:58 -0400 Message-Id: <20200618010805.600873-261-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618010805.600873-1-sashal@kernel.org> References: <20200618010805.600873-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Maor Gottlieb [ Upstream commit 63a3345c2d42a9b29e1ce2d3a4043689b3995cea ] The allocated ports structure in never freed. The free function should be called by release_cma_ports_group, but the group is never released since we don't remove its default group. Remove default groups when device group is deleted. Fixes: 045959db65c6 ("IB/cma: Add configfs for rdma_cm") Link: https://lore.kernel.org/r/20200521072650.567908-1-leon@kernel.org Signed-off-by: Maor Gottlieb Signed-off-by: Leon Romanovsky Signed-off-by: Jason Gunthorpe Signed-off-by: Sasha Levin --- drivers/infiniband/core/cma_configfs.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/infiniband/core/cma_configfs.c b/drivers/infiniband/core/cma_configfs.c index c672a4978bfd..3c1e2ca564fe 100644 --- a/drivers/infiniband/core/cma_configfs.c +++ b/drivers/infiniband/core/cma_configfs.c @@ -322,8 +322,21 @@ static struct config_group *make_cma_dev(struct config_group *group, return ERR_PTR(err); } +static void drop_cma_dev(struct config_group *cgroup, struct config_item *item) +{ + struct config_group *group = + container_of(item, struct config_group, cg_item); + struct cma_dev_group *cma_dev_group = + container_of(group, struct cma_dev_group, device_group); + + configfs_remove_default_groups(&cma_dev_group->ports_group); + configfs_remove_default_groups(&cma_dev_group->device_group); + config_item_put(item); +} + static struct configfs_group_operations cma_subsys_group_ops = { .make_group = make_cma_dev, + .drop_item = drop_cma_dev, }; static const struct config_item_type cma_subsys_type = { -- 2.25.1