From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 1E01780726 for ; Wed, 14 Oct 2026 17:15:22 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69EHE6pE001418; Wed, 14 Oct 2026 20:14:06 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69EHE6pE001418 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="f9bejRA1" Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69EHE49m001407 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 14 Oct 2026 20:14:04 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69EHE49m001407 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4a009f82bedso36849825e9.0 for ; Wed, 14 Oct 2026 10:14:04 -0700 (PDT) X-Gm-Message-State: AFq9FYKsbE8x67TP34ZaVts98Vo/68T4tZaZGfqp4RHOqG2CTmbqnrtx tuzIuoNeL1zNIW0mlMC7IIDkBQ+yZ9G/6U41F66BygSX3j+VhmnOvvDCZj2nj+nt9EJC8PmKTmq qU2XxdWTo8UxG3zpVezvxlH6HHO0XBcif6kfAx5RLqU5ldDbY6Eh+kA== X-Gm-Gg: AYBFou2WR5N8a4+/Ksy8Lcra57GCzIhatB+dnOLb6eGRtvPq10lhFoD8rDz0UuHuGRT VNe3oCYRupU4Cm13GV7cZdvzbwbrDJIXLI4qJGOhZAa8rixAymh6+S8t5FZtsLjcBLtdPYoRakM 5hsRk+kMHakX1R57ZIeyUUbKFvUp3kNklsf60w7XaCrYUw/+UAtnIXYRBiBNpwQQ5w9HPRkgJRt d11uV74XbND3xVuPYOdA3DE+d2CwumvnmnTqjQd7yWkRD0ZZ6xhp+ESxNWTknMCbs98Lt3Z6yt1 3JSUi86Yd80HVER/sN/KsxrvRZC4hQJy9/jh743OrNJV9vpJY1duWhLdXtlONspviZoDMBAMzQb 33jrzo2b3qFWX+Gmjyw== X-Received: by 2002:a05:600c:3494:b0:49c:fa20:cc00 with SMTP id 5b1f17b1804b1-4a18e4c3f24mr361340455e9.23.1791998043848; Wed, 14 Oct 2026 10:14:03 -0700 (PDT) X-Received: by 2002:a05:600c:3494:b0:49c:fa20:cc00 with SMTP id 5b1f17b1804b1-4a18e4c3f24mr361339725e9.23.1791998043333; Wed, 14 Oct 2026 10:14:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1791998043; cv=none; d=google.com; s=arc-20260327; b=N/IouTDpdlU8YvdTBQjn86h/skl53v1DneymCUAHMBTONyjRb2ow5PDsg92YUZ2kPO rkgv7GdP9JqtqkOXbh54l+rHrte/5LvGQtWJto5PCNOXe5YoqYTHXut3rwIU6dZBGK0w Tk3LsNhZ2iPxRMfWgp8xaEbJGpB3C/aLCM67MvNL/Hyl+f51ZPx2EfBJqC29GK8YN/u4 070fzC/4DzBDFuk8vTi5+5aNkeLoMJXWCdoyDKIXaSpPqnhAsA/okbzKQTNfPudG232B ZxcSCxDQwJV2KevIKMj2hqzGas6zyZg8p1PLds8jpuUkpAWXxvNm/AFlXDOYu8CRLjgG sb0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:dkim-signature; bh=lSyVS8QKpPHKPuGPPl+IWDQ3X1Puo5p8lelef2a9z/g=; fh=M6ezeNk/y3cbOR/650/dsAq5I930+aQ0BOhwDOlCl24=; b=jD3z8Hgl1NAAZiV5uDwL64i7sbPNfliNB2eHukz/FhA1AswythTskzeXrZkrgL8B57 bDWxxQOxFKsuEnWpx68wiraw+0buszkNurdBD1Y5p5H0zHfeVDfp7hjyVnudo+uCfdWF oKnSr0W93/LBXkYeXjG+hhyBOLpuNz+UNghA9W5NHw9FyQFHOiKQdjfuOFXIHiVLHER2 tCAofGIhbZ2Cu4FTO0eiJCLHcG3BFBc+Q4LYfj4UJrCRcUf88FiRvop6Kr8okeXo2gV9 l9tuu2HwgNSXiSA7iNT+qL4uOMGIZYRITmtZYebL57bOo5UqrHVB8LZHkOZA4t4qaX1k eAFw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=f9bejRA1; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id 5b1f17b1804b1-4a1bd9b8192si4275785e9.11.2026.10.14.10.14.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2026 10:14:03 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=f9bejRA1; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Content-Type:MIME-Version:Message-Id:Date:Subject :From; bh=lSyVS8QKpPHKPuGPPl+IWDQ3X1Puo5p8lelef2a9z/g=; b=f9bejRA1fWafZJaYiGL 2JvXOf0xGzYHABg4cEA9FTamHduOq0h99NG/AqOAEkmQVH0Kh8dBmCrxYsZvykFTkaf+1v9RVQpQG 0A+YhjkDv8OyE1KJ0sLIZi2dXAYQWU2ecXPm9i3c4jq/+B5f215VdvFxDMml1XJJcziZV3dUUryH2 GdsrzglGxT+3QyN6XS/L+8zOiq658VVwAZgAc9KKrL2dc9qMaqQorYBCDkiJWp7vV5wlJveJrxqPL nuQih0xtV429pZ1XYYo2Mke3VsrT42Kbb0dtQ7z4qUGVNi4g1gil6uQYJIKzUL4DxG0TVqgzoODo4 gsJu51hU4ezTLPA==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=f0.sw.ru) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1xH2Un-0084t6-2r; Wed, 14 Oct 2026 19:14:02 +0200 From: Konstantin Khorenko Date: Wed, 14 Oct 2026 19:13:59 +0200 Message-Id: <20261014-b4-prep-khorenko-vstor-103860-4-doexec-vfio-bars-v1-0-7be6c4d68114@virtuozzo.com> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAFe4z2oC/z3NQQ6CMBAF0KuYrh1poSnoJUzUuDEu2jLYiqGkR UJCuLutRJd/5s+8mQT0FgM5bGbicbTBui4Gtt0QbWT3QLB1zCSnuWCUcVAceo89tMZ57FoHYxi cB0aLSlDgUDucUMPYWAdK+gC0zFEoKpqcFyS+jdeNnb7kjRhtodoxcl8X4a2eqIcEpqqSAUF52 WmTRopnic7+9PV8OZ6A8X3FSyh+tPNSvxBWZFk+hWGUBOMAAAA= X-Change-ID: 20261014-b4-prep-khorenko-vstor-103860-4-doexec-vfio-bars-072e6b06f243 To: Andrey Drobyshev , Vasileios Almpanis , Pavel Tikhomirov X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2126; i=khorenko@virtuozzo.com; h=from:subject:message-id; bh=jUwVu0zCJcXXoR6WgQFfvIhktwFm/iFng8QwtSKSDiA=; b=owEBbQKS/ZANAwAKAVGWCkf5YVwqAcsmYgBqz7hZcB4EffQUrmRgsiJ62kW8qPHLwfn4zt34J qTxzA2ym+CJAjMEAAEKAB0WIQRWD23IPcXT0GO9CCxRlgpH+WFcKgUCas+4WQAKCRBRlgpH+WFc KvnlD/sHPul8thc6B2oSV9R+YZnH8pklKYoPEsClXsKNFX90E1P+2iPsfNYbrTftsZqdRYrFTwb rlqXLguk64vampUlCnUJ20DVJIQPiMIbRks/4csjm59HbU2PzgzMn5AaRuNBfXQCOvMOUXQEksb UPgm6wxc3ea8AWJcyjz4C12zJYalhnjDwatWJ+aQ+WrhyWKaHCiHmyWeV/2Bp+OuH+HlsO3b+Fj qxzlRD20GheAMTZkt5OaJRLnnWpRCHhH2rOqFri6Lb1pzt58NuxlJDRqzF1QELfznWA8wYsJtFh whq5f8kqn0f59Ebff1GCgPe9rh1FlBiZ2uSDvJ/uadd4grO2zi2IAukTWqEEom/Aac4wGt90rg/ /Ttlyt+aTvbievP89R2rL0JPTCuspVD6anDDruBnxn0Uh0uZQDJZdYgga/y7LEfoIODJRa2v7Kg si8ttwFjv3cQItZl8iU7sfBquULzQnhMqkztPczH/GPNDD1B+W8vt3UKHd1pNkQfp4EHIo1vGSK 2UJWJaYTdy1ACA6d8r/EeGnhfeXpW7w5T41zqHXgd/8ifJGKK3hbdgx5wUjJBar8n+hJYdZ0KM5 3RgEv6N3ARIRmig+dJec0hTufxIGFsMQ+mcBYV+PlptNEL5nvodXbPEBIFh7Mivg/GRJ7EKfF60 5X2AUV3kk/jS+0w== X-Developer-Key: i=khorenko@virtuozzo.com; a=openpgp; fpr=560F6DC83DC5D3D063BD082C51960A47F9615C2A X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 0/2] mm: allow MADV_DOEXEC on VFIO BAR mappings X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org VSTOR-103860: keep the VFIO BAR mappings of a QEMU process across a live-update exec, so the device keeps its MMIO mappings without a re-mmap. Applies on top of "mm, exec: fix the MADV_DOEXEC code we carry from Oracle" and needs patch 1 of "mm, binfmt_elf: two fixes also posted to mainline" (the copy_huge_pmd() recheck), because every live-update exec now copies the BAR's huge PMDs. The latter is posted as http://lore.virtuozzo.com/20261014-b4-prep-khorenko-vstor-149847-1-upstream-fixes-v1-0-7fde9ffbebe9@virtuozzo.com Patch 1 (Andrey, reworked) admits shared PFN mappings to MADV_DOEXEC only for VFIO device files, checked with vfio_file_is_valid() through symbol_get() as KVM does; other PFN maps (perf ring buffers, Xen privcmd, /dev/mem) stay refused, as they would underflow pinned_vm or free their memtype twice. The copy takes a file reference, keeps PAT tracking, and write-locks the source VMA. Patch 2 is the selftest: a real VFIO device bound to vfio-pci (the DOEXEC_VFIO_DEVICE variable names it), plus the refused cases. Tested on a KVM guest with the guest's QXL device bound to vfio-pci in no-IOMMU mode, release and debug kernels. Out-of-tree VFIO drivers (NVIDIA vGPU, mdev or SR-IOV variants) are admitted by the same check but were not verified; see the ticket. https://virtuozzo.atlassian.net/browse/VSTOR-150233 --- Andrey Drobyshev (1): mm: allow MADV_DOEXEC on shared PFN mappings of device memory Konstantin Khorenko (1): selftests/mm: check MADV_DOEXEC on VFIO BARs and other PFN mappings include/linux/mm.h | 12 ++- mm/madvise.c | 30 ++++++-- mm/memory.c | 2 +- mm/mmap.c | 53 ++++++++++---- tools/testing/selftests/mm/doexec.c | 141 +++++++++++++++++++++++++++++++++++- 5 files changed, 213 insertions(+), 25 deletions(-) --- base-commit: 5e71073f26ce94dbc9e38e7b65920a46a8c431da change-id: 20261014-b4-prep-khorenko-vstor-103860-4-doexec-vfio-bars-072e6b06f243 Best regards, -- Konstantin Khorenko _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel