Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp4444573rdb; Fri, 15 Sep 2023 02:19:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG4s8rwZbzLJK2NmJ+ySJhC+Men+FIKFJKfPIbuGAjiqVmGkbGZv+TZxObHIvBh6DFJwLHI X-Received: by 2002:a05:6a20:3d06:b0:15a:f4e:620d with SMTP id y6-20020a056a203d0600b0015a0f4e620dmr1663582pzi.4.1694769578417; Fri, 15 Sep 2023 02:19:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694769578; cv=none; d=google.com; s=arc-20160816; b=bXeYkV+yLDaHI6YmXo7M2DZhX58L3LFYnLZykh3vJNmhFAKLXzLGU5vNsggdwuLzuA YSCKiH3vqR/pEQL3rmzstWgXzQ2eMpv448m0WA80e94NIYNDkm+CaMB/LuThqNqyyRVx QWwaJKvwtHs7u10YfiVYxKgOXWOYdtiBSDWbKMNqorvV+bb6kaM3ljlsVZOBLCf8psIa VDeJcHDwf8uLr5rqtwa21ya0toXW8KR2IZh7lwOPNW6DKmQLfoGFziYE+CZnHSP11/fD wlANUYkncemXF7FJsQlfsBhZOQ92uq7aBLcw1sbvw7yoHu7ida8Ez6DlPWWMBlFRCPXv e+uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=4+ZIL8vxkKury4gaJX7IxLzJ7K795bJGx8CLgfM6pGQ=; fh=iLz6U3+OkFjmVYufPkkqVnwB0HTHOaKtYuZlGxdbl0M=; b=pl0TYLAoJb+S3zAxTKnMNaUUyAQW0rLtrzZWCCkroJbeaRF4WAcsxGMlSOPJsnnO2c PVCnO4dM5uO+/d1ff6nmTvGQzMLZgxIwZY+sJMx1S1WEOBk7uIL+IrptcCSu0IsgvRMS 7Is8p8PVREh7E2D0CQiRKgf+rVQ5ibiH0x46yJ88kB/gnAFzSq3JLbkhciI4zAw+Cj1j fN4KgI3+P/xc6ZTfDzOvihXHh8Gsj1wIgulyb0L2agjxJnPuQF1Nab7ujg+FwzdiThIq tuHc79gFtLGcs1PqLDmsC8YPpALWeX+z0Ei+GDKHe4X/ADVbxIblUWAKfh7epg/CXhDk j8DA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=GZFalzEc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id j3-20020a170903028300b001c43cd543a0si348169plr.241.2023.09.15.02.19.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 02:19:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=GZFalzEc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 5B1778220742; Thu, 14 Sep 2023 21:04:12 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231680AbjIOEEH (ORCPT + 99 others); Fri, 15 Sep 2023 00:04:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37614 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229762AbjIOEEG (ORCPT ); Fri, 15 Sep 2023 00:04:06 -0400 Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C23592710; Thu, 14 Sep 2023 21:03:59 -0700 (PDT) Received: by mail-pg1-x52b.google.com with SMTP id 41be03b00d2f7-564b6276941so1354196a12.3; Thu, 14 Sep 2023 21:03:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1694750639; x=1695355439; darn=vger.kernel.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=GZFalzEc/M+1zhwSClavF8aDmdfAH3p2W5sk0C8Td7K92uFCGe1aLAPuX3jlms0ybh MW/ls7i2eUIXWzHbh3cAwseRA1oad0wmjeeC2nywCBAooT5MvJAyOzVB3DWWejXnvzAe i/mT69N24E7BgaUapAwUjhMhhsMDdfOzRE8IyJMiiwRDbfYtISkjhwKrqeoaMqnt2ItM jwGxKWYSI8zr5352r+FiOsne0bAKAXvYgIx8OpodOqA0vrmafwaXem0QPgUmBpnj0d7F PBLZBOUC8FGtUNPfeXQm4rl+IkymZcTpmsS/AHiJiNXPujduri/CCwLjWkCqxvZzWkWX T03g== 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=ott/+yZF7O4xUEBqi7MuZ54o+UXBB9adb/1V7AAnbhJuP7Kzm2P2ZueJDNmnjFKedx RvJnTFXIeW7BMlMyRbKkprb7r4EjTJ3buykylFRgHGYdX/ZtVa04aunC1HwLtJ+Tq7KY cJLblwLXEwnopuicX7qShPvDaezjF7isLfo7NS1kJX3Cf63Oejhm59EAL/eufsIoek8i UdmF3OQ5Ccx+2k1t/50qpfb4DC56N5E/0umANsRLMzo4sEw7KNt3q5I/zueM/D21l9+y wN97kICRK+f4aFX3xSfzoRggGgrvkiTQGAtlFVh/3PtJIZQ+g7eYg8VzMVZD9bI3JARL FmTA== X-Gm-Message-State: AOJu0Yy+v7Mh4puC2HSOHO6H18bbRCdyhEKKLsjKbmrEpX9CT3gz8t38 vCL4JWKR+J8B0j8IayrbcOM= 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-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 14 Sep 2023 21:04:12 -0700 (PDT) > 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.