Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp2762629ybh; Mon, 5 Aug 2019 06:27:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqwsCPw/8TWwPZ55Ha/j3//1ueLXfqY2LfsLiKjldMU4Fm69KPrC6nRgyrUgtGHcliMtC44c X-Received: by 2002:a17:90a:246f:: with SMTP id h102mr17969396pje.126.1565011662404; Mon, 05 Aug 2019 06:27:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565011662; cv=none; d=google.com; s=arc-20160816; b=rrIXaBDrj6lhb6JdYttHuuOmINGjTU+zmbXDGi1Xwh3vYSXLeBTWVPb1ZHAA0Ddf/N 2GUku0DbEKUaosO9obrHt8KgUJ9ZypmMQWUnbw580gvX6uZtpDaNMGu9jdHEEsIpGpax dcrBZs78F3jZGuDhxc/mOFU/uJFD15EpP/mlwYWTh969F4yTmdGXV3k5XXGT99Q/Do6p 0v/DEJVmirukg42B8dhSiZQqP4oKc9QRL1IzOafQOM5o7oCSzMjKPd4RA50DtI7KS0IE eR7HRQ2gu87qrnU36I/d8TEL6KZJamvWb2JDePvI7cD9FRtjEXsLFKnEL7FZR2/GcU3q SX6Q== 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=2zD+xIVXrqfqcf7Y2NDu2Rymr3B88EpopBzoVNJBcAE=; b=IooWK+F0SkxQBZUwm2OZbF+D1ejWsGyXuSmUWuulzsNpnNBdEG9EheiN/nBekaPye8 K8eytYTJ+OyWHA1/llGm29DmRLc2rFhTXYXim4ut5CeHtQzLwgDl2TNLbOXg4skS4mND HA9b8yvGVI6Xfj6LdZvyf+jZHf1/yZPzHQHWMePd3oZm1e5/zxSpCSmatR32TwsN2hjw 6WVxb7mTemGOt279Wr3AdDEzZHjczaY1jU+sl29OF+0v2j3Sk6ewGN/lzbORemj98Sq1 YGY+FzdF+GOQxtIwS+uW1MbzLybES0UhaHrwuwboiiBE5tAXL9TeJZ0AQisYmXle4eDx QWKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ivj6nPtl; 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 b190si10873111pga.212.2019.08.05.06.27.27; Mon, 05 Aug 2019 06:27:42 -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=ivj6nPtl; 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 S1731250AbfHENZg (ORCPT + 99 others); Mon, 5 Aug 2019 09:25:36 -0400 Received: from mail.kernel.org ([198.145.29.99]:34096 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730529AbfHENZe (ORCPT ); Mon, 5 Aug 2019 09:25:34 -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 01FB720651; Mon, 5 Aug 2019 13:25:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1565011533; bh=vwHaWWEkpNmSGKt7699SUpLjN9aj5o//MW99xbP38+Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ivj6nPtlkTaTnrNw/NXMvvjJLlMS6wyoEnQZ7FNuFSYhwqttlDpRbNI4y2mjH9VDT h/NwLR2tNN6MtLQtj+qJfTI/Z2yuzjh3kbNyG0Ommkry73QXRrbhfUf4s9J7tlqgpO 5Kk12G/7yIprCtTPNpDYSqySlGqmPUuopBjNnBq4= 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 5.2 124/131] IB/mlx5: Move MRs to a kernel PD when freeing them to the MR cache Date: Mon, 5 Aug 2019 15:03:31 +0200 Message-Id: <20190805125000.270436201@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190805124951.453337465@linuxfoundation.org> References: <20190805124951.453337465@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 @@ -1375,8 +1375,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;