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 87CABC3ABD8 for ; Tue, 13 May 2025 15:32:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 82EB16B00C9; Tue, 13 May 2025 11:32:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DE936B00D0; Tue, 13 May 2025 11:32:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 632AE6B00D1; Tue, 13 May 2025 11:32:27 -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 4322C6B00C9 for ; Tue, 13 May 2025 11:32:27 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 844C5BE64D for ; Tue, 13 May 2025 15:32:27 +0000 (UTC) X-FDA: 83438276334.29.624634B Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by imf25.hostedemail.com (Postfix) with ESMTP id AF624A000F for ; Tue, 13 May 2025 15:32:25 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="dj/Z+l/Q"; spf=pass (imf25.hostedemail.com: domain of surenb@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747150345; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=g7GIEqlT6VpngqlG/9UDc8Z0jwZJiLiyfG5vtoML09U=; b=mhXgTqQ2GBwivmOpOGaqeVONdC5dhULMF24GE8noGneLjeROQwrXvN5wlWTlZK5odTHxgA BcaZW5qmd3WuxtESNuHjUiqqD8UALdGmoEmmIaratREbtmB8uZeXP/WbdUd8mZW+2pkDsH hX7lMQHufQPcqaOgx+v+FPjjY6TPqZQ= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="dj/Z+l/Q"; spf=pass (imf25.hostedemail.com: domain of surenb@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747150345; a=rsa-sha256; cv=none; b=zAO5xtYOsZN6XwIokyR5bGJBDqCW05Rj9QtSN9LUL1iA6wm5ssC8UL9YIPsdw1ZloAKF5R mmIHjN/nH9tVX4o3FUwjzlZoK9mpykA/IvAW1we//LPp0ZmRIe4SbQT8dDVB7qvHfeU6MH lKk9ThgdFeRHaxkr7PjoLaRfjvKM+qg= Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-47e9fea29easo375321cf.1 for ; Tue, 13 May 2025 08:32:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1747150345; x=1747755145; darn=kvack.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=g7GIEqlT6VpngqlG/9UDc8Z0jwZJiLiyfG5vtoML09U=; b=dj/Z+l/QjFDldtaDizm0ZBgs5xN6feY46c9ahlcd4lVfqc7tFY3A3BMg4XmZJT4/IL fUjJOry/r03GuOenNfOwNetz6zQ4tle5JCwuPK1TFpZszNMiyyL/2oGtzic+4cTW8M7p 6ahkKl2VENm0GC8DR3FPs3yp0Ud7SzGNPsBYlHF1AXop+80OeExFaoYc+uU6NdZXpkPk /dUP5h1p3RiP5XZ05n+Na+V4KF1SRlBTsWlqtP/PoJOS8wxGS+MMsne6ouQYHAzngyx2 P1jpTgsImbKQg8md07+HsRB2OoL0Xk87yChj1dfF2bQbQ53pYc6t0RpiRzwB1089Kzn/ /4vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747150345; x=1747755145; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=g7GIEqlT6VpngqlG/9UDc8Z0jwZJiLiyfG5vtoML09U=; b=XnGYfW89jzmThr2/cEJdVVRLMAFXZpds8Imme42q2gTMBy0oBYiHib7FpN5dL7Rh1o EwOomPzLFb6FZ3QayaPTSD0xY2CmfDx9yvcyZhgjxMCQ0ja5idg0wQYpLvkG0reBH/66 HKNmbowkXOJ8VRzfUP74lRV2/EaQz6Bi8pG8uKw+ABJTXQ+fjK2jykVM7f8FZhTUprcI xFVJImIKWZ03Jw0QpzBMahF+KrUAkVrCweUAZJxWaRbjtd2IBOqyaegiCXBuG9HBgXv2 OvrfbS3nKvilA46gfGJIsqF2BMHCNaOiIS15GQUC9y23ZsWG4XaGMPvT+6RaCnfzeWDl TQVg== X-Forwarded-Encrypted: i=1; AJvYcCUlmV+FMKxS7NuKW7AgSbTj1lYpwnH+gielpkeunIzAPw8I4lScaypDHqG4S+4mrmiyTDDGOzpJzw==@kvack.org X-Gm-Message-State: AOJu0Yy1yKxbnwV0bF0j//OfvOMVj/kQ639uwOTeXG2+K+w6jEI1mWtm OH93//Qc5TqK111HdVUhIBnETUt58RJzc85v7vGgGsM2p7sg+rET78YNED6l4mN0octBEvBRci1 bKC7FUsYVjqmqrrNWpx1ZkuBocZCWiJxX6pZNiZyO X-Gm-Gg: ASbGncvn9ut6PKtRkS/pAN+dsxoopeTJ+/X+wHbVq4Sp/TX2dLyAW9IaGGkSpbNREBm LfFg6adS2pXwkAHSKaekPRmrHwtQBfvpSXenmSB4LIULya8nRQbFVZA2TUXXg+Zo1YoKsn8hPJ1 XRbebmK5dXueYJPCM5C+b8gtA3DIJAmDWrPuBHXZihMDhIB5pakBUk8bz2eLuS X-Google-Smtp-Source: AGHT+IGaQOJh2WGLgdgVaUkWCSRwxWI0zOQtCZRpqIPwC1f/xENNQg6z8FkZS2+QDmtcgov4WAX0uJ0FkCBKDw2bCo0= X-Received: by 2002:ac8:5d93:0:b0:494:58a3:d3e6 with SMTP id d75a77b69052e-494880c8030mr4064571cf.26.1747150344392; Tue, 13 May 2025 08:32:24 -0700 (PDT) MIME-Version: 1.0 References: <0f758474fa6a30197bdf25ba62f898a69d84eef3.1746792520.git.lorenzo.stoakes@oracle.com> In-Reply-To: From: Suren Baghdasaryan Date: Tue, 13 May 2025 08:32:11 -0700 X-Gm-Features: AX0GCFuKZoSDkdrM5SwPBVnmxK9uYRCIyU-gKUoqlLzfyT7RC4ZlWav-ftNZMDo Message-ID: Subject: Re: [PATCH v2 2/3] mm: secretmem: convert to .mmap_prepare() hook To: "Liam R. Howlett" , Lorenzo Stoakes , Andrew Morton , David Hildenbrand , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Alexander Viro , Christian Brauner , Jan Kara , Matthew Wilcox Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam10 X-Stat-Signature: jxrctbui8e1f7r74zaxsgeeugcagrjih X-Rspamd-Queue-Id: AF624A000F X-Rspam-User: X-HE-Tag: 1747150345-109413 X-HE-Meta: U2FsdGVkX1+lHvm9ybVHXwYLvBQ9+rN/6G8JtdJdxMvMdYdKpuPOuHhjzaT2+5ba4qlgbcJgSMoo+pcVyqGNBPfCyyiImvMa1Iu7a25EJC2MdO1adhOhNT1C1R/n8vOfGHjAEWjYeWSvYcs2q5G2bcCdU+KrEsTzsCY5BQmVZC4npRfkRffBp4JPTG7hkRVSyVKeu9zXW//uhm6L85acn4UxLhOoAbHpktqgwbjg01lske6IwnbcSMK+qQIqqmxDo00KI87kuVJ5/czOhwFSr+fKNdGDU/VQdTPZZ+m3YQsEju3srS17Btg0Fc5WHG0todbB3keqtDc3c6zf66z/I5EQRSMGQ/RsSuZjlkikF1WsiqPoFTNpIP2z7pUiVxQ/ob5wfius9cJj5bwPtFZ8416Za3oqE6dyPGaak8hp86dcs2jB68Dpt6RdoTkH3W5loUOPOlUlJxbMRBoQJRCPfMQIKgrNiV6+To1jzO/lf+ScG3QtT6lH8h8F55DIGlK4w/73JPEBzGZrXrItmfukX/lpwF1NetW4KgfN+VSE/3zCcfsKXE+Bs/Fw4SZ/gcBzqD0uTeo1sUIGY3XNQ9LxaVSVo3NIq0ybhfjjIeYoClPTpwLR15bu0WtBYWXV7WINbY7gr1MiyhFVpI7pcJ8Esqb0RxO1CMDI+p8w21sEas4w62DAokG3h6SQGE07qZ7TV7WpOFbINUVFIVgbPo4+FOSXckB5uw63FkTx9xZa1jbVpiANWk2m6fvjGYHT8HZWpjikLRcXrkaUSKstTQo0ZafNEZ28LyK+zvbVvrkF3FqHIzMug71BU2Ip6du1XrURlo/7KuTutD8uNDZ4O8V27OwGY618IGaTyMJ8dda3TU0uN6exjQhw5B19AlV7HNsg1s2O+hKwCGtydF5Th4dM3TWaFf1rB6RuPOW/jvq1E8ilEEkm4rMKgWnpbp0TV6YAUMPrIxbQqjd+HRBHInO r6Yj+YAS +qlyz0Gv4VpUqR4Kyzk30h2HG0+mPkV81shIgVmY4VB+ABk+ZAEpJOy2vERCSQsGDNKjJQ2gHGB8TndBIv/SVCsyraDS9NnscgXVDwYhDtXWHeEDBasxLn+5UkLK+LZM9iINrfeyhsG0ZBNRq35tXTgCeiR4k7+j4n5FerPbUOCy7PvpBToD6IBDl+vUtwgyj4AGIdcWwpp0Tr1c0prhNiZnGk8HBlj1QpQLxiJYiQBn9pj//7gTN8QVNUkdNczMNaUQF7uSY+TGL92mNVgT7G7T+zDIkM4MHQj3s/WF/b28EGKiAY9h4vddxzRzX9H7dOx9DNJCgIiOuyZI= 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 Tue, May 13, 2025 at 6:23=E2=80=AFAM Liam R. Howlett wrote: > > * Lorenzo Stoakes [250509 08:14]: > > Secretmem has a simple .mmap() hook which is easily converted to the ne= w > > .mmap_prepare() callback. > > > > Importantly, it's a rare instance of an driver that manipulates a VMA w= hich > > is mergeable (that is, not a VM_SPECIAL mapping) while also adjusting V= MA > > flags which may adjust mergeability, meaning the retry merge logic migh= t > > impact whether or not the VMA is merged. > > > > By using .mmap_prepare() there's no longer any need to retry the merge > > later as we can simply set the correct flags from the start. > > > > This change therefore allows us to remove the retry merge logic in a > > subsequent commit. > > > > Signed-off-by: Lorenzo Stoakes > > Acked-by: Mike Rapoport (Microsoft) > > Reviewed-by: David Hildenbrand > > Reviewed-by: Liam R. Howlett Reviewed-by: Suren Baghdasaryan > > > --- > > mm/secretmem.c | 14 +++++++------- > > 1 file changed, 7 insertions(+), 7 deletions(-) > > > > diff --git a/mm/secretmem.c b/mm/secretmem.c > > index 1b0a214ee558..589b26c2d553 100644 > > --- a/mm/secretmem.c > > +++ b/mm/secretmem.c > > @@ -120,18 +120,18 @@ static int secretmem_release(struct inode *inode,= struct file *file) > > return 0; > > } > > > > -static int secretmem_mmap(struct file *file, struct vm_area_struct *vm= a) > > +static int secretmem_mmap_prepare(struct vm_area_desc *desc) > > { > > - unsigned long len =3D vma->vm_end - vma->vm_start; > > + const unsigned long len =3D desc->end - desc->start; > > > > - if ((vma->vm_flags & (VM_SHARED | VM_MAYSHARE)) =3D=3D 0) > > + if ((desc->vm_flags & (VM_SHARED | VM_MAYSHARE)) =3D=3D 0) > > return -EINVAL; > > > > - if (!mlock_future_ok(vma->vm_mm, vma->vm_flags | VM_LOCKED, len)) > > + if (!mlock_future_ok(desc->mm, desc->vm_flags | VM_LOCKED, len)) > > return -EAGAIN; > > > > - vm_flags_set(vma, VM_LOCKED | VM_DONTDUMP); > > - vma->vm_ops =3D &secretmem_vm_ops; > > + desc->vm_flags |=3D VM_LOCKED | VM_DONTDUMP; > > + desc->vm_ops =3D &secretmem_vm_ops; > > > > return 0; > > } > > @@ -143,7 +143,7 @@ bool vma_is_secretmem(struct vm_area_struct *vma) > > > > static const struct file_operations secretmem_fops =3D { > > .release =3D secretmem_release, > > - .mmap =3D secretmem_mmap, > > + .mmap_prepare =3D secretmem_mmap_prepare, > > }; > > > > static int secretmem_migrate_folio(struct address_space *mapping, > > -- > > 2.49.0 > >