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 8DB6DC28B20 for ; Wed, 2 Apr 2025 16:08:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EE76E280009; Wed, 2 Apr 2025 12:08:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E6F1E280001; Wed, 2 Apr 2025 12:08:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CE974280009; Wed, 2 Apr 2025 12:08: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 AC084280001 for ; Wed, 2 Apr 2025 12:08:27 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 550B11CE1AF for ; Wed, 2 Apr 2025 16:08:27 +0000 (UTC) X-FDA: 83289586254.04.4232FD0 Received: from smtp-fw-80007.amazon.com (smtp-fw-80007.amazon.com [99.78.197.218]) by imf13.hostedemail.com (Postfix) with ESMTP id 4F7BD20010 for ; Wed, 2 Apr 2025 16:08:25 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=amazon.com header.s=amazon201209 header.b=ekdSKJib; dmarc=pass (policy=quarantine) header.from=amazon.com; spf=pass (imf13.hostedemail.com: domain of "prvs=1800b2f01=kalyazin@amazon.co.uk" designates 99.78.197.218 as permitted sender) smtp.mailfrom="prvs=1800b2f01=kalyazin@amazon.co.uk" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743610105; a=rsa-sha256; cv=none; b=IZXvVu0DGJGaPTzBayfad2tS5Ykd6vGVtLKacGnRmTWFuB+00aFclp+m9RcKt6dsCi3GDj avKR9pI4sze1mtnrabSetkItKba03MGhfL6dqnkYSEWy35PSC9H+O+ie+9Qpf6D5kU+PVd IeVqVPoGjYUimlkC9OeBlueKH3eIETM= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=amazon.com header.s=amazon201209 header.b=ekdSKJib; dmarc=pass (policy=quarantine) header.from=amazon.com; spf=pass (imf13.hostedemail.com: domain of "prvs=1800b2f01=kalyazin@amazon.co.uk" designates 99.78.197.218 as permitted sender) smtp.mailfrom="prvs=1800b2f01=kalyazin@amazon.co.uk" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743610105; 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=c1vC5PQObwSRnrwFndUeVO1NivEsO2o9+Qe0hvf7HYM=; b=FywtBG8+5k/AqIPUbNf+UsBdWNTJuxIa07kqhxj7V8utl0f7vumMxhDz4ajZm4kSiKkB/L E1h/YZ7b6yAGZJSnHpbM4S5+Hb4A0rouxZDBdELOvLaI8++rFuSzMK4DeIrJGO+6WZSxfh TB/FXz6ELyJUEiiFTHp+VcsYZ4vrgnw= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1743610106; x=1775146106; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=c1vC5PQObwSRnrwFndUeVO1NivEsO2o9+Qe0hvf7HYM=; b=ekdSKJibnez/UBSo4+daWWuc74TiBfeszhGB87sX651g7OpkjiYB8CI0 VFCr+Rnspcb111X4H2UjEJTd3qLFCKNv9isbAJAGYhyxWE36QZ8K7Ynx/ c/kbHd5mWwnkGewTno1MNXvwF8GHd3KasWNokv5j2oz5tvNDkeyR5jZTp k=; X-IronPort-AV: E=Sophos;i="6.15,182,1739836800"; d="scan'208";a="392250945" Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev) ([10.25.36.210]) by smtp-border-fw-80007.pdx80.corp.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2025 16:08:20 +0000 Received: from EX19MTAUWA002.ant.amazon.com [10.0.38.20:33674] by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.3.46:2525] with esmtp (Farcaster) id 8b5e1693-98e0-4752-bfa2-b66a2ae4dca2; Wed, 2 Apr 2025 16:08:19 +0000 (UTC) X-Farcaster-Flow-ID: 8b5e1693-98e0-4752-bfa2-b66a2ae4dca2 Received: from EX19D003UWB004.ant.amazon.com (10.13.138.24) by EX19MTAUWA002.ant.amazon.com (10.250.64.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1544.14; Wed, 2 Apr 2025 16:08:03 +0000 Received: from EX19MTAUWA001.ant.amazon.com (10.250.64.204) by EX19D003UWB004.ant.amazon.com (10.13.138.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1544.14; Wed, 2 Apr 2025 16:08:02 +0000 Received: from email-imr-corp-prod-iad-1box-1a-9bbde7a3.us-east-1.amazon.com (10.25.36.214) by mail-relay.amazon.com (10.250.64.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1544.14 via Frontend Transport; Wed, 2 Apr 2025 16:08:02 +0000 Received: from dev-dsk-kalyazin-1a-a12e27e2.eu-west-1.amazon.com (dev-dsk-kalyazin-1a-a12e27e2.eu-west-1.amazon.com [172.19.103.116]) by email-imr-corp-prod-iad-1box-1a-9bbde7a3.us-east-1.amazon.com (Postfix) with ESMTPS id 84EFE42240; Wed, 2 Apr 2025 16:08:00 +0000 (UTC) From: Nikita Kalyazin To: , , CC: , , , , , , , , , , , , , , , , Subject: [PATCH v2 3/5] mm: userfaultfd: allow to register continue for guest_memfd Date: Wed, 2 Apr 2025 16:07:19 +0000 Message-ID: <20250402160721.97596-4-kalyazin@amazon.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250402160721.97596-1-kalyazin@amazon.com> References: <20250402160721.97596-1-kalyazin@amazon.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4F7BD20010 X-Stat-Signature: 91516x7tf69uyypzctomzmzdwznjxzks X-Rspam-User: X-HE-Tag: 1743610105-703405 X-HE-Meta: U2FsdGVkX1+Lt7y9VW+hc4CGu2Qpb9pfMu5gnYd6M+3KQmJRButQ9VnqfyAkBzxiwbhA/uftqY7TGsZtgKY0KXeK7ZFyNbAWkAjeyB+k9OKRuCie6580fXi4GSR24D9X4peRZA78LImsFF4xw3yWBpy7/7Viz/Di+E2ixDl76JDlUKpULsXNA0jboQgv1bxGRcxu+UM1QM2Np9AyU58KeLyr5+VldOnW9VizoQJ9sWfhnkfSmwBNFEywA0F2P7DjpEpZWjbSssEnf6uTwbxcqB0oew+YqBExV43MvYGSNEKiYrjMd5hPHtX3EPSbGrtmm5kde7zVqfngE2UZYpQkDZUb4RqjfXgiNQHdMu14X8kCRy3pzS0N/U4fXDU0GpuW/cqJNMtvCuuNHVGxo0eV7vvz6Sw05Vbo2XkQSq9k3u3ZS38VSLbR6wflGWVVcu68ON1ctEvQ7azc9GKTs/b7OTkMX+BX4PPZ2ug9vyB0oYy4pfPDvB5U8xDX9TW3dBOX/XLL+M8gFj0bx3kMObRcZtHQ1Qh6kdrqv1y7CW/Qoa2ddZl264c758tSLwqqIgy02NySeICGV+9nx5GmWDDQmyW2h3PZsFjjeMiGfm5P/8/9/qdQgtvSriw+poc5UIwSQfxhsC9WWXbKm6YGv5u5xwLh4AubYNrHWgEUYOxbUur0PI8h3HqHSoks1SU78tR3UVA1M12kVD5oUgf5Bih4eRRb0i6tBT2vT2XUJ+9C/yDNuhdbHlvOmy091rNFazEh0BxOKAUqNWlW25Moj8qfNu+waO/vAo8vWZBkKpMyjNWxVqvYaF3X4FHQF7LAhBswcd2wo9Rq0GI1oy7RzWXq7+d4STt3FHAM8PrLUViRfwC4ygi0SLD8c0A38fukYLA9MX5FLgbpQ8cpVRAGuI5U+mGrIO9ZXThS4ARyU50pjZ+pm3OJurfX0WtDte0BSGP+6Rha6XNs1Y327DnaT1m G1tMSGrq 5lvRyCDZgDKY5mVOMYn38DkQLowpE16JTETWLnmEz9KTle8kPdfASOyNU5FABXFnbV1GnZEwJxXksMFbQPSnp2T0V1+C/M5VgtyQcO07kiwYkRi2IljLBJCmQV/u9d9JL9/aDsHzniMu8O3/rr2A3bZXo7otRE3aBJ8KmdOXv0OckQr2Yr7QuL1v8C4HPVlUF0Lo5tz9TH8YJCOEDmCkq0+kQm8/1xN0wB8usy0EtvdVIFgqAT1discge+ZRE3TROsYlHNFvs5pxv73d9vByB4S159XOVrLeJBH6LCaHirN8rzuaRcrquyDqmGnu2j+aISvddQUYLg1ArqQAiK/3JwEaLo0xJlUaywkKFyrorgRSQwiC01T9F21WSaCqc7QwVKqFK+ViE1KWsUm4Pkp5tgjmB5zSnrlzxylxFqj8B8VZCtNzEaGbug/AkpRhyPmlc4+hEdvl4mM+FCL0X+8KmsiUjhzVd0FzBMY5Gy65R4MSuSVDR9c5Zr4zZ+9GqMcQof42+AKmPzu19Rs70aJcyxHD19Jzbh2Npb4NZK+wlYlspSac= 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: Signed-off-by: Nikita Kalyazin --- include/linux/userfaultfd_k.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/include/linux/userfaultfd_k.h b/include/linux/userfaultfd_k.h index 75342022d144..bc184edfbb85 100644 --- a/include/linux/userfaultfd_k.h +++ b/include/linux/userfaultfd_k.h @@ -212,6 +212,10 @@ static inline bool userfaultfd_armed(struct vm_area_struct *vma) return vma->vm_flags & __VM_UFFD_FLAGS; } +#ifdef CONFIG_KVM_PRIVATE_MEM +bool kvm_gmem_vma_is_gmem(struct vm_area_struct *vma); +#endif + static inline bool vma_can_userfault(struct vm_area_struct *vma, unsigned long vm_flags, bool wp_async) @@ -222,7 +226,11 @@ static inline bool vma_can_userfault(struct vm_area_struct *vma, return false; if ((vm_flags & VM_UFFD_MINOR) && - (!is_vm_hugetlb_page(vma) && !vma_is_shmem(vma))) + (!is_vm_hugetlb_page(vma) && !vma_is_shmem(vma)) +#ifdef CONFIG_KVM_PRIVATE_MEM + && !kvm_gmem_vma_is_gmem(vma) +#endif + ) return false; /* @@ -244,6 +252,9 @@ static inline bool vma_can_userfault(struct vm_area_struct *vma, /* By default, allow any of anon|shmem|hugetlb */ return vma_is_anonymous(vma) || is_vm_hugetlb_page(vma) || +#ifdef CONFIG_KVM_PRIVATE_MEM + kvm_gmem_vma_is_gmem(vma) || +#endif vma_is_shmem(vma); } -- 2.47.1