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 EE3C1C433EF for ; Fri, 22 Apr 2022 21:29:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6B28C6B0073; Fri, 22 Apr 2022 17:29:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6617D6B0074; Fri, 22 Apr 2022 17:29:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 551BC6B0075; Fri, 22 Apr 2022 17:29:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.25]) by kanga.kvack.org (Postfix) with ESMTP id 468C66B0073 for ; Fri, 22 Apr 2022 17:29:52 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0BA4720DC3 for ; Fri, 22 Apr 2022 21:29:52 +0000 (UTC) X-FDA: 79385807424.16.5219691 Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by imf20.hostedemail.com (Postfix) with ESMTP id 1C2861C0037 for ; Fri, 22 Apr 2022 21:29:49 +0000 (UTC) Received: by mail-yb1-f201.google.com with SMTP id p22-20020a254216000000b0064588c45fbaso3020814yba.16 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=SZzpbmr+q7q4iqWNt2E9pmmCuqfWIE09wmqWTmsB9hTRTgZBCIMqwC2N6jJw2F+MBA WWWlhCgW6jigMdCanjt5wgKX/319VhIxMDtanD+6mX+5musqbXiYjNbv1Omxl3XF8d/e UZK2TWgPXil//SADZHUPYFqAeoqW5VdGNK/0ZDQ0qR2olccSN4sXVkXpNiQ3IW9yeD3Y 2iPS+ZNB5lW/zAwouFwkf8I7STcWXT1qAJJ+/yAEG0juGtd7vE4BeT3ePrd0HgmHVga/ G+Pth0wO9mx2/mNgY4va0tp4xcnVfFXWpZpJGjocSLzQ5QzXUajx5W8Qb6MsPuWL8bmJ bXuw== X-Gm-Message-State: AOAM531vvd3cWnvWyO+e6b76pmQ1BXEr1JQY9H628VEXGPjLVZySiGi7 kkLhBG4qVgdp/J9yaPXwnzuWj+6fF1zkg0tqYRp2 X-Google-Smtp-Source: ABdhPJzN20+x39HHCgsQ8s+XetICyuwHBA/K5CIlhrR9l07xTY2TvqCOCgmubuPwmhK7ht8/vTRA3nNCJmwDMnx0uVbs 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-Rspamd-Queue-Id: 1C2861C0037 X-Stat-Signature: kg6nyum8f41m4nssygz9gqajpxrpfhgi Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=Aow8LWdb; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf20.hostedemail.com: domain of 3Th5jYg0KCDENkRYeNfZhffRaTbbTYR.PbZYVahk-ZZXiNPX.beT@flex--axelrasmussen.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3Th5jYg0KCDENkRYeNfZhffRaTbbTYR.PbZYVahk-ZZXiNPX.beT@flex--axelrasmussen.bounces.google.com X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1650662989-428598 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: 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