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 A1867EEAA78 for ; Thu, 14 Sep 2023 21:57:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E1D06B02F4; Thu, 14 Sep 2023 17:57:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8917C6B02F6; Thu, 14 Sep 2023 17:57:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 77FE66B02F7; Thu, 14 Sep 2023 17:57:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 64F766B02F4 for ; Thu, 14 Sep 2023 17:57:21 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3C0B9A0616 for ; Thu, 14 Sep 2023 21:57:21 +0000 (UTC) X-FDA: 81236564682.27.1EC6D74 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf08.hostedemail.com (Postfix) with ESMTP id 5D76E160011 for ; Thu, 14 Sep 2023 21:57:19 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=iQa4rciY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694728639; 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=X34N50NaiDX+PBJtKJBqu0HsGsPzsSqdEPNcf7aeIrs=; b=qvuPkq9SpkVNC6PoQP/huOro4QPUHuTgeayow3iki5xUnaNNulYMx27wMjcsOMD6kSuOLr h6MHe5uP1K5TsWWDpRQrswTHXh1n3nBw5Umj6/VuUvbwHKJQTPeFe0BF4Ki+YTrMGzvrVY SnMOpfv5011azyuzIAREnkK9S6VqX2c= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=iQa4rciY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694728639; a=rsa-sha256; cv=none; b=by7HtNECn2VTTNPrBpG4xsudoQgPBO+D/mtvC+XkC6p16HFFCRiAnIJg125omoZS/M9qtZ eSNhYrAxKte1Np7FWkRUSuCcv4OnsdStal+U90zcIah2PLqcMNcFuaKPKEwxX50yAuRBOw u3GC+Cq7XXhuRwJt/ostiyazktbkPYY= Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1c397ed8681so12341685ad.2 for ; Thu, 14 Sep 2023 14:57:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694728638; x=1695333438; darn=kvack.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=X34N50NaiDX+PBJtKJBqu0HsGsPzsSqdEPNcf7aeIrs=; b=iQa4rciYI6pIEbO5WkD3afk17BcxeqL0Sxuyfs5QlA7538nDC63r4OJhcZwqMeKiXS CdoWYwbee1rciBtlVkUcWUXBg7K8a2FQphCKfTvgdPWo7cqBa39JO6KYJZJ+i5YCJDIE 22TZBSfmVpbE7WpVaJeC0WOdC1CCwNWsVzP3404iBqIsPTHUwyQ2zxLAYQmJh+9FMrrx PXZ5T/ziYo+Wt7Bq11s546XWahPDJo5lZf9WIkhV6aKYT5l346/IHm4SRb0lI3HRS5HH Hlbuhq9MXesE4tcfhsh742mId4qE0ufdlzBdyhPlFhLWspeLk0RIhEiGdbO/Rq8JCNCm DQ4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694728638; x=1695333438; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X34N50NaiDX+PBJtKJBqu0HsGsPzsSqdEPNcf7aeIrs=; b=LkyqCyIVYt+qZKf6gYK+h/8xfbZCifjZpUjb2fK62Evau+IhnlVfRb4vVb2YL9Fqrk GmvZpWZaKNJ4FehQq+mp6iZTkMdcTDcQMOov7BfTuuN9GZECJ1TbyzAL/m1qKH2h7y+c 0jDRu1MYzmQBoYvV2ZnFeqR5scjOKLZTbvFkhnirEORYdYa7dT8AdRDJ5qSMxtG7RIVi htlsB9ytvZZidJziRj83HjITvYIumIw8Joh+DR0nt+HlFwU3hYvpDXkBNQS5TzmeLYmH g+VbOXS9QGcfUC40nKvePKosEwXd7bIUmpabXPikmgmpsRHCRFrJQyeujRxD2+/Wa6tJ eeGQ== X-Gm-Message-State: AOJu0YyFSuaiBjJmxtLdENOAPRA8dV/wm+Kx7uVZhxXuorMweuJBy3Eo i6A9w74ZWDaBmNMURSqBvSA= X-Google-Smtp-Source: AGHT+IGIaI/uWkQLliCTRlQFV1QfmbwrrxnMWQ0mT8W+Jdap0w9HAyjlgBEZRZvbgXVCbtXJ8c4H3g== X-Received: by 2002:a17:903:2284:b0:1bc:8fca:9d59 with SMTP id b4-20020a170903228400b001bc8fca9d59mr7882429plh.29.1694728638036; Thu, 14 Sep 2023 14:57:18 -0700 (PDT) Received: from smtpclient.apple (c-73-162-233-46.hsd1.ca.comcast.net. [73.162.233.46]) by smtp.gmail.com with ESMTPSA id bb6-20020a170902bc8600b001bba7aab822sm2049158plb.5.2023.09.14.14.57.15 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Sep 2023 14:57:17 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: [PATCH 2/3] userfaultfd: UFFDIO_REMAP uABI From: Nadav Amit In-Reply-To: <20230914152620.2743033-3-surenb@google.com> Date: Thu, 14 Sep 2023 14:57:04 -0700 Cc: Andrew Morton , viro@zeniv.linux.org.uk, brauner@kernel.org, shuah@kernel.org, Andrea Arcangeli , lokeshgidra@google.com, Peter Xu , David Hildenbrand , Hugh Dickins , mhocko@suse.com, Axel Rasmussen , Mike Rapoport , Matthew Wilcox , Liam.Howlett@oracle.com, Jann Horn , zhangpeng362@huawei.com, bgeffon@google.com, kaleshsingh@google.com, ngeoffray@google.com, jdduke@google.com, linux-mm , linux-fsdevel@vger.kernel.org, Linux Kernel Mailing List , linux-kselftest@vger.kernel.org, kernel-team@android.com Content-Transfer-Encoding: 7bit Message-Id: <4F9BBE45-22D0-4F8D-BA56-CA3459998DC4@gmail.com> References: <20230914152620.2743033-1-surenb@google.com> <20230914152620.2743033-3-surenb@google.com> To: Suren Baghdasaryan X-Mailer: Apple Mail (2.3731.700.6) X-Rspam-User: X-Stat-Signature: kinnt49ji69aoh8ogwgn9etirjek5bih X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 5D76E160011 X-HE-Tag: 1694728639-403181 X-HE-Meta: U2FsdGVkX1+mx4tOv6zxPmY0ff/GwWLjJmveYIS9VUoHOZTrlR8Vu6Jueplxt5qe2T76q2nXxrM2bUQ9gii0opWrwNIhDZo5bkIJu4wzh0JNjjcd+NQJ1BdVQPN5sgVjX3fQOaCBlK5VC5kf5xlcueTw6qi8XIxAePsGiyU/I10DgxMX+Gj0FjKdYV9M1SYaRHMqtGKpo2oH1S3wAEZTncUp2AbS08HkKgWZlavoNiIYnQ1L/utIl4g0Fb+MxRntHfm74Fwbo0ZpfSJ2GYCFTL4JAdABw5Zej/4F78+5TJk4ltJsksQqRzrjZGHLj4LcJeQWPfdC4y1DcSW2mZhkD9WaB3Mp7bSX3rCy6MTEiTdlgMpWUOulktLfXEEW0WVDWGEnT40wsw1P5zLIcrjC6wcH0U+zWzpg9F8yLOnUm0Hix8cVJgjymJ3lpiM7wE14RuiACA27w199d2zo1w2yRdLm9x+1AtFCGIB34zFeFO1Pibk3V02xTj0jEA4mrgX5kkwe7rLhm/lRenrjdU4MXZ3srQQAa0mJnVxeKh4ixA21VprA9q4foHuBFQUNP63qcuBuMnl76a1s/vTjENLegfVBARpS8/o5JS3DsMzecoahCImV6Mwj+qqL1BbRFFuGuvzCvt23qu87Dv8/CaenYG983qFlGbH81Qti5tCQaxW4+PTDAw8cGRwcYylQ8wVxv+cykynOvCkrvwMg9Kb8NcFrrl2te5K9efAeN/2ngGn0AdFERvSSD5MLWFSP64WM2cgwDA2596V3Qh8/bXX4UAxrKfOQpdBSsAj4C14XeDywKUfsuP20laG9QqlRcvgLVO3xPMTvak+TBVLoP8Lw2jIhllkHiWrkc9pQtwr4zU57of8QEETRbDHpvs8dw2aglvS/syRHTKBmicTp1YTJqcFlN5rBENWxEIHOpGhZ1r4A/Ea7DYen6QCPSnXhAC2F8CLEOdQKDADWGYS3//k SMndRi71 BnVn9jTkYcY7BFvPB0upTqo0b9vxMieyLa9s9TrA1tI14LTURYG82jh7aeqoKfUhyNxpRsV2uuV5EmnIyfLstowuO8IUuAysA/iMO5PiRH1mRQte/XX3Yq5lv8CgOqmUN6FnwFtYNgJVPvNAx3jlHfzPfImeGqiGl2Ywa03SE8dAwpCqfUh89TvHW4u4OVoTj1XdLBrNrsftravc6cEoK3Z/LDi4b1mYHmBmq2w50r529YDaYg/D2PfxY+9NpEn3XzBdeZ6CHNf7QI6Zd/xpsf5eTXjBAOuNmzgZKVJcYfCQwHW5/hmwOYvSe+08bNLCK8cJEquIqcI+WKeLZMo9uFFhXbvRdvRYBH6wM1zfEkUKwfSAgI51xTQHsCF4jOCqgIy4mesh800FRRsKoFj8wP7sAf8Mm0MkKcCG8M6MFonFBA8JNjz1rDyATrNP74hRSqld0FxknbpvHyc9/MCgxoS9jr4wbQ8ul8mQM2aQtUaSokcWSMvVCRnmvtGmXQO1gSTso550frINskx4II8OPdkHzDTqmekjr/EyrUsJLxgNZGd7nLJxcXJeTkZ+d0UPgNW2Qai82kkRzkJk= 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 Sep 14, 2023, at 8:26 AM, Suren Baghdasaryan wrote: > > + if (!pte_same(ptep_clear_flush(src_vma, src_addr, src_pte), > + orig_src_pte)) > + BUG_ON(1); Just a minor detail regarding these few lines: Besides the less-than-ideal use of BUG_ON() here, I think that this code assumes that the PTE cannot change at this point. However, as the PTE was still mapped at this point, I think the access and dirty bits can be set. tl;dr: this appears to be triggerable by userspace. [ as for the performance of this code, the lack of batching would mean that for multithreaded applications where more than a single page is remapped, performance would suffer ]