Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp2754707ybh; Mon, 5 Aug 2019 06:20:00 -0700 (PDT) X-Google-Smtp-Source: APXvYqyjMBEWYKVPj5I19gUN1TdCybjLNGtRCCArR4CKsJOfQwu7a1x9bEJbG79mSTQdZH50mMg4 X-Received: by 2002:a62:1ac8:: with SMTP id a191mr73072907pfa.164.1565011199970; Mon, 05 Aug 2019 06:19:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565011199; cv=none; d=google.com; s=arc-20160816; b=ij9SzOt16+8T7CxTyyeUTlOizUM0wgibecd5izaY82GcRBECxWUPrzCxHgciidUOAm QjY0WLMOcPSd5QO3n2N447+0sINoIrVE5BMHPICuVM7qSQ6i6L+U2e8c7kjYfZ2gJtNF 7UIvQqjO5dVKO4i9+z57Eq39WNub3YF9B76Uxot9ycapOnaZuvQ/YlN/Hh5VsnJbVOkU 5Rxv7YxRE4CdD5xh5LQSnMKOvxVDNLOifSrpuX5LCt7J6kF62fqmNaROGv5vqV1ccWaD meTfARg/LlJBLMatNiolAKdvYDw+O3Nrr96uOMvANV25iDV1OEkYRyXEWV1cll/LWfrI JR0Q== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=wuZKuzibR4sDNMmH8gcCFPfzhvN9HlVnvKe6oMMOo/Y=; b=l1fph9msaVAovLPLp2mUjsL7DEeDUEHWBbWrdL/2qMQ+PhN6z95bkpbi4CRfNnp8gf NNo7DrqXOXmZa6fIJRLGeBDCEcYLHe4sNDS+J2ujjIQWc54nr9g8oyz9w3NLnz3ypGxI FmhYhMK7uH0eSsFIYWNt43LwV/GkTc3f/Opj/6pie/pt5B5EMCXmfAV322XhfpMO8NR7 dibAEKEA5tdLs5UgwGmqcKRFOQhmTElHp/1uStVj3tlVX5I+kMy/7zarpkhbTUbJVLs1 MfsVuhRrCKxa/7u9XBmzfgwVFusqyWuDPDg0q0zJaikVXvXWc2VFi+PCzq7olYBHCgx8 vVfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=tgZ4vTVg; 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 a5si13278560pjv.80.2019.08.05.06.19.44; Mon, 05 Aug 2019 06:19:59 -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=@kernel.org header.s=default header.b=tgZ4vTVg; 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 S1729233AbfHENTO (ORCPT + 99 others); Mon, 5 Aug 2019 09:19:14 -0400 Received: from mail.kernel.org ([198.145.29.99]:55196 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726779AbfHENTN (ORCPT ); Mon, 5 Aug 2019 09:19:13 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4D78220657; Mon, 5 Aug 2019 13:19:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1565011152; bh=XdjKbZkgYjgFjMwCW1T4R25cjpYGfCdVncRUR+7CAi0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tgZ4vTVgcDdTnonBfRkHZR1CMZ/737cQxNKy2XgDTvpqqKOPrukzdv+aEQg3qdlXa HK0d0D4WAeJ2z1WdSgz4Vv4uvSYnRD1r4pa5JcEJMWyrBz0sVTwN3wR6SIcL1i8qxQ RsrUofxKI7fYFLMAsOUXcWnaWzE8MPa1dBbMPRZ4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yishai Hadas , Artemy Kovalyov , Leon Romanovsky , Jason Gunthorpe Subject: [PATCH 4.19 64/74] IB/mlx5: Move MRs to a kernel PD when freeing them to the MR cache Date: Mon, 5 Aug 2019 15:03:17 +0200 Message-Id: <20190805124940.995117428@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190805124935.819068648@linuxfoundation.org> References: <20190805124935.819068648@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yishai Hadas commit 9ec4483a3f0f71a228a5933bc040441322bfb090 upstream. Fix unreg_umr to move the MR to a kernel owned PD (i.e. the UMR PD) which can't be accessed by userspace. This ensures that nothing can continue to access the MR once it has been placed in the kernels cache for reuse. MRs in the cache continue to have their HW state, including DMA tables, present. Even though the MR has been invalidated, changing the PD provides an additional layer of protection against use of the MR. Link: https://lore.kernel.org/r/20190723065733.4899-5-leon@kernel.org Cc: # 3.10 Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters") Signed-off-by: Yishai Hadas Reviewed-by: Artemy Kovalyov Signed-off-by: Leon Romanovsky Reviewed-by: Jason Gunthorpe Signed-off-by: Jason Gunthorpe Signed-off-by: Greg Kroah-Hartman --- drivers/infiniband/hw/mlx5/mr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/infiniband/hw/mlx5/mr.c +++ b/drivers/infiniband/hw/mlx5/mr.c @@ -1410,8 +1410,10 @@ static int unreg_umr(struct mlx5_ib_dev if (mdev->state == MLX5_DEVICE_STATE_INTERNAL_ERROR) return 0; - umrwr.wr.send_flags = MLX5_IB_SEND_UMR_DISABLE_MR; + umrwr.wr.send_flags = MLX5_IB_SEND_UMR_DISABLE_MR | + MLX5_IB_SEND_UMR_UPDATE_PD_ACCESS; umrwr.wr.opcode = MLX5_IB_WR_UMR; + umrwr.pd = dev->umrc.pd; umrwr.mkey = mr->mmkey.key; umrwr.ignore_free_state = 1;