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 99D38C02182 for ; Thu, 23 Jan 2025 17:40:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 12F3A280009; Thu, 23 Jan 2025 12:40:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0DFE5280008; Thu, 23 Jan 2025 12:40:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEA7E280009; Thu, 23 Jan 2025 12:40:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CB4D5280008 for ; Thu, 23 Jan 2025 12:40:45 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 4304D1A0304 for ; Thu, 23 Jan 2025 17:40:45 +0000 (UTC) X-FDA: 83039431650.02.7436515 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf11.hostedemail.com (Postfix) with ESMTP id C49FC40013 for ; Thu, 23 Jan 2025 17:40:42 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=XciGOaTD; spf=pass (imf11.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737654043; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Q3XAX29t0p8K//ChrZkKS09FKeW39YxcTgnGMJjcmuk=; b=Wrtt5EHGpk3r1qiMVCvBjSMeBhNMrE6x6o7Lt3LeNwCPBKdSF5qcqNhR87xdqrkbVcwGrf o/Lh+8v+iQFwWUU6HxGkXgT4dEFFYcxXe+cP/MZgf3GaK6RXi2FtV1aeBuye1qX9POsgBp lAaECDf5HwPZmLYv2+G7/k/FCp2hX3w= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737654043; a=rsa-sha256; cv=none; b=RBN05R0sZCV8uf4RLX9ug35yxhfmXVi8DYr3eRDgxzNHPINQ4Cy/rhhmLhfk3sUeVlr7dP WvZrGB7ktZ4PnbGiLeEFN+6zmTyuBZxqlGPMaNkZDGKZMF/uYYZXEv43WEWvPzJJa4GSNG xxum2m3TftsnscXde/eRUUtMHgoKxd0= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=XciGOaTD; spf=pass (imf11.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1737654042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Q3XAX29t0p8K//ChrZkKS09FKeW39YxcTgnGMJjcmuk=; b=XciGOaTDlOwzTclb/t3tFZOs0joBn8FsLe1O6m+bx3pdushLCKgqAUfiYAHkc83VswZL3g If94zPydMq+N0NGxQkfzItfze1s+ztWAYK0sAmDlo0BlumyGh1D8aMTAr40vRwid3roe89 jz7zth7LQaYMpqj9OAnW9x2rnu1udOs= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-664-ljV0CuyTNqSWy61t2rxXtg-1; Thu, 23 Jan 2025 12:40:40 -0500 X-MC-Unique: ljV0CuyTNqSWy61t2rxXtg-1 X-Mimecast-MFC-AGG-ID: ljV0CuyTNqSWy61t2rxXtg Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-6d88ccf14aeso19705196d6.1 for ; Thu, 23 Jan 2025 09:40:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737654040; x=1738258840; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Q3XAX29t0p8K//ChrZkKS09FKeW39YxcTgnGMJjcmuk=; b=vjSlPkUAlhGOQYg6qn+dtcLN3lA7yKkrnEgyrOx9DIZKEyUXaGtmy0xEoMWnxvUoBo ROhDkCY6mVU2fIWnzWSC9qzOiUApBSeJ/09UeMCePuyKNcDoE6pGzORD3RGU+k9cvAsX I8+WVCJ1Xw25NlNlhX581w5tyZUlH3TIepPOtqEiCNu9bfVnkchmv2KERRURmEuZxQ7P XqSdPVcFCPtvqfP4H07OQureq2pKx15HHXCG6J6tLl20PU2+CuQUpM+hy5KykQf8EdGU 9Ho3uNCGqSy4vS4Sm9yFEXkFYeOfuooFnn8yP5cH18w0QQY1wCFrqJE/1VjlljqLFBz0 qc+A== X-Forwarded-Encrypted: i=1; AJvYcCXpKGk/lqsli9fCRK4hzWb/atARPqPR0rTCcEcZozTNKV6JOp83+Cyc/geFGIr13eyDY5X/8j3NNQ==@kvack.org X-Gm-Message-State: AOJu0YxNtHWuag96xb+ZWXuXD6WtAKBwnEN9F9+BStgWNo2eIUNbQhWc kKGZAir0HHUNH2xLAhHKgfy3RV/iL535ubo1C1guuZJ7V1aNQzU/PyBbaPm2VOfCnoIRV+W+fpy SZcEJAu/GBkgggWiu0RAQHTdX3H6PbMtQ/ZYWnH+DvzlseQXY X-Gm-Gg: ASbGncuaNHlIj37byWQy5CCAWrkYwy616N1HHHcxjyamUK+NmekIs+Dr75D5b9eX1Rw 2phpab81UGtt8UwoEvrqXKAwWkTjCDmX9Bd76qPS3YjEVUpZ0KqSdoivmPCapVGhZCGO4y/Duom N9Z7pHTgJg7mUPSs0IWUnqjBAG0lztjdlNluKZLg88fbexw9k/RfhATFSRgl6GkWAY8PAuYHRPq GNijNrZ0Pf+W4oSxXvm/Bc7VxCYWLltbFTXMF67RKRMbya7B9UOyAyLppvXLAB4h7CDnyYBnN4F fhlFQ1GQTnu4SIla+QXmlWhQgC4Yxlc= X-Received: by 2002:a05:6214:1310:b0:6d8:9bbe:392d with SMTP id 6a1803df08f44-6e1b217141amr290342816d6.6.1737654040276; Thu, 23 Jan 2025 09:40:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IHp4As9pxJYPHqbJe7dQDEW7PkmFEro8NdCnUdEyw6JKRvfiOBNyNiaILOnexjjY4E1VYRsDQ== X-Received: by 2002:a05:6214:1310:b0:6d8:9bbe:392d with SMTP id 6a1803df08f44-6e1b217141amr290342656d6.6.1737654039996; Thu, 23 Jan 2025 09:40:39 -0800 (PST) Received: from x1n (pool-99-254-114-190.cpe.net.cable.rogers.com. [99.254.114.190]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6e20514ee9bsm694376d6.30.2025.01.23.09.40.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jan 2025 09:40:39 -0800 (PST) Date: Thu, 23 Jan 2025 12:40:36 -0500 From: Peter Xu To: Ryan Roberts Cc: Andrew Morton , Muchun Song , "Liam R. Howlett" , Lorenzo Stoakes , Vlastimil Babka , Jann Horn , Shuah Khan , David Hildenbrand , =?utf-8?Q?Miko=C5=82aj?= Lenczewski , Mark Rutland , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH v1 1/2] mm: Clear uffd-wp PTE/PMD state on mremap() Message-ID: References: <20250107144755.1871363-1-ryan.roberts@arm.com> <20250107144755.1871363-2-ryan.roberts@arm.com> <850479be-000a-45a7-9669-491d4200a988@arm.com> MIME-Version: 1.0 In-Reply-To: <850479be-000a-45a7-9669-491d4200a988@arm.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: WnunY6EpgO9MM9fIrHvjwf_8h-9c7kQT2xZIC1YA8ds_1737654040 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Stat-Signature: ywhie1wruygic9yqcj63o1y9teyph8b7 X-Rspamd-Queue-Id: C49FC40013 X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1737654042-148123 X-HE-Meta: U2FsdGVkX1+DGTribEQ8lSGsXAYbMi2FdZ14+9DyYxOE/CoCxTwiTsy9sb41L7JvjXS7GdQdPBRB6wsTYVZmYMIXk7hIOp7456IrcIt48yKZMDObKLgixRTC4GzwStJkcSYw4Y4h5PnQeJJvRKYR9QRVU9KEb0ZH9ry+g0thdEg+hG0tXf4JjemMAfLlwsgErzUGRvyzXoQhOo6hKlLERkA9/bREikLHGNg1vORsqjuSUQzzDf9ct1aby95G8SHGg+6XpXaD+v78UdelVv9npKNcFEaXSyAb/H6hnCBXhnNcmdMf8lIoyr2iIYz0rqTEsgKbdn/QF40jiRg7rpGq7P+naaXikMudTmiAuwFga0xoUz7o9NLatbXjGThnT7VN9AI9HRW66/fIkjeZuebe1v43V6cPn6iE0BmeOc4mOAK5gKb2i5UvyxdNiggap700DB9aTZCuTz5IruRc1gzkLM+hMGjmI+SOPV6rWGO30kRlcvBCgcdDIzcEPa9ojNDvWYB3w+HaygVYsqPM9KCxhz9+7Ei2yk+4GbEB9AJhBVQ9KzemswfdS0xdTYXZ2cFW2YJ/iL2zmje19xdvnv4IyGuVcamJPvr030HAw7G16R0YlLFyNuio73o8hV0/rY+APZnl3xKMgg5DsotXrAI/WR+67ougL59qeNw2OJ5vBesrgbDoCI5jBm3DxYCQwnSy/XgMvqomr+0de5l7ehtK8vtWE+DRCbRQb4bJ+r5UL9uvcoKMq9OhmMNnnYN3N1bvy11YOst1QpiGMjhGXW2wwzrgfqZ9gNlKx7paPXnqkNvaMA3cVGRRdmfqGghNwlRRPo6WEriBHckxKbAqy8PO4tXZ1oD1zEB6LI3XX3/MyZxL0eeCQYgxk3xDvKWJphgtCrVFHBbX6UbdN46y623KAUasV2a1s7D49P5p/7RS3imMLi61c37cC22vVYPyosvERZqNCJb5EKLVD8Nj6ig 7vmYZfRx jnoaH1af9vdoqkzKadv61ors22HZGhiR1SQbGGDEWaFpPzUAUG7ao671LmkRdXDFAVBIpy/2wz+QXEmavHP6Y9zNW5ZbYOsN4klhZsAcqBUPV+7JJybpoGZQ7ggwr4Rbd9dUgoZJ2VheknKxDjjaI1W1cRMVFvHdCSm+B+pSBH+hZnezD/YFoFMqHm2K14tP+rIro1WaZ7AerQB73oerDK4Sytc/nArtrYOHoVhmwehkg4A0nxUoFpMp+7GnYrA9K9JPgnhnvKgkEzF9aLRB3AO0zz1V1lZjoPQIBSOB3ga8m2ZkJPEqjpT7tmNE1Blp/3+t3/Tx5zw2bY6//jQfmtPNBZhteobiPFXFG6u7HaJE7rdEpqpf44ECoWw== 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: List-Subscribe: List-Unsubscribe: On Thu, Jan 23, 2025 at 02:38:46PM +0000, Ryan Roberts wrote: > > @@ -5470,7 +5471,18 @@ static void move_huge_pte(struct vm_area_struct *vma, unsigned long old_addr, > > spin_lock_nested(src_ptl, SINGLE_DEPTH_NESTING); > > > > pte = huge_ptep_get_and_clear(mm, old_addr, src_pte); > > - set_huge_pte_at(mm, new_addr, dst_pte, pte, sz); > > + > > + if (need_clear_uffd_wp && pte_marker_uffd_wp(pte)) > > + huge_pte_clear(mm, new_addr, dst_pte, sz); > > This is checking if the source huge_pte is a uffd-wp marker and clearing the > destination if so. The destination could have previously held arbitrary valid > mappings, I guess? I think it should be all cleared. I didn't check all mremap paths, but for MREMAP_FIXED at least there should be: if (flags & MREMAP_FIXED) { /* * In mremap_to(). * VMA is moved to dst address, and munmap dst first. * do_munmap will check if dst is sealed. */ ret = do_munmap(mm, new_addr, new_len, uf_unmap_early); if (ret) goto out; } It also doesn't sound right to leave anything in dest range, e.g. if there can be any leftover dest ptes in move_page_tables(), then it means HPAGE_P[MU]D won't work, as they install huge entries directly. For that I do see a hint in the comment too in that path: move_normal_pud(): /* * The destination pud shouldn't be established, free_pgtables() * should have released it. */ if (WARN_ON_ONCE(!pud_none(*new_pud))) return false; PMD path has similar implications. Thanks, -- Peter Xu