From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00B3FC433EF for ; Tue, 21 Jun 2022 08:41:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 71E248E0001; Tue, 21 Jun 2022 04:41:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6CEA46B0073; Tue, 21 Jun 2022 04:41:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 595A48E0001; Tue, 21 Jun 2022 04:41:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 49F636B0072 for ; Tue, 21 Jun 2022 04:41:25 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay13.hostedemail.com (Postfix) with ESMTP id 110E5601D1 for ; Tue, 21 Jun 2022 08:41:25 +0000 (UTC) X-FDA: 79601598930.27.7E50C7F Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf17.hostedemail.com (Postfix) with ESMTP id 8B720400AA for ; Tue, 21 Jun 2022 08:41:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1655800884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gRFrsS27+E+aTRPkdguRVk/bJchHF2kx1WGyMQqZs/U=; b=L0KNdX6FB4SDtTXQouEb7QMlAs2JRF8t1ggtyeioFGPA6s+AKnNV249bd2SoSByAdwZJoh hV0UxuMDPxPgJvdiPLd5wZa6rtPz+jr76ZDWoddppeb/Y0GMvK+Jenp2dzEeih3LT74UKc 9DqXd9/3MsDFL0YdNgaIczD2QztcBm4= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-596-AwQ1-MItPvS6_CjfPMB98g-1; Tue, 21 Jun 2022 04:41:22 -0400 X-MC-Unique: AwQ1-MItPvS6_CjfPMB98g-1 Received: by mail-wr1-f71.google.com with SMTP id s7-20020adfbc07000000b0021a558c09b4so2602079wrg.4 for ; Tue, 21 Jun 2022 01:41:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent :content-language:to:cc:references:from:organization:subject :in-reply-to:content-transfer-encoding; bh=gRFrsS27+E+aTRPkdguRVk/bJchHF2kx1WGyMQqZs/U=; b=vYplEtDLgB+JWKs7VQ9madanrwJevhfmy/nzydBMpyLt4cRzlAWl1fM3NZFZwVN/tk ZC92wD8UWMg+x6FLD/DmOedRGRDr38TTDmonXtaUWXPRrzBZ31xChaJNHKJA1/Alyd85 wCzQapEeL6wlEfZEIzMxwSlA8WX+0MsasxfcpNzDUpwuwUeBTg7zs2eq0CpqVCajRPac IyGuBbO4oUWoK6TemIlFAED5Nc13PRULnuHEB0+lp6vONqqAjO0Di6HG/muv7wmGntJa wLMyxGgJek24LJr33ExhttTSHuWR9nUwcMKiuV2yEI5ERLaLQ3CqJ22bqO0mZyBoZJwb mHcQ== X-Gm-Message-State: AJIora+p5PHRJhZs8UxRqTgQj7rRl3EXeWEVxqtCnFSNqs8fuyPHDApD dqzIRM+XzXlanw8nj9rIAirjwdC/fDFkv33WWg2xKShrOvZ/IAnSds79zQjQafH+vXznitMTRyF 8Lk82skhIxsQ= X-Received: by 2002:adf:e60c:0:b0:21b:8bac:70ff with SMTP id p12-20020adfe60c000000b0021b8bac70ffmr12072627wrm.467.1655800881524; Tue, 21 Jun 2022 01:41:21 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sM3U2fj1LB0PQyDx/pBCapaId18kV4E7UTo7xzt3m09tOuzMP0YGU1uCsqSQSCtjX36v06BA== X-Received: by 2002:adf:e60c:0:b0:21b:8bac:70ff with SMTP id p12-20020adfe60c000000b0021b8bac70ffmr12072602wrm.467.1655800881249; Tue, 21 Jun 2022 01:41:21 -0700 (PDT) Received: from ?IPV6:2003:d8:2f04:2500:cdb0:9b78:d423:43f? (p200300d82f042500cdb09b78d423043f.dip0.t-ipconnect.de. [2003:d8:2f04:2500:cdb0:9b78:d423:43f]) by smtp.gmail.com with ESMTPSA id y6-20020a5d6206000000b0021350f7b22esm16865472wru.109.2022.06.21.01.41.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Jun 2022 01:41:20 -0700 (PDT) Message-ID: Date: Tue, 21 Jun 2022 10:41:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 To: Nadav Amit , linux-mm@kvack.org Cc: Nadav Amit , Mike Kravetz , Hugh Dickins , Andrew Morton , Axel Rasmussen , Peter Xu , Mike Rapoport References: <20220619233449.181323-1-namit@vmware.com> <20220619233449.181323-2-namit@vmware.com> From: David Hildenbrand Organization: Red Hat Subject: Re: [RFC PATCH v2 1/5] userfaultfd: introduce uffd_flags In-Reply-To: <20220619233449.181323-2-namit@vmware.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1655800884; a=rsa-sha256; cv=none; b=IvB4Tj0jg2LKynV+nKU7UVN7DUkJ//RnG3AhCwSJAgAQmGrOqiU4x+WcDG17SjBgv4oqBI gib/KPmaJvkGxAnthvBOMKTgyq4KVARNqqpL1us1zVtL6H+pkPHBrKjtdXSwk2boQyev/2 0EtZdVQ0FwwXuVLP5eXdVYtFuLOku7w= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=L0KNdX6F; dmarc=pass (policy=none) header.from=redhat.com; spf=none (imf17.hostedemail.com: domain of david@redhat.com has no SPF policy when checking 170.10.133.124) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655800884; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=gRFrsS27+E+aTRPkdguRVk/bJchHF2kx1WGyMQqZs/U=; b=vwRD+9N3zIH9ZTvIkPEX/ViY+FdHXDnA2OQI1wjFVagp9C0T6WSnEJXuVo7SPeW6cn3iGm HzUH/4XD0xpMeo1q31KmWm4qxnNDPBrRUR4x2VYYfYBp9k4mKSE9bPZFNLqOY8TxGDsriu rdkeOlFQVAMP8oIkXRaV4TOgQWry/ok= X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 8B720400AA X-Stat-Signature: jgiuxi3hcsedgjrxz17az1fgytgt6xp5 X-Rspam-User: Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=L0KNdX6F; dmarc=pass (policy=none) header.from=redhat.com; spf=none (imf17.hostedemail.com: domain of david@redhat.com has no SPF policy when checking 170.10.133.124) smtp.mailfrom=david@redhat.com X-HE-Tag: 1655800884-841495 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 20.06.22 01:34, Nadav Amit wrote: > From: Nadav Amit > > As the next patches are going to introduce more information that needs > to be propagated regarding handled user requests, introduce uffd_flags > that would be used to propagate this information. > > Remove the unused UFFD_FLAGS_SET to avoid confusion in the constant > names. > > Introducing uffd flags also allows to avoid mm/userfaultfd from being > using uapi (e.g., UFFDIO_COPY_MODE_WP). > > Cc: Mike Kravetz > Cc: Hugh Dickins > Cc: Andrew Morton > Cc: Axel Rasmussen > Cc: Peter Xu > Cc: David Hildenbrand > Cc: Mike Rapoport > Signed-off-by: Nadav Amit > --- > fs/userfaultfd.c | 20 +++++++++---- > include/linux/hugetlb.h | 4 +-- > include/linux/shmem_fs.h | 8 ++++-- > include/linux/userfaultfd_k.h | 23 +++++++++------ > mm/hugetlb.c | 3 +- > mm/shmem.c | 6 ++-- > mm/userfaultfd.c | 53 ++++++++++++++++++----------------- > 7 files changed, 68 insertions(+), 49 deletions(-) > > diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c > index d398f6bf6d74..5daafa54eb3f 100644 > --- a/fs/userfaultfd.c > +++ b/fs/userfaultfd.c > @@ -1700,6 +1700,8 @@ static int userfaultfd_copy(struct userfaultfd_ctx *ctx, > struct uffdio_copy uffdio_copy; > struct uffdio_copy __user *user_uffdio_copy; > struct userfaultfd_wake_range range; > + bool mode_wp; > + uffd_flags_t uffd_flags; > > user_uffdio_copy = (struct uffdio_copy __user *) arg; > > @@ -1726,10 +1728,15 @@ static int userfaultfd_copy(struct userfaultfd_ctx *ctx, > goto out; > if (uffdio_copy.mode & ~(UFFDIO_COPY_MODE_DONTWAKE|UFFDIO_COPY_MODE_WP)) > goto out; > + > + mode_wp = uffdio_copy.mode & UFFDIO_COPY_MODE_WP; > + > + uffd_flags = mode_wp ? UFFD_FLAGS_WP : 0; why not simply uffd_flags = 0; if (uffdio_copy.mode & UFFDIO_COPY_MODE_WP) uffd_flags |= UFFD_FLAGS_WP; ? [...] > index eee374c29c85..6331148023c1 100644 > --- a/include/linux/userfaultfd_k.h > +++ b/include/linux/userfaultfd_k.h > @@ -34,7 +34,6 @@ > #define UFFD_NONBLOCK O_NONBLOCK > > #define UFFD_SHARED_FCNTL_FLAGS (O_CLOEXEC | O_NONBLOCK) > -#define UFFD_FLAGS_SET (EFD_SHARED_FCNTL_FLAGS) > > extern int sysctl_unprivileged_userfaultfd; > > @@ -56,23 +55,29 @@ enum mcopy_atomic_mode { > MCOPY_ATOMIC_CONTINUE, > }; > > +typedef unsigned int __bitwise uffd_flags_t; > + Instead of using 0 when no flags are defined, add #define UFFD_FLAGS_NONE ((__force uffd_flags_t)0) which makes it easier to understand at callsites what's happening Apart from these two things Acked-by: David Hildenbrand -- Thanks, David / dhildenb