Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp799658ybh; Mon, 13 Jul 2020 01:13:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzoDDgsOl4CzFrlnhqCvVZ1YtHom870cfl44IbSBtw01abcpl+jN40JPjTfD99eqYuHBcdP X-Received: by 2002:a17:906:e91:: with SMTP id p17mr67228165ejf.252.1594627987605; Mon, 13 Jul 2020 01:13:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594627987; cv=none; d=google.com; s=arc-20160816; b=C6LH6eSx2bLICbFm8OBB5jEb947P9ll/xi5sCCH6cqqF51Lvg6UmND55XVvrLKuIWR s3Pf14YeKTkQq4yj3/WYmCEwSiDVPK6fmDFO51dZjx7V9zP3RkuJ2auGvAOVT9cRHNzj deb7+XPvdRi6qIjk0U6MwSK0RGJ8G79ZUmclksEwHshFXUWVcBFS5i5ZjnLpeUuNRYvm CU26KWvvifwF/tpiw+MJZzfMIFtLdo0AMSVla2VZi1GwVyP2TX7SA1MVg+UJK14OiXiS XR7MJi1wbOup3t3TC5B6I8r1vwfrJELzjynezTc7d9MHrE1eIudMM3gnIBRWMDCmc1rv w/Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:thread-index:content-language :content-transfer-encoding:mime-version:message-id:date:subject :in-reply-to:references:cc:to:reply-to:from:dkim-signature; bh=nT2xE2I/1laRy3/n8/6HWxHbLx8UbAkaa/McJbaY/Go=; b=WG4YnhEzSntNEV25milEY3Q/CwOrA16vzxUxJy2/qF+dMMcMMQGL0FL1bvi/6ITORw /C3wX6Ezo9B4gs5K2rbNvysxWrdmMWJDlP4swnJ9/vy5Gi49ryfaXQOCVz9TZtlxvUYm MYvNNgNDsEftAP+E48fIuiptbH6VuzaHcSo7R3x65su+MVnbIPUIopGhu3aUYnSiTcxn 6uqZvvIcS3vgF0QHyAwRND04Hm3zUuaannuzJwZbywPoxS6puY8D655b5BBc7iWYyadc gD9hNePsMHNIN/Rdt2CoObaXogt41s6c4UmjN07id4pVzXPY0KMj6BvPpGzZ1X5O25e4 MfDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=L61FhwCC; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t17si9575309ejs.635.2020.07.13.01.12.45; Mon, 13 Jul 2020 01:13:07 -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=@gmail.com header.s=20161025 header.b=L61FhwCC; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729115AbgGMIKl (ORCPT + 99 others); Mon, 13 Jul 2020 04:10:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54150 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726077AbgGMIKl (ORCPT ); Mon, 13 Jul 2020 04:10:41 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 14A13C061755 for ; Mon, 13 Jul 2020 01:10:41 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id o2so12244966wmh.2 for ; Mon, 13 Jul 2020 01:10:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:reply-to:to:cc:references:in-reply-to:subject:date:message-id :mime-version:content-transfer-encoding:content-language :thread-index; bh=nT2xE2I/1laRy3/n8/6HWxHbLx8UbAkaa/McJbaY/Go=; b=L61FhwCCvRDKQLIKdnXaGxMEL0Cgg8QW8GHZ/v5d4/c4Ig9855dnDAK7hZ3Wq81MI4 qGwEokCjqapm8wRSgtkuMyucU0k+p2FetZQCLUDsTltZ8fg/4F8NpNvovCKRb/bXP7HX Ue3VEO//CgeIoEbLfWpRHvErKA0kri+aNdUQpz2B8nobBdvqjM1WD3qY428QfYJLtQ5G pAp6MyLRE3O84pp8zBWGe0tmiF0pXOzRvP0P/NL1gPzbUd48IENUBf4oZDwTXuy+4osv a+z0Rj6AUbKa9a63yMQNqYKWMMD1iBcAdVyr7vILDMeuHZuN6+EL57okjFctAnUNbBsK 1Saw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:reply-to:to:cc:references:in-reply-to :subject:date:message-id:mime-version:content-transfer-encoding :content-language:thread-index; bh=nT2xE2I/1laRy3/n8/6HWxHbLx8UbAkaa/McJbaY/Go=; b=CqUaJp7FNhYCvyyFLBqhmnnHsYNEd3mE5uBXMdMQufdw9ngxN0yJiRYTRW+ivVIXFa IzsTvK5gGV0iK5LsmEgTXsgUVwk2sz+3dY8uNYJtQix1g+NdWivsTKwKxbikCSCK52HD YRJalJISQ1+ukq5qb7u90Mm/YZQLGag+cqcCCvzwlAH+ucuKfgx+j8d6mwfktUSJ3KIW qDtobfuAZuPW4T5GS24oFlaJI+CfI8/VCmKLSvqCc8FHnmrxrd5VUavUi5HYx9YUs6Zp Q6Iw7+baObauvLX+ckX75NjvotEdvDTN4s2HA7QXiOlMRaMl8C4soH953aF6B5dWm/u5 HWWA== X-Gm-Message-State: AOAM530OOob2zJpVo0IQE7rouyQtILnX1pqzr5IyQJgwFZl4RKiypg0b Cv+ciKjVRiXZ3ZtYQrT23Vw= X-Received: by 2002:a7b:cd09:: with SMTP id f9mr18552307wmj.160.1594627839822; Mon, 13 Jul 2020 01:10:39 -0700 (PDT) Received: from CBGR90WXYV0 (54-240-197-236.amazon.com. [54.240.197.236]) by smtp.gmail.com with ESMTPSA id n17sm21674581wrs.2.2020.07.13.01.10.38 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Jul 2020 01:10:39 -0700 (PDT) From: Paul Durrant X-Google-Original-From: "Paul Durrant" Reply-To: To: "'Souptick Joarder'" , , , Cc: , , "'John Hubbard'" , "'Paul Durrant'" References: <1594525195-28345-1-git-send-email-jrdr.linux@gmail.com> <1594525195-28345-4-git-send-email-jrdr.linux@gmail.com> In-Reply-To: <1594525195-28345-4-git-send-email-jrdr.linux@gmail.com> Subject: RE: [PATCH v3 3/3] xen/privcmd: Convert get_user_pages*() to pin_user_pages*() Date: Mon, 13 Jul 2020 09:10:38 +0100 Message-ID: <003a01d658ed$1858e220$490aa660$@xen.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 16.0 Content-Language: en-gb Thread-Index: AQGQUUjbM0hB7euxJ1kpRMo6FNfk+gGYi24xqYRzHNA= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: Souptick Joarder > Sent: 12 July 2020 04:40 > To: boris.ostrovsky@oracle.com; jgross@suse.com; sstabellini@kernel.org > Cc: xen-devel@lists.xenproject.org; linux-kernel@vger.kernel.org; Souptick Joarder > ; John Hubbard ; Paul Durrant > Subject: [PATCH v3 3/3] xen/privcmd: Convert get_user_pages*() to pin_user_pages*() > > In 2019, we introduced pin_user_pages*() and now we are converting > get_user_pages*() to the new API as appropriate. [1] & [2] could > be referred for more information. This is case 5 as per document [1]. > > [1] Documentation/core-api/pin_user_pages.rst > > [2] "Explicit pinning of user-space pages": > https://lwn.net/Articles/807108/ > > Signed-off-by: Souptick Joarder > Reviewed-by: Juergen Gross > Cc: John Hubbard > Cc: Boris Ostrovsky > Cc: Paul Durrant Reviewed-by: Paul Durrant > --- > drivers/xen/privcmd.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c > index 079d35b..63abe6c 100644 > --- a/drivers/xen/privcmd.c > +++ b/drivers/xen/privcmd.c > @@ -593,7 +593,7 @@ static int lock_pages( > if (requested > nr_pages) > return -ENOSPC; > > - page_count = get_user_pages_fast( > + page_count = pin_user_pages_fast( > (unsigned long) kbufs[i].uptr, > requested, FOLL_WRITE, pages); > if (page_count < 0) > @@ -609,13 +609,7 @@ static int lock_pages( > > static void unlock_pages(struct page *pages[], unsigned int nr_pages) > { > - unsigned int i; > - > - for (i = 0; i < nr_pages; i++) { > - if (!PageDirty(pages[i])) > - set_page_dirty_lock(pages[i]); > - put_page(pages[i]); > - } > + unpin_user_pages_dirty_lock(pages, nr_pages, true); > } > > static long privcmd_ioctl_dm_op(struct file *file, void __user *udata) > -- > 1.9.1