Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp997960pxb; Fri, 22 Apr 2022 16:20:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwym/4ywvrP+vcdr5mpAHuwhBVYWROa+h2/wzevG28f6VNydiG6tCqypmiIUDWnl0iIFQPj X-Received: by 2002:a17:902:eacd:b0:15c:17fc:31e with SMTP id p13-20020a170902eacd00b0015c17fc031emr5231178pld.4.1650669601921; Fri, 22 Apr 2022 16:20:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650669601; cv=none; d=google.com; s=arc-20160816; b=AZX54SignOjzQOGo9SMRhGXOabEI4rqZ/999uBU62Nx3UKwKJzvQRGw4U4XqZ+gZSK himwNrhGGYyzzbCSHv9wR8yZopSSPtCuTnXEDNJqpwqxuKxjk/c8liVTa4+vHRSOOEAP C3Yd8mwVEtVvZv1RWWGqnIIlV7ueTYXF7XVvLu1RRlgF9u+dWQsW9mWkhQCRkGYr9dMz 5Xet59vcssFPXZrTdY/HZ/u7k8P/Pd4+9gUX0mz/5fAorTk0bR/PhPJUmQt+47Y1n/U1 O63vmRsJfbraToONV96fJfth6oJjWWQQHMRaw5L9VvCHLQNxbsy1+iUsVV0wg5xMSvHA qcGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:mime-version:message-id:date :dkim-signature; bh=2OUrHBVQ2XGsiWEMmpN9lcaXOoCh5x5IHeSwakaqCjU=; b=J86qND6bKDmqG3Ert6AT0Zaa4KwmStYdw6Z7yUYvXOPov18pCe661+75iUe0B91DBx duoqKMl9ZWxIvhVRgpv8GcAykvBkD2d7je/Hl9hEi/kI/KqHnEW0yXU2hymKV2ceSTB3 fo5PMzmxSzVdR1W2jzxAPAl+JSAp3GbMMPyEWsrqXuPtWkOQX8xf/wWiGJUOmyh7BbsF rqixO674cbOUf7n1RuMDXp97YFtDPDwlZ28IUETo5XDouhJ8OJXqRZBFsBWop3pgIfV/ Qm5JQEGkb2JKvvvlYhBscV/y9YtJL3JA82yOPDZfCy0dGKcIfxE/l3x08v8OCS8E1OoK qm3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=Aow8LWdb; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id v186-20020a6389c3000000b003aa7472c763si7476751pgd.416.2022.04.22.16.20.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Apr 2022 16:20:01 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=Aow8LWdb; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 35F821F8EB9; Fri, 22 Apr 2022 15:35:47 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232384AbiDVWi2 (ORCPT + 99 others); Fri, 22 Apr 2022 18:38:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46876 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233085AbiDVWh3 (ORCPT ); Fri, 22 Apr 2022 18:37:29 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7BD011F313C for ; Fri, 22 Apr 2022 14:29:51 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id d22-20020a25add6000000b00645d796034fso2039885ybe.2 for ; Fri, 22 Apr 2022 14:29:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:message-id:mime-version:subject:from:to:cc; bh=2OUrHBVQ2XGsiWEMmpN9lcaXOoCh5x5IHeSwakaqCjU=; b=Aow8LWdbHQ8mE+wjvovuTbsPF39TiJA6sPYxg2JQZd+23m8l/+XB1F9qkMvdVXNRg0 fZev5Etdz1q0hIsgyZWbSaFZjTBdJ9VWCFBRU8eBVfHaxsBOGqI7cDhN5oo9gC413a3m gvWZRS9e7nI30010ze8OFrC8V0LO6LXC6C5UwdqfIs2kLN7U21jZtH7KzWi2ief0rAaS CYQdE1MI7oRVde8cp8DeJ4sP2q24P5vdBoqq4mORARm3WuCFCIS7zNqsMlQPsYyrhUDe LO3euRkIUxqJygFfIefkCW2M4IxKVAvFPsRkNRhJwmmkIG9+Oudn+R7bw4c5wsDDt67i rj5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=2OUrHBVQ2XGsiWEMmpN9lcaXOoCh5x5IHeSwakaqCjU=; b=C8GheYd359KXgC/IIZtsTiTkhF2VWtjZxnASHEfk9Ki9XtnMCtdHbI7RogvC/H255i zZnW2aCd+ucxYMrBj2Mh5oOGSDFrwfbbCUNepsmJjwP+/l8zmnugDUsLzL+ymb/LhLUp MeR5ne6ChzHX2RTM+JdB834pd0L+don2Y2LE/NicBeONSWad1v+bEa+soUQC55W3ERvg 4pWA6EKFYDbMrHz/qDqLlA1roZBMcV8EHZMVehky/JsRUdcRPnUrB0DPhpK43/mRZlhu ZnGNfW6hSakHWAXvTe14/jepcTQgo4y2o3gdkTOSIYiWeziZzKrASfdjGhSqHfvNEUT9 WKdQ== X-Gm-Message-State: AOAM532DCPq0G5Ylxy65b89gz2LYd5njLsldFUyuZx2WIbua1HNzaDqr 39RX+tRlNSgn2cSozEtLDhAYPBkMWnmMwTn5btiD X-Received: from ajr0.svl.corp.google.com ([2620:15c:2cd:203:7ba6:20ac:a8f7:1dbd]) (user=axelrasmussen job=sendgmr) by 2002:a25:9f90:0:b0:624:521e:d4a5 with SMTP id u16-20020a259f90000000b00624521ed4a5mr6505440ybq.230.1650662990723; Fri, 22 Apr 2022 14:29:50 -0700 (PDT) Date: Fri, 22 Apr 2022 14:29:39 -0700 Message-Id: <20220422212945.2227722-1-axelrasmussen@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.36.0.rc2.479.g8af0fa9b8e-goog Subject: [PATCH v2 0/6] userfaultfd: add /dev/userfaultfd for fine grained access control From: Axel Rasmussen To: Alexander Viro , Andrew Morton , Charan Teja Reddy , Dave Hansen , "Dmitry V . Levin" , Gleb Fotengauer-Malinovskiy , Hugh Dickins , Jan Kara , Jonathan Corbet , Mel Gorman , Mike Kravetz , Mike Rapoport , Nadav Amit , Peter Xu , Shuah Khan , Suren Baghdasaryan , Vlastimil Babka , zhangyi Cc: Axel Rasmussen , linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series is based on torvalds/master, but additionally the run_vmtests.sh changes assume my refactor [1] has been applied first. The series is split up like so: - Patch 1 is a simple fixup which we should take in any case (even by itself). - Patches 2-4 add the feature, basic support for it to the selftest, and docs. - Patches 5-6 make the selftest configurable, so you can test one or the other instead of always both. If we decide this is overcomplicated, we could just drop these two patches and take the rest of the series. [1]: https://patchwork.kernel.org/project/linux-mm/patch/20220421224928.1848230-1-axelrasmussen@google.com/ Changelog: v1->v2: - Add documentation update. - Test *both* userfaultfd(2) and /dev/userfaultfd via the selftest. Axel Rasmussen (6): selftests: vm: add hugetlb_shared userfaultfd test to run_vmtests.sh userfaultfd: add /dev/userfaultfd for fine grained access control userfaultfd: selftests: modify selftest to use /dev/userfaultfd userfaultfd: update documentation to describe /dev/userfaultfd userfaultfd: selftests: make /dev/userfaultfd testing configurable selftests: vm: add /dev/userfaultfd test cases to run_vmtests.sh Documentation/admin-guide/mm/userfaultfd.rst | 38 +++++++++- Documentation/admin-guide/sysctl/vm.rst | 3 + fs/userfaultfd.c | 79 ++++++++++++++++---- include/uapi/linux/userfaultfd.h | 4 + tools/testing/selftests/vm/run_vmtests.sh | 11 ++- tools/testing/selftests/vm/userfaultfd.c | 60 +++++++++++++-- 6 files changed, 170 insertions(+), 25 deletions(-) -- 2.36.0.rc2.479.g8af0fa9b8e-goog