Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp742077ybt; Sat, 13 Jun 2020 21:14:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxRyAJWKEEPqz5jRatW3JMzlg6vbkHIGCNBkz5aJtP8dGsRRQVLlNWnYBBF1hVxjW+hl0jE X-Received: by 2002:a50:da83:: with SMTP id q3mr18947250edj.325.1592108048242; Sat, 13 Jun 2020 21:14:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592108048; cv=none; d=google.com; s=arc-20160816; b=z267PlVXgtnAU+ukHxEP4BC6j2ljPfpLnqHyf3Fbnr8OgcmYPJ12GHxezoLUgi1UrP Hy18Pw6W7nUZJask+fiT/z2gQhcisOmbK4WGgc6+qNcle6sK8nVGhS+vqWXD/kVlku5R QD6kmWGUUooGJcQLQRWzYGtzfc4Gxi0dnVYn6lNBr+BDybwp97Njp4udm382qfbqajXY 4EsYQhA0RgEwK1GAkx539kQiunOzmZIH2E+xwLSPRGytn2AXKdl0WqeHbBhAqwE7YyB9 xGP3KWbiQ/Levpsyo2c1aiFV7HrS9c9Tq+W7Vw7JfGpv5YZnsPrUT83r9uliXphZHN8w A/KQ== 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 :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter :dmarc-filter; bh=KC6zFgxNsc5i6RYHX88wWeIzq9Ejx9oIVhgo1IScugw=; b=i467HaZveUyt/lrPkjlMO/bMZBmGe7ZmAcnnkxnKIXHlkVKqXbmIAm3pQvucG9xcB4 JUxBHdJ8lUSkSaYhvKogbOR9ukx41ETL153ihb5cNmKs8FH3N4zt+odwtPMDgnjZ+T7X wPw8ccOuxRupuP9P1dpOt56w0foN/V2ZsDP/BOaLI3BV5NodtWkADmrV0YzfQn29z7P2 uBuNQJXGM+XGVUj5EeTxWX0xGG+hccjjd7l1QRsp2CEhDyByX9cewo2GKMFG8t8qHM2B Nxvk2k3u6ZyUsTPqY6dq97KrKwK3Se/ew48B4xxGNSx/fqTTxtSV2cxBIXL7xvNzRs6Y O47A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=IqQlDriT; 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=QUARANTINE sp=NONE dis=NONE) header.from=umn.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jz21si7140925ejb.635.2020.06.13.21.13.45; Sat, 13 Jun 2020 21:14:08 -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=@umn.edu header.s=google header.b=IqQlDriT; 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=QUARANTINE sp=NONE dis=NONE) header.from=umn.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725815AbgFNELx (ORCPT + 99 others); Sun, 14 Jun 2020 00:11:53 -0400 Received: from mta-p7.oit.umn.edu ([134.84.196.207]:57790 "EHLO mta-p7.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725379AbgFNELw (ORCPT ); Sun, 14 Jun 2020 00:11:52 -0400 Received: from localhost (unknown [127.0.0.1]) by mta-p7.oit.umn.edu (Postfix) with ESMTP id 49l1Hq4mKNz9vLGn for ; Sun, 14 Jun 2020 04:11:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p7.oit.umn.edu ([127.0.0.1]) by localhost (mta-p7.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 57voik6cttqY for ; Sat, 13 Jun 2020 23:11:51 -0500 (CDT) Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p7.oit.umn.edu (Postfix) with ESMTPS id 49l1Hq352nz9vKm1 for ; Sat, 13 Jun 2020 23:11:51 -0500 (CDT) DMARC-Filter: OpenDMARC Filter v1.3.2 mta-p7.oit.umn.edu 49l1Hq352nz9vKm1 DKIM-Filter: OpenDKIM Filter v2.11.0 mta-p7.oit.umn.edu 49l1Hq352nz9vKm1 Received: by mail-io1-f70.google.com with SMTP id t23so9014351iog.21 for ; Sat, 13 Jun 2020 21:11:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=KC6zFgxNsc5i6RYHX88wWeIzq9Ejx9oIVhgo1IScugw=; b=IqQlDriTeCK4A5zHXVVSnvggbs/sTiwYUzOMpnAbR67ctwGU+H7IEcpgGMJkGQAo7S yXaR8M0lY+w/P0bGqQcL9/btZhNGRpsAfgklUHzQzDnm14Tn8GEhbjSa2YREXHBH7v5I LV1mZRP8v7O9Fm3jImg+WpnZuK7KAUFjtkXkHBSJ2ZzXu25WuHy92XDtqpSuKUozVO3t ryAHD9+6RjI9beD79g4Q6A22JZHUB6MeqyQ6xlV1vYpqZXWjyoe6+yZ6syFuv3uJdA2n HEoTRiYMyX+E5xAacYxCjFH5BN2OKM5NgdXJhu5/zEuYOtAbFXzwxlv66uoMEFD8+Ui/ oxAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=KC6zFgxNsc5i6RYHX88wWeIzq9Ejx9oIVhgo1IScugw=; b=GH3+weC2GOtSy+xa8JmOBown1G34kNBzmgzt/gCz/fHhbW1SHTDGNAmEyZdnEpvELH gFYxB8gDf280Qz0nvoUD+xdzFnRGOp9o4otYl+4QRvFUwNOBGZAboEB+EDY8vCVzfKiZ IFCbYPRtr3SmKud7G3x1U59QuPiKKs14H1BDRSDsf5RexZ4dA6cxKZlkB4UHhkusGTPV j8GuapFUatPd4YCYaStIp8k6Lkis4cVuBtUkBeYXyqPBp18dMPHWXSzDLs6XXwxkGjuI O/ivsJAQxD2fRFKA+m/E+POsu7/Mc2EkxEqBTMY21ihwArt90pkTD7aqzVdcJESelSOJ ovvw== X-Gm-Message-State: AOAM533GDkQBQ5/ivk61Xe557T/ArZhXqak/5oSsno2jPiSYO/S0pF7i IpG+qekn59W9vr9VomWVXhLfFnXllBA7wgtRS8B0wWk4EifEdpDMcs6LMLf30Ls9Yn0NH51/VFY vgCSeMttA96dU2Jh0XkXxyzFLM8qM X-Received: by 2002:a02:7707:: with SMTP id g7mr15392319jac.141.1592107910964; Sat, 13 Jun 2020 21:11:50 -0700 (PDT) X-Received: by 2002:a02:7707:: with SMTP id g7mr15392311jac.141.1592107910725; Sat, 13 Jun 2020 21:11:50 -0700 (PDT) Received: from syssec1.cs.umn.edu ([2607:ea00:101:3c74:49fa:9c47:e40b:9c40]) by smtp.gmail.com with ESMTPSA id h14sm5708734ilo.10.2020.06.13.21.11.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 13 Jun 2020 21:11:50 -0700 (PDT) From: Aditya Pakki To: pakki001@umn.edu Cc: kjlu@umn.edu, wu000273@umn.edu, Dennis Dalessandro , Mike Marciniszyn , Doug Ledford , Jason Gunthorpe , "Michael J. Ruhl" , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq Date: Sat, 13 Jun 2020 23:11:48 -0500 Message-Id: <20200614041148.131983-1-pakki001@umn.edu> X-Mailer: git-send-email 2.25.1 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 In case of failure of alloc_ud_wq_attr(), the memory allocated by rvt_alloc_rq() is not freed. Fix it by calling rvt_free_rq() using the existing clean-up code. Fixes: d310c4bf8aea ("IB/{rdmavt, hfi1, qib}: Remove AH refcount for UD QPs") Signed-off-by: Aditya Pakki --- v1: Fix incorrect order of rvt_free_rq and free_ud_wq_attr. Suggested by Dennis Dalessandro. --- drivers/infiniband/sw/rdmavt/qp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/sw/rdmavt/qp.c b/drivers/infiniband/sw/rdmavt/qp.c index 511b72809e14..7db35dd6ad74 100644 --- a/drivers/infiniband/sw/rdmavt/qp.c +++ b/drivers/infiniband/sw/rdmavt/qp.c @@ -1204,7 +1204,7 @@ struct ib_qp *rvt_create_qp(struct ib_pd *ibpd, err = alloc_ud_wq_attr(qp, rdi->dparms.node); if (err) { ret = (ERR_PTR(err)); - goto bail_driver_priv; + goto bail_rq_rvt; } if (init_attr->create_flags & IB_QP_CREATE_NETDEV_USE) @@ -1314,9 +1314,11 @@ struct ib_qp *rvt_create_qp(struct ib_pd *ibpd, rvt_free_qpn(&rdi->qp_dev->qpn_table, qp->ibqp.qp_num); bail_rq_wq: - rvt_free_rq(&qp->r_rq); free_ud_wq_attr(qp); +bail_rq_rvt: + rvt_free_rq(&qp->r_rq); + bail_driver_priv: rdi->driver_f.qp_priv_free(rdi, qp); -- 2.25.1