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 914F780A50 for ; Wed, 14 Oct 2026 17:14:05 +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 69EHClHf001367; Wed, 14 Oct 2026 20:12:48 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69EHClHf001367 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="ewOR9yt4" Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69EHCUve001307 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 14 Oct 2026 20:12:30 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69EHCUve001307 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-48c6a1d4034so3900196f8f.0 for ; Wed, 14 Oct 2026 10:12:30 -0700 (PDT) X-Gm-Message-State: AFq9FYL/6uAVJkIy+ttPt6TZISJwVYDkjsw5NhkzwwcEyw7PPOPYrBGr Tj/luBDgD2HA2beF/2mE95byel6c60inERNDtKsMUvQYyttmb3ZMaAAZ0/ZX3RVi1qmNlPeAqHG lIILwiFN3sG/woSQyk0lDnCSpuS23AXsoTnqWf8vAQA/wbAfnR00WEQ== X-Gm-Gg: AYBFou1QSTBn/O93JXJ6vieqnjXmMiwBdCJJo/bSbw1MgftJ/O40XBKG6mUg5Y8yuHY qV4Hrs/VB3Hx5+q9j4+Lm6Qz3MRIo+MIDZoBQQxx4r817sEYswA+oiLTntHr9J7f+gjKHavlOMG R/5nB72k3u/PEwQaxtw3n7OOsGq//PkAp0EkDJNoKyz/u4uMHDWn5AivRlTlUer33SE3PFoSStj knnV4SuwQTurbxnSDgk1mb86yYpf3i2eSa3JaAL2qdSyv6H5pAflIjNT3wTyfIzUiI/bIg/Uk/D Dcn+PQ2m5cSnSa/sNNa3lJ9MvMPcDz7FnPRb1rjP9vB8rb4er1+eCsGgeRcb27iB0TsulgsSuO3 NpEOvvh174ILNksdmPw== X-Received: by 2002:a05:6000:2212:b0:488:84ba:ae2e with SMTP id ffacd0b85a97d-48dba6f54ccmr31923906f8f.0.1791997949937; Wed, 14 Oct 2026 10:12:29 -0700 (PDT) X-Received: by 2002:a05:6000:2212:b0:488:84ba:ae2e with SMTP id ffacd0b85a97d-48dba6f54ccmr31923849f8f.0.1791997949361; Wed, 14 Oct 2026 10:12:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1791997949; cv=none; d=google.com; s=arc-20260327; b=XuLU5gMLl8uMave0I2CDoHK0pkYXPUvaEA0F0prEutbd4GSF2qIOZGRSOwUfPWV1EG lbVfvM0RoU6jjzDWwdSZQ0IUMgfHDIyqHWz36NTNHEwrvsqN+1n3KJ1XWWrsn/Cu0XjS AEdTWmjvzQtSB7rZasBD+JwW9ThqxaJjKHf4rckpQZDhCCqZ0QJbuk6bsXUOYqlfYPA3 GSVdYn1XPjhkOgOrJ4c+kCJxB4//q/XGk5VdoMSUpYMEx5DoOa0/W/mo+hkjCu5OSl3E vNpJMMbqegq5u7gbDZncsVtJnLBV5X9/G/qnLbOFPqSFaW+uiJVx7P22Mo2wbjDBdCV5 GOEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:dkim-signature; bh=sewBXjICYr1iDFYYBg8GwvxkZs+T+TSwPQuoy5Bj55E=; fh=xUcS46XhSaUOWFT7CPWNuABJ4EJ7/+S5u4N+e+rlWN4=; b=NyDSTxz0bYz7wDsom7PoHfD/SS61hwS0LgFQd6m+uAGvpFzrOCKA7eDywJ7KBspJhX e9/AmIIJKcvg0hqiiGkyUoRKN9ivxIlijYJjX7fYLDx0I12+FKpBH7y/2et5zUlnjy8c fL4thNdU9P02x7ijl8aIs/7RQYRXVssNVmplDISiq+n5CrxSPa5GvYIX7mR8NOz+VGsc 2an8Y/eKlsTc+6M9o2OHPICIfIPW6XAA1Q8KLvcwb6O5Bg6rAXGjmt1YcOBxaCc1ZbKr C2+6sprYfivmysRPJyQblfSAkPw7lvB6DkJIxKnkvW7JTss+ttQuPzu3pOmskjqaYVTx aKBQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=ewOR9yt4; 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 ffacd0b85a97d-48de0ac8282si13029342f8f.126.2026.10.14.10.12.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2026 10:12:29 -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=ewOR9yt4; 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=Message-Id:Content-Type:MIME-Version:Subject:Date :From; bh=sewBXjICYr1iDFYYBg8GwvxkZs+T+TSwPQuoy5Bj55E=; b=ewOR9yt4efS11r+BIz3 PxP0B1RwS2S6EB3T8FILFLvTZ+9LOZZR3msOsPHSnCxxJPCWu34oeuYXnnczOs14dvZ4UFVOKxzo1 agaK4dtIolL/izB+/1r1hVg7WN2CGmEk4dK13hOW7ST5G67++3c0EOVFUYQMDaVOqsT9Kr155IFWK YgVriSByG9FZSa+u3/9SQ0hNDEoDyCAjEXyPbNpQ8u+N1+NpjPXNAJtj25DJF6BBXU4fAzQfm0TFQ 2mrDlKREBKmccOYZopbz2Qnk0hlGVcRoiC4eSSWZXWw4SGfy1+okUWNpQJ/hNpS/FIn+TRxTjMyjT 0ru98E4UGMPamYg==; 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 1xH2TH-0082VK-2z; Wed, 14 Oct 2026 19:12:28 +0200 From: Konstantin Khorenko Date: Wed, 14 Oct 2026 19:12:21 +0200 MIME-Version: 1.0 Message-Id: <20261014-b4-prep-khorenko-vstor-149847-3-doexec-oracle-fixes-v1-2-e34cbe0d1440@virtuozzo.com> References: <20261014-b4-prep-khorenko-vstor-149847-3-doexec-oracle-fixes-v1-0-e34cbe0d1440@virtuozzo.com> In-Reply-To: <20261014-b4-prep-khorenko-vstor-149847-3-doexec-oracle-fixes-v1-0-e34cbe0d1440@virtuozzo.com> To: Pavel Tikhomirov , Andrey Drobyshev , Vasileios Almpanis X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1880; i=khorenko@virtuozzo.com; h=from:subject:message-id; bh=NpKmwNsp6HccpkLKtISshC8Er1Sg7xExST391iaHNkk=; b=owEBbQKS/ZANAwAKAVGWCkf5YVwqAcsmYgBqz7f5YD+a2N7fh86ytZKI8soD0/O6gU5BhLY79 wdMmnVXaMyJAjMEAAEKAB0WIQRWD23IPcXT0GO9CCxRlgpH+WFcKgUCas+3+QAKCRBRlgpH+WFc KhFuD/9WKf1+vbwNU31jwSJIjM3pAJAMJxD9KAMkUFG7JEd43dz5W8JvikWsRD+3wNkbCAmP10f 1PPKGAyr51vjqtW3mo570OdcoqnNGhRKoZcPo4wz0GqiP4Re4/jTgo1jb1qZUSBOIBZABPLEoqO p8WbEMVrj+2bnerV7K2lgGhBxndWwkqcpkUBBSy7baw+0fl/vigNXLSCtX5xGJXXfaWjZ7mUX/7 A9RjqsCL1h/vXdfJgA1nBKBGdlJg0o4GY5zrSsNi7upb+6Iozowmwvg05NhdE7FBRSajtaijTmd RPHbtrI0IR6EIv7b7RoXX4VI4PWrARsxyYUypfqiCyZlt+/iRLiZ2sicIcPvOrtsB9w/sCGam0/ 7nsYiJ109J1ORw/qc+EJ1Dj9yVcJWcw7qApPK0GsVEWzlJTuV7MexV3NOWOwBppqT5XjXOitimf 9QxYBEb7E3uNWIgYFFSxaOFjJzsneshCNTaR5JnBbQB3RKBtkexqDPj8RokD9xRyxq7Vapvips2 YknDsGTEcwIIgW48Fss2i2ZJrY02wKjwMDNuikSS5epiDyMSqDP3/p8sil1C107rZwVKvTDAAXk wUsJNz76wJa7CFrdvZUomGnlMzKX95GfY/4YvD2wxdlQNKpvrKo6lUFzVEnBF7XHh+3qiL2h/3r E88Za1yKfdyMIaA== 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 2/7] oracle/mm: refuse MADV_DOEXEC on special 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 A DRM import of a dma-buf clears vm_ops before it calls the exporter's mmap, and nothing on that path insists on MAP_SHARED. An exporter that fills the VMA with remap_pfn_range() and sets no vm_ops of its own leaves a VM_PFNMAP VMA that vma_is_anonymous() accepts. vma_dup() then copies it with copy_page_range_mt(), which never calls track_pfn_copy(), while vm_area_dup() hands the copy the VM_PAT of the original: both mms free the same memtype reservation at teardown. For a range outside RAM, the second free_pfn_range() either logs "freeing invalid memtype" or removes the entry that another mapping of the same range holds. Preserving device or other special memory was never the intent of the anonymous case. Refuse VM_SPECIAL there. Fixes: d674aa9506ea ("oracle/mm: use padata for copying page ranges in vma_dup()") https://virtuozzo.atlassian.net/browse/VSTOR-150232 Feature: oracle/mm: MADV_DOEXEC madvise() flag Assisted-by: LLM Signed-off-by: Konstantin Khorenko --- mm/madvise.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mm/madvise.c b/mm/madvise.c index b89d891e122c9..644057a2bbbb0 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -1310,10 +1310,11 @@ static int madvise_vma_behavior(struct vm_area_struct *vma, case MADV_DOEXEC: /* * MADV_DOEXEC is only supported on private, non-executable, - * non-stack anonymous memory and if the VM_EXEC_KEEP flag - * is available. + * non-stack, non-special anonymous memory and if the + * VM_EXEC_KEEP flag is available. */ - if (!VM_EXEC_KEEP || !vma_is_anonymous(vma) || vma->vm_flags & (VM_EXEC|VM_SHARED|VM_STACK)) { + if (!VM_EXEC_KEEP || !vma_is_anonymous(vma) || + vma->vm_flags & (VM_EXEC | VM_SHARED | VM_STACK | VM_SPECIAL)) { error = -EINVAL; goto out; } -- 2.43.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel