Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp3010405imm; Sun, 1 Jul 2018 10:14:18 -0700 (PDT) X-Google-Smtp-Source: ADUXVKK4iR+fZCWsOM+uiV+AOi8btFIW7m69+5oGV42LgZI1H9bIkkBTXmHIVq+9cJbIeLZDSD9k X-Received: by 2002:a65:4888:: with SMTP id n8-v6mr19420048pgs.149.1530465258149; Sun, 01 Jul 2018 10:14:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530465258; cv=none; d=google.com; s=arc-20160816; b=Tf1RIjxy8uDZR6hbj8aWNsV7LBZxRO4Kvc9yT/J94IbIF3yy+hxZxCMw1QYZnz8vqt axKJf/n8VzbMaRrJkvUTCfqxxicb7m/Ou801YT+em34wyzFHD3ymPNKTLV06jWUboMZr HVucLNioMQXzd/bBLxmpAW4loDQIY6uTU29yMHZ/ULCE1MklEro+Oq2dhWX669/EgB6A SCjE9MDF5MO2/1I2sh+7QjveetZ6Ru7UdzUa91GUETzNldK6vn5E/xWYt9YiH434UvNT VCobiKLDLs2/ZGB7yxJmoiKgBKLlVfdBtwZf44+FShV2LI8b/KqcjomJowu27oeuuSD4 pEKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=+ekS/rTW79ct2cep0oErH0iGaBWTuN24JAY4tPDTtiI=; b=g8Corn+UXZ3rlT0cqa7oPB4wpTnF30Oot15INfV3K/ZQM6pQP9bqXHCeLof1V8Y3Cr rruDUN9R5shcrlkb+dPf6WrQQkSX5JngScV7tOFb9AheAp+eYzhUOgzcU3kRqQx8z99M IliN3DL3suFmlWdJpgovL6bpF2JMzEOE1kotF8M4vXTGFzN3ZxRY7YfBjk/E6LoAb/WO +70LGkHuD8udyAwIFD4XuaQ27D0Zaiy4+keoZNM6YPBYG/VSBRUmGBA8Uoy+Xv7ulWJc z0RU/0/LpK/trShey1NkQkUaG3EBNr8pW4K/5fWldYN5I/x4U78nxl3dQrn3qkTkYNK2 NP7A== ARC-Authentication-Results: i=1; mx.google.com; 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 i20-v6si8047656pgb.547.2018.07.01.10.14.04; Sun, 01 Jul 2018 10:14:18 -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; 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 S1752904AbeGARMg (ORCPT + 99 others); Sun, 1 Jul 2018 13:12:36 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:37192 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031912AbeGAQka (ORCPT ); Sun, 1 Jul 2018 12:40:30 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 89985ACD; Sun, 1 Jul 2018 16:40:29 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jason Gunthorpe , Jack Morgenstein , Leon Romanovsky Subject: [PATCH 4.17 087/220] IB/core: Make testing MR flags for writability a static inline function Date: Sun, 1 Jul 2018 18:21:51 +0200 Message-Id: <20180701160912.060316245@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180701160908.272447118@linuxfoundation.org> References: <20180701160908.272447118@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.17-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jack Morgenstein commit 08bb558ac11ab944e0539e78619d7b4c356278bd upstream. Make the MR writability flags check, which is performed in umem.c, a static inline function in file ib_verbs.h This allows the function to be used by low-level infiniband drivers. Cc: Signed-off-by: Jason Gunthorpe Signed-off-by: Jack Morgenstein Signed-off-by: Leon Romanovsky Signed-off-by: Greg Kroah-Hartman --- drivers/infiniband/core/umem.c | 11 +---------- include/rdma/ib_verbs.h | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 10 deletions(-) --- a/drivers/infiniband/core/umem.c +++ b/drivers/infiniband/core/umem.c @@ -119,16 +119,7 @@ struct ib_umem *ib_umem_get(struct ib_uc umem->length = size; umem->address = addr; umem->page_shift = PAGE_SHIFT; - /* - * We ask for writable memory if any of the following - * access flags are set. "Local write" and "remote write" - * obviously require write access. "Remote atomic" can do - * things like fetch and add, which will modify memory, and - * "MW bind" can change permissions by binding a window. - */ - umem->writable = !!(access & - (IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE | - IB_ACCESS_REMOTE_ATOMIC | IB_ACCESS_MW_BIND)); + umem->writable = ib_access_writable(access); if (access & IB_ACCESS_ON_DEMAND) { ret = ib_umem_odp_get(context, umem, access); --- a/include/rdma/ib_verbs.h +++ b/include/rdma/ib_verbs.h @@ -3734,6 +3734,20 @@ static inline int ib_check_mr_access(int return 0; } +static inline bool ib_access_writable(int access_flags) +{ + /* + * We have writable memory backing the MR if any of the following + * access flags are set. "Local write" and "remote write" obviously + * require write access. "Remote atomic" can do things like fetch and + * add, which will modify memory, and "MW bind" can change permissions + * by binding a window. + */ + return access_flags & + (IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE | + IB_ACCESS_REMOTE_ATOMIC | IB_ACCESS_MW_BIND); +} + /** * ib_check_mr_status: lightweight check of MR status. * This routine may provide status checks on a selected