From patchwork Mon Jul 22 04:30:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: john.hubbard@gmail.com X-Patchwork-Id: 1134684 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming-bpf@patchwork.ozlabs.org Delivered-To: patchwork-incoming-bpf@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=bpf-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="p3HGgaIN"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 45sTDt41xbz9sML for ; Mon, 22 Jul 2019 14:30:38 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727774AbfGVEaT (ORCPT ); Mon, 22 Jul 2019 00:30:19 -0400 Received: from mail-pl1-f196.google.com ([209.85.214.196]:46311 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725811AbfGVEaS (ORCPT ); Mon, 22 Jul 2019 00:30:18 -0400 Received: by mail-pl1-f196.google.com with SMTP id c2so18541295plz.13; Sun, 21 Jul 2019 21:30:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WbaMzabtgu3hCeOMPX09tru106PZHAIJnqruZQI71c8=; b=p3HGgaINx4UXmNtxMRxq9ZG6NzncIA85CDVJwUAyirDvW3yCo2di+TLZl5eFlPnNmI tKBmRpm/+GE33EtGsFzwMuLEx975vOoVhficjaLeRIsopct9Hcl7v/XU1KBwOEf2xMZN BHRmQquzbiIcI70dnx/HawsVNNS5fDl4FFWtUv/EmNTaCRi74oUprzweRieVqW1lCakX xGU3Yfp0T2yQHASWYcYkRONsVHYAjwfmIRSdrvV1yxpWlXG/IgI4pD2tDC41W7YDhh8Y 2xv+vtpzYgX36LzrXQsbqLPBzjZi80AqFoHhWGNEYVEtoMdLjAhgYaYrgI/kXAfMuWv+ Cbsw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=WbaMzabtgu3hCeOMPX09tru106PZHAIJnqruZQI71c8=; b=kGPUU1aVeHLEtDfKUVz2QNFlkPwZVVkEpfrl0iUtLE6lBgEfmYvhaS8zUbwRp2CnUw 6qPvj+6aimTmpiX6sMK/xFjs7g/CX08VmyZvfaz3eKfHoCsDBIfMcMMEYFLi8CIQ3hu6 ay0sUz0Bqiqz1aTmAZOrAvcafXcqOG2hVZ8+GH2pun6ooD41iyuP2CejTSxkHrLNqBxv vl5tentpdHNcKokkNpSfeQHnOcOv7ogXyheYrSyGTy5cY+KH+u0yfuH+18R3Y/jCu12v vqaFtrhCd5Lo4haCzxAuBsypqh3h5Ji6C4yNA5t0+PMLnDOjksdmt0fUB9e3e1NzHQ0Z qjRQ== X-Gm-Message-State: APjAAAUlTIe3br5Cu4l0BjmGfOINuPgKSM3ELmN/F5NcDFbuop6Ym5Kd iOaur0tQv5pNgjjGdeqygKQ= X-Google-Smtp-Source: APXvYqyKR4WrwxhhqPsiCdGlG1x0qIsswj14hIfFs7IMQOgAz1KccUwekZlyy0ZSOgH/yneXklBTJA== X-Received: by 2002:a17:902:ac87:: with SMTP id h7mr75701953plr.36.1563769816971; Sun, 21 Jul 2019 21:30:16 -0700 (PDT) Received: from blueforge.nvidia.com (searspoint.nvidia.com. [216.228.112.21]) by smtp.gmail.com with ESMTPSA id t96sm34285690pjb.1.2019.07.21.21.30.15 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 21 Jul 2019 21:30:16 -0700 (PDT) From: john.hubbard@gmail.com X-Google-Original-From: jhubbard@nvidia.com To: Andrew Morton Cc: Alexander Viro , =?utf-8?b?QmrDtnJuIFTDtnBl?= =?utf-8?q?l?= , Boaz Harrosh , Christoph Hellwig , Daniel Vetter , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ilya Dryomov , Jan Kara , Jason Gunthorpe , Jens Axboe , =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Johannes Thumshirn , Magnus Karlsson , Matthew Wilcox , Miklos Szeredi , Ming Lei , Sage Weil , Santosh Shilimkar , Yan Zheng , netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, LKML , John Hubbard Subject: [PATCH 1/3] drivers/gpu/drm/via: convert put_page() to put_user_page*() Date: Sun, 21 Jul 2019 21:30:10 -0700 Message-Id: <20190722043012.22945-2-jhubbard@nvidia.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190722043012.22945-1-jhubbard@nvidia.com> References: <20190722043012.22945-1-jhubbard@nvidia.com> MIME-Version: 1.0 X-NVConfidentiality: public Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions"). Cc: David Airlie Cc: Daniel Vetter Cc: dri-devel@lists.freedesktop.org Signed-off-by: John Hubbard --- drivers/gpu/drm/via/via_dmablit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/via/via_dmablit.c b/drivers/gpu/drm/via/via_dmablit.c index 062067438f1d..219827ae114f 100644 --- a/drivers/gpu/drm/via/via_dmablit.c +++ b/drivers/gpu/drm/via/via_dmablit.c @@ -189,8 +189,9 @@ via_free_sg_info(struct pci_dev *pdev, drm_via_sg_info_t *vsg) for (i = 0; i < vsg->num_pages; ++i) { if (NULL != (page = vsg->pages[i])) { if (!PageReserved(page) && (DMA_FROM_DEVICE == vsg->direction)) - SetPageDirty(page); - put_page(page); + put_user_pages_dirty(&page, 1); + else + put_user_page(page); } } /* fall through */ From patchwork Mon Jul 22 04:30:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: john.hubbard@gmail.com X-Patchwork-Id: 1134680 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming-bpf@patchwork.ozlabs.org Delivered-To: patchwork-incoming-bpf@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=bpf-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZjncIryv"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 45sTDX3j6Mz9sLt for ; Mon, 22 Jul 2019 14:30:20 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727726AbfGVEaT (ORCPT ); Mon, 22 Jul 2019 00:30:19 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:37583 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726024AbfGVEaT (ORCPT ); Mon, 22 Jul 2019 00:30:19 -0400 Received: by mail-pl1-f194.google.com with SMTP id b3so18574750plr.4; Sun, 21 Jul 2019 21:30:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D+V1JOqHKw89xuQJyKyrQPxBPg1TKqg5mmM4KBGZiv0=; b=ZjncIryvRUENukVshJFmndluvLLU2arKIPK+YYicUChsIoVAk47zJe62/xRGnaP5sO 2dIVuxokgzVnbQHvCzkTXpkUYAmteOI1byf9i0Eh4Nry32SQ9hACfIfRqzVmd9cJiRLV K9HwOtYgSWbkF9G0wSK5xDI2GGAAixptvpE4fTe363E9YhkxmADQ/Mu9XRx8bTc2aorh N1o7z9m3WHPe2EsrnhH9xUt6CS36Mz9r/OpIcDwkj8s1H6FUiNK+g6MeR3C2qRQdfIdw al2E1lXQJ0Y1vWlKKViZ99Kmj6ELgJUAJ+cq1tdYD2dh7ezt2sYlt89O5gvFrEpEQJG1 ZAOA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=D+V1JOqHKw89xuQJyKyrQPxBPg1TKqg5mmM4KBGZiv0=; b=GMJIw0P5FdXu0ek0WSxrDhJSr5mPvUasIBTqo69Y/u3LP7Wr/kIw/c9uCiWCUeNmX5 qx4Y6tijLjdRaqN1PGJ3oYZBNayJuQ5BHCgBY398BI7LSPseiKSPxiW/HMo5al1I8Irj 7k2jGaKZyX0SsF1f72yjfBq47rUjafvMn/2B4VeNlVk84DQh0pdBtkz/D+QkW/9Jqo5i rNX+pWr4wT+52N5FeZZ9dyfavyd6ACiYx1cbtEgGuVoFgVtDEFgY/AMpTfPFkT/1c2MI 9oEz/gWVtGVyDIsxnrVmL1HmBCnpKgN0VHRZfzPzsYADODvIWic5rRA6Es8znQ8XhwFE kZXQ== X-Gm-Message-State: APjAAAW4zxo5GC6SAZXbqJnpa0RVnUZ8TwTyvrXp3IfJyw9ejpAfcV7K 5aVGLTioIDtWv6mp+vH1iQE= X-Google-Smtp-Source: APXvYqxl80v/klDkLGiV/45cokVowIxuUImE7kMceTFkzRgYtQ9KqbkKZkwGuHiecTAs8feNRgDMBA== X-Received: by 2002:a17:902:6b86:: with SMTP id p6mr74936264plk.14.1563769818237; Sun, 21 Jul 2019 21:30:18 -0700 (PDT) Received: from blueforge.nvidia.com (searspoint.nvidia.com. [216.228.112.21]) by smtp.gmail.com with ESMTPSA id t96sm34285690pjb.1.2019.07.21.21.30.17 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 21 Jul 2019 21:30:17 -0700 (PDT) From: john.hubbard@gmail.com X-Google-Original-From: jhubbard@nvidia.com To: Andrew Morton Cc: Alexander Viro , =?utf-8?b?QmrDtnJuIFTDtnBl?= =?utf-8?q?l?= , Boaz Harrosh , Christoph Hellwig , Daniel Vetter , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ilya Dryomov , Jan Kara , Jason Gunthorpe , Jens Axboe , =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Johannes Thumshirn , Magnus Karlsson , Matthew Wilcox , Miklos Szeredi , Ming Lei , Sage Weil , Santosh Shilimkar , Yan Zheng , netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, LKML , John Hubbard Subject: [PATCH 2/3] net/xdp: convert put_page() to put_user_page*() Date: Sun, 21 Jul 2019 21:30:11 -0700 Message-Id: <20190722043012.22945-3-jhubbard@nvidia.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190722043012.22945-1-jhubbard@nvidia.com> References: <20190722043012.22945-1-jhubbard@nvidia.com> MIME-Version: 1.0 X-NVConfidentiality: public Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions"). Cc: Björn Töpel Cc: Magnus Karlsson Cc: David S. Miller Cc: netdev@vger.kernel.org Signed-off-by: John Hubbard --- net/xdp/xdp_umem.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c index 83de74ca729a..9cbbb96c2a32 100644 --- a/net/xdp/xdp_umem.c +++ b/net/xdp/xdp_umem.c @@ -171,8 +171,7 @@ static void xdp_umem_unpin_pages(struct xdp_umem *umem) for (i = 0; i < umem->npgs; i++) { struct page *page = umem->pgs[i]; - set_page_dirty_lock(page); - put_page(page); + put_user_pages_dirty_lock(&page, 1); } kfree(umem->pgs); From patchwork Mon Jul 22 04:30:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: john.hubbard@gmail.com X-Patchwork-Id: 1134682 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="t+zktHb7"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 45sTDb6dQhz9sLt for ; Mon, 22 Jul 2019 14:30:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727845AbfGVEaV (ORCPT ); Mon, 22 Jul 2019 00:30:21 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:38300 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727756AbfGVEaU (ORCPT ); Mon, 22 Jul 2019 00:30:20 -0400 Received: by mail-pf1-f196.google.com with SMTP id y15so16743333pfn.5; Sun, 21 Jul 2019 21:30:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Buo/x1ku3lZhKwc/x7LZHJLCV0/VJfVJkEd+jUfSemQ=; b=t+zktHb7vIG4ts5I2ltkQHV48J0ZrgypJDZXuh8Drmfq8ZU2ILeEdq1vHcQdIM9gdw V6T9AQozh+PvM/HqMIqy5Tm11lI/PpLyTVp0Vd74SuF5mClFEjFXDGjMIfpge1xQoCsm IhnhiaeU9cdQMTgVUWSOM6j8abtFujQkLro/ZEGxc5vfgAlJ/A2fXKxi+6ua/RqGJsAJ aF9WRDRmvUFsceuLPU8ZX2StoJI42RECfxqG70NX1cGm7d70CaK3aiDy2ueHCoMs6WN3 fMhhkyT7kmlOi6Ja/WZU2mwWlGLAtDglCCekSpcUu5Vy9dQccxZDeZv6fJknPIHGCBXz Jv+w== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Buo/x1ku3lZhKwc/x7LZHJLCV0/VJfVJkEd+jUfSemQ=; b=L7fNY9E6SKsbeWDuG4LRGILKao+vdZ1OjN3+rsiCkZ+uW+e9mS4Wc3kyfPKQ3Pv1W7 brAzVyoyWYnhemCZvJ8lR2UeKpFtd/KoPAiZRwhtrRu7EIA++o2nydrTeXinyE7nOUw8 AB/VSA7b472UTf1QoweYhkI7Nyw77XLA97fMNQ1oKYIEXAS/C3KIg0sVm4xJLVXcdgke MpYCTdsDY7whGYyaxakRcX1WXstPlymTVukN6S9Lr6T9HeTOFtnoTdHZcUNvXMJ+RwPc prf1zVwenkvRVTuMrltY6x+cBeMe7vAEcrXHLq/C+ChYJHOIb0teDQVa4LaozwKwVvCP 7zIA== X-Gm-Message-State: APjAAAUm7urgIGHQ2ixKpUI4Jk5xpdIswvJphfBjaqhe8dUuHzImkcD+ 5Kc753cM+dJSKEvC1/VODT4= X-Google-Smtp-Source: APXvYqz665JUdaZ8/qhWBT5//AwERdP9iGLvt+InEi3nlWem4n0SFx0hcOfAG8MfqjlewAESAxZqZQ== X-Received: by 2002:a17:90a:9488:: with SMTP id s8mr76721358pjo.2.1563769819486; Sun, 21 Jul 2019 21:30:19 -0700 (PDT) Received: from blueforge.nvidia.com (searspoint.nvidia.com. [216.228.112.21]) by smtp.gmail.com with ESMTPSA id t96sm34285690pjb.1.2019.07.21.21.30.18 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 21 Jul 2019 21:30:19 -0700 (PDT) From: john.hubbard@gmail.com X-Google-Original-From: jhubbard@nvidia.com To: Andrew Morton Cc: Alexander Viro , =?utf-8?b?QmrDtnJuIFTDtnBl?= =?utf-8?q?l?= , Boaz Harrosh , Christoph Hellwig , Daniel Vetter , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ilya Dryomov , Jan Kara , Jason Gunthorpe , Jens Axboe , =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Johannes Thumshirn , Magnus Karlsson , Matthew Wilcox , Miklos Szeredi , Ming Lei , Sage Weil , Santosh Shilimkar , Yan Zheng , netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, LKML , John Hubbard Subject: [PATCH 3/3] gup: new put_user_page_dirty*() helpers Date: Sun, 21 Jul 2019 21:30:12 -0700 Message-Id: <20190722043012.22945-4-jhubbard@nvidia.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190722043012.22945-1-jhubbard@nvidia.com> References: <20190722043012.22945-1-jhubbard@nvidia.com> MIME-Version: 1.0 X-NVConfidentiality: public Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: John Hubbard While converting call sites to use put_user_page*() [1], quite a few places ended up needing a single-page routine to put and dirty a page. Provide put_user_page_dirty() and put_user_page_dirty_lock(), and use them in a few places: net/xdp, drm/via/, drivers/infiniband. Cc: Jason Gunthorpe Cc: Jan Kara Signed-off-by: John Hubbard --- drivers/gpu/drm/via/via_dmablit.c | 2 +- drivers/infiniband/core/umem.c | 2 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 2 +- include/linux/mm.h | 10 ++++++++++ net/xdp/xdp_umem.c | 2 +- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/via/via_dmablit.c b/drivers/gpu/drm/via/via_dmablit.c index 219827ae114f..d30b2d75599f 100644 --- a/drivers/gpu/drm/via/via_dmablit.c +++ b/drivers/gpu/drm/via/via_dmablit.c @@ -189,7 +189,7 @@ via_free_sg_info(struct pci_dev *pdev, drm_via_sg_info_t *vsg) for (i = 0; i < vsg->num_pages; ++i) { if (NULL != (page = vsg->pages[i])) { if (!PageReserved(page) && (DMA_FROM_DEVICE == vsg->direction)) - put_user_pages_dirty(&page, 1); + put_user_page_dirty(page); else put_user_page(page); } diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c index 08da840ed7ee..a7337cc3ca20 100644 --- a/drivers/infiniband/core/umem.c +++ b/drivers/infiniband/core/umem.c @@ -55,7 +55,7 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d for_each_sg_page(umem->sg_head.sgl, &sg_iter, umem->sg_nents, 0) { page = sg_page_iter_page(&sg_iter); if (umem->writable && dirty) - put_user_pages_dirty_lock(&page, 1); + put_user_page_dirty_lock(page); else put_user_page(page); } diff --git a/drivers/infiniband/hw/usnic/usnic_uiom.c b/drivers/infiniband/hw/usnic/usnic_uiom.c index 0b0237d41613..d2ded624fb2a 100644 --- a/drivers/infiniband/hw/usnic/usnic_uiom.c +++ b/drivers/infiniband/hw/usnic/usnic_uiom.c @@ -76,7 +76,7 @@ static void usnic_uiom_put_pages(struct list_head *chunk_list, int dirty) page = sg_page(sg); pa = sg_phys(sg); if (dirty) - put_user_pages_dirty_lock(&page, 1); + put_user_page_dirty_lock(page); else put_user_page(page); usnic_dbg("pa: %pa\n", &pa); diff --git a/include/linux/mm.h b/include/linux/mm.h index 0334ca97c584..c0584c6d9d78 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1061,6 +1061,16 @@ void put_user_pages_dirty(struct page **pages, unsigned long npages); void put_user_pages_dirty_lock(struct page **pages, unsigned long npages); void put_user_pages(struct page **pages, unsigned long npages); +static inline void put_user_page_dirty(struct page *page) +{ + put_user_pages_dirty(&page, 1); +} + +static inline void put_user_page_dirty_lock(struct page *page) +{ + put_user_pages_dirty_lock(&page, 1); +} + #if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) #define SECTION_IN_PAGE_FLAGS #endif diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c index 9cbbb96c2a32..1d122e52c6de 100644 --- a/net/xdp/xdp_umem.c +++ b/net/xdp/xdp_umem.c @@ -171,7 +171,7 @@ static void xdp_umem_unpin_pages(struct xdp_umem *umem) for (i = 0; i < umem->npgs; i++) { struct page *page = umem->pgs[i]; - put_user_pages_dirty_lock(&page, 1); + put_user_page_dirty_lock(page); } kfree(umem->pgs);