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 9BE49EEAA42 for ; Fri, 15 Sep 2023 04:04:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BAA396B0313; Fri, 15 Sep 2023 00:04:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B5A986B0315; Fri, 15 Sep 2023 00:04:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A21B46B0317; Fri, 15 Sep 2023 00:04:02 -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 8F47B6B0313 for ; Fri, 15 Sep 2023 00:04:02 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 45FF312080C for ; Fri, 15 Sep 2023 04:04:02 +0000 (UTC) X-FDA: 81237488724.10.C68057B Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) by imf20.hostedemail.com (Postfix) with ESMTP id 68CCE1C001B for ; Fri, 15 Sep 2023 04:04:00 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Cd9Z+dJj; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.210.178 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=1694750640; 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=4+ZIL8vxkKury4gaJX7IxLzJ7K795bJGx8CLgfM6pGQ=; b=Tl1MyYrJzqIuGCSnX1xp9CzSXud6r3tPlBvtUbyAaYtZYwIBv1UnePdy8SiHkPv0BuaE1G HB/GMUp+dmeZ7zIMVE+5gCkd8q0kK31CQL7UQTp+G9xrsLBU57p9c23b5ZeFWrXuYNsX3B WD9dhUhNf14mk7gNww2qS3eKmoBimQI= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Cd9Z+dJj; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694750640; a=rsa-sha256; cv=none; b=vTh0yRXJKqKwbLBdsNDPS7yskOicKRxU3V2A26aUueDZHf9lWSSTHDAGigc/koH48RMwlj QnMYhxqJOTxIfhFL4w4wHj/aXjhFyZ2rPbP3oR2/ugxrHMuIhjkRrySLt1S9GhWCJ3K9lw 5Okw+VET1ZpusQ7WP60yzNK65OhMTJk= Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-68fc1bbc94eso1434431b3a.3 for ; Thu, 14 Sep 2023 21:04:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1694750639; x=1695355439; 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=4+ZIL8vxkKury4gaJX7IxLzJ7K795bJGx8CLgfM6pGQ=; b=Cd9Z+dJjiGRCmFmMjDVH/7u5KOO+TPKXOnyQBAcjd5kMJWQ6v1yrlFtjd8Jc5ZYmFc Ks13eVKFWkI661RSgsgS3BHT4BLDWVAJ/ZQeoinf+lsWyn1h1Z06f+7pXtnGVIlYKGOD tIqMzb9xd9QGLHUkhjXXeF0EBR3KQE9GQg/5xpFAalGKR0lXAExj49dHdlOt35gGED0V 78h3LdAJxUv2fNlJ4IQPqenCSXS9SFi3OIAs0C+wTSetL6oXuZjFtuutJWr51IHrozUq /AMPegTXGC0VtvEAwI4hCKAyTM3UA5sxVdhJTfGq+LjHT+tH9A9cc0j390B22XpKPTdV SZFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694750639; x=1695355439; 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=4+ZIL8vxkKury4gaJX7IxLzJ7K795bJGx8CLgfM6pGQ=; b=rhsHutXTF38z03ogM07MCUyeLMtWGdODGiFOHvGNiJAO6qBTLieLCzpq5hbuEQJR5G gEr6t4PtQJriCWFgD50IiZ2H/vUbNZ5K0aY/tc9c/8ztPhZjC33JP2udI2UL/usxn/M+ Wr8mRC9Ur/L8pEGS2kemBHsCdBRgllxLZfcD75vESEGbyfV/SNn6qfY9SfYSmD0RwuLo 9L/vphtf02jkRnNqtuNckfPElI56PIcuuey2H6C4KQzZNnCp064jwpOSKqYC2XEKYwYT fcYcePuLOKmS2cJPWIRyfwBRVsPwjJcBCUgMsSEYO7AP0SA1LWdF2YALnvZZFao7H4L1 v+pw== X-Gm-Message-State: AOJu0YxlWMJGdyBgXUrlWNuKmRlyYzEYjMZDXjr3iF/J8C5rIh3sSAwx n2vyb6LO/tAFpPrSP55z0fk= X-Google-Smtp-Source: AGHT+IEZp04o2gCMuvK4o4hL6liWFm8iNM2Qd7x8YnSj4zycDj4ibf1Z6UVzaQXW3E3B1ED9FNVXbA== X-Received: by 2002:a05:6a21:819b:b0:11d:4c79:90ee with SMTP id pd27-20020a056a21819b00b0011d4c7990eemr631536pzb.25.1694750638999; Thu, 14 Sep 2023 21:03:58 -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 a15-20020a170902eccf00b001c0c79b386esm2373948plh.95.2023.09.14.21.03.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Sep 2023 21:03:58 -0700 (PDT) Content-Type: text/plain; charset=utf-8 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: Date: Thu, 14 Sep 2023 21:03:45 -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: quoted-printable Message-Id: References: <20230914152620.2743033-1-surenb@google.com> <20230914152620.2743033-3-surenb@google.com> <4F9BBE45-22D0-4F8D-BA56-CA3459998DC4@gmail.com> To: Suren Baghdasaryan X-Mailer: Apple Mail (2.3731.700.6) X-Rspamd-Queue-Id: 68CCE1C001B X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 7sb37uwws3onawfqymn3h8xj3ewe15xy X-HE-Tag: 1694750640-428063 X-HE-Meta: U2FsdGVkX19wxOiah/temH3386tE+HOR2KBz9ZRZYLkIDU06iE6t35sjTObsarX3i//H5n/axsLbiEtlnFdNd/XUVc0tLoXS/kn7NW6kNHvIo3cuGLq3WRrSKyYmdOcIF6p87gZjUKQEaGWkZ0aJF4/1KCwaxKv7GJal5eiHDJYDy1dbiCpG8/RIbgCe3TWZQv7vhUSHJMaly+wqGHthxsMTy+Bu/xJcvrDmnYj2bxYJJbJgJzIK+1XwwFh/wY73ySB5p+D0DyUu208DPvUyszfc6IxxPIqpbbDi/VIt71MsUyo7PqEUHeNbBI8VHiQry1lyY9CAcoNHcZmWzioyKnw0H0NU6uhFZjHXo6K3ns+6yq9bc1lmyWdbn9jHU7r9apejuQSU4bhx1INAPmjLLbiZpxdKe8D4VVybA1+NRKc5c2CZTkd4AhVIXGbNV2ZFxFdoTfmIy0kawjo5EbVD/Psa+Q1pX7l0txWUkg1B2O/mJ0XSgH8FNV6oUkVpCysMUv0iOlOHXwFfJSrBJbxRC+W89/KHe/vHcFX8rC9IX7l7J4oG47FgJ83EDVIStQ8O/iTymbjkfJ/0Jw9aEIkV+F0hFgrztISdIxX+rVZ23nX+/are+skSGe+RlrO2ZCVnI6llQQqsSs0M3wh5F7hlnfVN4f/kS0z7YCMXr01m7GmBhayQkuGO1VDiOeInBLVdAXYEhYC1IVKismDglYpgIhEk267ZPY7vbpoldlV/Cs5zoYdvo+Lk0NrX+egkGtk3Y9Xt1DuY1jj2un2RY8QHzUqTfKB7gRohIH6Jlk1D0WWbKjnNl0AV7+aQKk7sATfg7p2qsAq7/kO6zXNLi3yFk9XdDn+tDsOBuHsLbKy6aiysEF88t7FpUVY3o6Z80yiZnw0eysNv00iC1iU0ze4pjJM/2tYV/WG8ZQ30sMu5k81x9HtKZciU+O+QMkKHXMqWcw3TuQX9jWWbfDK+6XX 33SO7bOn /hQFS7h5QQ/gDkM9xvACHm7JO1xIt0zb0EDXjQ47MVARYDaqRw00QxjU1aSrFHo7MXvlvky9ma6MlSuJSKbfX4R3x5cJfRAGs5Mhpbxorcipiyx2vl5aN6oI48AervN0MBClWmvItdqmtoHpYhn/yRsz/BIBLRP9XovIKmk1yx6syi02tm2+WO6shPPSUXKU9Lz2aexkoxkl+fl3zmhVimOSFb0iGJEYxPlFCeCrvfKNbOLEA4K77hEPBXwVyBmLLWz1ugqXPQkK3ACLCq9gv80GHij+ZOYyPZun6uLKSSewnvgGzqkdyL2n3xg/YGeaEhO/G0U5BfRDZs9LsPcUwHMOdCdUGk+02A6BfkwUNel7GislRoEp3Oq0JBfuOng6nf6X+3NUN8WO3kuDALkBQr+KVIwxKomW2nemq527tm0x8VO0InYRhSCO74EgvJrqvMqJ0swQuu8r4kHfZ4S0OslmzKqJa3mqRwolm9nykzxeDIXX+CIW0MaBbPnx4x4liV4plas2eLLa41YQP26d2EaVRIAGv0vAqNQZfrkSh4ExOSyCKC891tl+Vov1r1KsaHxfZd25J4lpZUqs= 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:28 PM, Suren Baghdasaryan = wrote: >=20 > On Thu, Sep 14, 2023 at 2:57=E2=80=AFPM Nadav Amit = wrote: >>=20 >>=20 >>> On Sep 14, 2023, at 8:26 AM, Suren Baghdasaryan = wrote: >>>=20 >>> + if (!pte_same(ptep_clear_flush(src_vma, src_addr, src_pte), >>> + orig_src_pte)) >>> + BUG_ON(1); >>=20 >> Just a minor detail regarding these few lines: >>=20 >> 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. >=20 > At this point we are holding PTLs for both PTEs (see > double_pt_lock()). Can a PTE be modified from under us in this > situation? PTEs has several parts: access-control bits (e.g., writable), physical frame number, software-only bits and log-bits. The log-bits, which are =E2=80=9Caccess=E2=80=9D and =E2=80=9Cdirty=E2=80=9D on x86, track = whether the PTE has ever been used for translation or write correspondingly. Without getting into all the subtleties (e.g., =E2=80=9Caccess" can be = set speculatively even if no actual access take place), as long as the PTE is present, it might be used for access (and write if it is writable) by other cores. The page-table locks are irrelevant here, because the PTE is not updated by software, but it is updated by the CPU itself during the page-walk/write.