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 4EFE180726 for ; Wed, 14 Oct 2026 20:08:20 +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 69EK6xN2002811; Wed, 14 Oct 2026 23:06:59 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69EK6xN2002811 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="l0paL8VE" Received: from mail-yx1-f69.google.com (mail-yx1-f69.google.com [74.125.224.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69EK6uMw002807 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 14 Oct 2026 23:06:56 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69EK6uMw002807 Received: by mail-yx1-f69.google.com with SMTP id 956f58d0204a3-66cdb701595so6096552d50.1 for ; Wed, 14 Oct 2026 13:06:56 -0700 (PDT) X-Gm-Message-State: AFq9FYIYaVxe7YPV/LRip3kfW4JNtjWD9ck5iFy0/7uygzxkfaQRkecb uODqgqGNcKCh2rqSiCeNdFSxsBt2uVhf+Oc8mVyKHTctRtmeVrTj4yYBCjLgziOZIzNnUUZ78SI 3KIkFn8b8B4JfgBQJeVXJe6YVG7rME8fQSHqmEZAXDwUtsvk23/OlIA== X-Gm-Gg: AYBFou1i+WONmNtKMvn0zILT0t5P4DVzOOpMLr7NXEK0s3pydYreY5Ki7jdCWsIKSvn TFvnbb/hZto9wzFJbihWLHAKIoizpV3aCsci0b96ISYTNdYmFyzYesTDo7sjgXaS/PT4LseMYKM 4ur0Juf9/LbGJQZzeHgKZWQtGzgKti9Xr1YarRxWdnjXXnY7FHf513a+h/VOBDheQFMAD8pDcEe gFGr7friVbl1y8196v+LbU/NIwIdWprr93Ho6TF0nYCW5DyTVM7Y/Fh8jlljiFRTSVIJ9VbNqNH g2W0iSMvPbltfYFhpWJnj9HIPDAzqEk2tYzXLEpKI4mCK1ppyisK9qSa2KRlTXzRfErCrq41LIQ LYHpNbqndWVkSoEvvjLMdpbCcnIftuCfpfusEt//AG+pMy0vRgoPD/+Vc2qf/mjcavZ3W4TCVxS Y8nbXTomFihYHwf0VzZbzFFA== X-Received: by 2002:a53:ac9e:0:b0:679:98dc:b39e with SMTP id 956f58d0204a3-67998dcb9a2mr477667d50.80.1792008415538; Wed, 14 Oct 2026 13:06:55 -0700 (PDT) X-Received: by 2002:a53:ac9e:0:b0:679:98dc:b39e with SMTP id 956f58d0204a3-67998dcb9a2mr477659d50.80.1792008414919; Wed, 14 Oct 2026 13:06:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1792008414; cv=pass; d=google.com; s=arc-20260327; b=lUM4UJYckNAzAJyybr1xXyZJblGPFxZ1VyMsV1YPpnEAV4ZrL+oM8j5XuFXyF+yQy/ YPxHWRvum3uBEvOrqRd67UE6Y9wU/h7/Ga6pL+1WdHNExMrPpfjr5Si8l+DMB/CNkvEq AKumO0/6GfQ9K9vzuem914QX/XUgK4NTxMcOt1A+F+5bl6J0Xnq25VbX/4AMNva9DooN 6yk7Qv+LtmJBBY1fMk0AFp5ctJNBD18/8mQp1+yyvNX58OWncSoQdy6hNc18avUSHuwt n6RUtfXDAL5Z6BbClFEvYVqtuunN1BagOxxO3KDJSzSdYKFXQGQygqxtefbJqMHHKfjD RF5w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:in-reply-to:from:cc :content-language:references:to:subject:user-agent:date:message-id :dkim-signature; bh=vJggi/l/ex3RfWAOWgMptFE/WiNsVf1gLZJHD9OTIV4=; fh=/znq4lHhrzCPYv6vbvwJ8JdGtfxV330xGyeqrL8FrP4=; b=UO06yupySA793uarXVvyNgCzox5qNtVPfU5OpitcdJIWpEh38gnoZnySXBJNBOEiS/ QZvylv/YeY6hb6dVPH4YFLwWvLw+5NhihhMSln2XFAvffWS9tTP99jgYJsjqe3X7t3WL QFxkJULWy/ZsrBVHM+j7lUNlijjI5mdm3fivBINOPTUenCPcQyYhCraAqUcNzyBf8JFl APjNo6Bz0DJwqxYwmaC7kTfGQoDBXj/MXAaSqziLAVgkfhnva4eoqTMOlD1+dXuHvobV aXdSIsrRx3rprU3Z03yBSEEFvKqJQ2t43M2Y6mbKH74hZ77mEqIBoJYJYfxjpSuAUrmc DSEw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=l0paL8VE; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c200::3 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c200::3]) by mx.google.com with ESMTPS id 956f58d0204a3-6798688c8f8si1389696d50.21.2026.10.14.13.06.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2026 13:06:54 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c200::3 as permitted sender) client-ip=2a01:111:f403:c200::3; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=l0paL8VE; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c200::3 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T+YIeLeGBqB7GPaT8JVRNQsjeRaQ63oxyLs5Fvbik2k42EoscJdT2bIvU8XnpvVClzturfzsavr9LePVUGy4XeEeU+AOPwrezoUr/FC+MJIzqAkaFo00sOn0wtd97glmZhPOOVt8Sk7Rorl+19ojQNANdFiSWozULNpIET3XtMCcztlOAW88nOfGJEzyEZ//yGfPgQXBUfD28jy3HyzaCiwcOjRHg2JLcnKCTcqCE4FTPHFv7PQhZloGNQDfgWtgUFf1bj9IElwEr/YR2FhRMmzYZHt/sBpuRlIfvZX6mUtCAS2Ed0moJz8BS2Hq/sbirWGPoGZgv4PzPaMdcxpSMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vJggi/l/ex3RfWAOWgMptFE/WiNsVf1gLZJHD9OTIV4=; b=u8CgiVU2KIeHXtnIKGGgcxbDnJamPjBfyZlJTn8TnMgZoKXWaKBoE+BsrE4u7APIuoqQux1lVE94R78aYfH1suipplgKb5zn+CHjja6CNRVI+uS6Gtv6I/uB2Arc3z45g5r5qExidQGewgD475a5cBr6g9gPSQqvaxst7inj95v6tdvu1yAUKbSn61aGstQAWvHnIO8xyO/pAMc6louybR34bVmEW0ZWvbdlXFssYc+5kTs9zaL/ZYtYnWJmNBNYnAuxkFBkGaVLeE43gt8bF3DcKKfwGAlEcm0QyJKdXUKQ3DlR9NXyzmh7k2KfOeWzxrWc7cOkLnF3tHz5Lfa7Ww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vJggi/l/ex3RfWAOWgMptFE/WiNsVf1gLZJHD9OTIV4=; b=l0paL8VEOY6DaCEolsEGluHwmgLcAhoxvtFCHM5p99I+Hmj+TF8nJ739/w1ZxDFuzLLH5yjRw5cem42GudpifuwT5LAdt+6QPdYdlbJ1Zr7dQVESn4ThxbsP2Q87DLU2KuMxO9d6uBgW/NLgk+rqhKSF2KfvxYYlSeiPL9dvMJu0lujLSF+TCZ0osH4exPpJD+wLXl2oYB7UFD4rQgBBNLYe1sZZhIq1+D2Z29C+yO/mM8sQa72wjIaYaRBKEEeqaz/VCTj34FqGtg9VtDSXeGO+sjIe/IhiMzE1PjSKPz8jeFqFZCCYxQHp5YHXRTtHde8Ydrpjb2VtfKkjN40ChQ== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from PA6PR08MB10708.eurprd08.prod.outlook.com (2603:10a6:102:3c7::20) by AS2PR08MB8264.eurprd08.prod.outlook.com (2603:10a6:20b:553::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.12; Wed, 14 Oct 2026 20:06:52 +0000 Received: from PA6PR08MB10708.eurprd08.prod.outlook.com ([fe80::1999:c6db:dc55:494a]) by PA6PR08MB10708.eurprd08.prod.outlook.com ([fe80::1999:c6db:dc55:494a%5]) with mapi id 15.21.0522.011; Wed, 14 Oct 2026 20:06:52 +0000 Message-ID: Date: Wed, 14 Oct 2026 22:06:50 +0200 User-Agent: Mozilla Thunderbird To: OpenVZ devel list References: <20260706110002.1024515-1-khorenko@virtuozzo.com> <20260706110002.1024515-13-khorenko@virtuozzo.com> Content-Language: en-US, ru, sr From: Konstantin Khorenko In-Reply-To: X-ClientProxiedBy: FR4P281CA0377.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f7::13) To PA6PR08MB10708.eurprd08.prod.outlook.com (2603:10a6:102:3c7::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA6PR08MB10708:EE_|AS2PR08MB8264:EE_ X-MS-Office365-Filtering-Correlation-Id: fb496b5a-4bde-467d-a63a-08df2a2eafd5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|23010399003|366016|10067099003|261009223027099003|4143699003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: B/QaIUjTRGT8QyADkuz22yiKxRakT7kFrgXZ7jx80M9duK8af6cA3jHh5fo7zQCxC9NPX/3/D/2t4+EQKR+qE25V9V7TKKDZ5P1ToFZwIhTTIbxFLFBY+9fbOfcTbd+nbCBzWNfeE4I5qvOv6PxAfzouWYYj3LUFQtVV+d3gzUO9q5Xbnr98bedzEEybCRioWw+q3P+h+no2LZYPGtj0QAweLj96xkhjFjraFXX6wPnT+0dfp+vVunkXSAPVB+Tjx9qmj2qQ+674MNYxP+Q1khpIt059UHs9O+UnbgoBoYPXN2rdZhmSUYZ524veRXBsynsjACAd9H9GhgH6FyJe69aE09125fSHazCN8YXq8NCCYXGXGJiN1Q0aKxHMwLcLeyR4gAvhixTK8198P0Ue8xcNGfhpYA6L726XT/9FX5bMKQn1vDcheQPRMjnnRzuUvD1LDMMBJKsiWmb2cl7nXQnv7jyFDunZjFG84oT1Ux4htN+JQ8R7sOFGjnF6S+MgsZj1yR1Pbtbb+fQc9xCxZxW+U+lRzmPou7kgZHu0otD6xTUuiJXw7vNZ8kwqBGRsTQ2M9lo61dko43weY8yiLDaef+abM5QSgVvLgPf/DWv/cZnXC8T3DvLqmuzMTyhVt6X+tv8ANULengsc+mUfO11UcVffZyNWMZqrjX4cZuc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA6PR08MB10708.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(10067099003)(261009223027099003)(4143699003)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QXRXWFpESWgwRTVKRGgyS0VBWTRGMGVyUGZuTEpWTkxTY3BDZWErUlJqRmpk?= =?utf-8?B?SU4zczgvRFl1TTM0RjdwL1ozcVNseFJUTGc4dkZDK3M3MHRMcm0wRWhDNmJJ?= =?utf-8?B?MWVXa2xadk8zRU9PTmhXMUQwV1IxNy9XUXpTQVpBTmcvSFlQZktHYmpLRnQv?= =?utf-8?B?cTdtUVl1b2R6d3ZYV2ZrK0ZOZE9wL2d0N3FqZ2tUaWRwNVhrODloSXZiUytX?= =?utf-8?B?WmM4MWprMmZlcDhHczY5OWFVSW5INjcydHJuV1gyVTVhMVpqMFRsdEZDYno4?= =?utf-8?B?V05FSzViVmgxVVl0ME1neGhndWtDM1RNTEZLS1FwU2pYNXpEMHhzMWpkcE12?= =?utf-8?B?aTRsdTAwc0tlQjcxdGhnZGFESW15ekp5VnJ5SzVCRlJYQ1RmZmpDZjN5d2VP?= =?utf-8?B?NnI1dWJsNXd4Lzc0UHhockhPeEhrVE9OdC85L2lOUTZoclRVMnR4M1h2MU1Z?= =?utf-8?B?Tm0rRkpEamdXU1BVNE9TYmlUejlPUmcwSnNlbXRuVWNFdFJOMFdMK1IzVHh5?= =?utf-8?B?cU1SeitOeWJHOFNsZ1NpT0ZqQ0tIcFV4N2pqTXJaVUg2azVFaDB3TVJULzVX?= =?utf-8?B?Zlg5dldlam1HRTVwd21JOTg2MzBiNWwxVzlvOWNxNWVJREx3aXo4eFltd3dy?= =?utf-8?B?ZEE4cjI4UVh5d252RHJxSnhDUUg3cklvcmdqUEx6d09oYktBVjViRXFYd0My?= =?utf-8?B?cEJRaEh5TkUzUUI4YUxrVHg3YURvVzh3WGdVMHltMDFoQkJROXUzNXhqdVh0?= =?utf-8?B?VmVYMmxxM2VhUi84MitoaWZodVNCZVlQandrbW16cjhaQnFjUkpScm9zUGJ1?= =?utf-8?B?TmhZaWgwRXUxREg0Vkg5QWtST0dUSUxIOXp1b2UvaDJacVVMRUZvMVBMYnAy?= =?utf-8?B?WXBiZHdCcG5pdXNIdUt5a0tJZ2krUzU1SGc5ZmhidHFhZ3FxMXNXYzJIaGZJ?= =?utf-8?B?L1BHbmhoam5XNmV2Qks4eElHeHlyQk5xUlZlWGNuSjNTSDJGaU55aGVBSnZm?= =?utf-8?B?VVF2bmc2VFRaUUxvRlJTMHMzQ3VOMi8wSTJCeFV4ZHdRdlVZSVpXSnE5d3Nq?= =?utf-8?B?d0diMXB5L0thSE9CN0NOaWVheGJYY3Q2Y0JMamkrSld1Y1R1Z0lVK3lMaTdl?= =?utf-8?B?UnNuc3BWN3hPRnpHMWRKMnJuTHY5TFlIeUxsbXN3ZnVnTmNQeSt0cHRQMTAz?= =?utf-8?B?SEhob0Vicm9CekVPQlpQem5ncDB4NlRwS2xDNFVYMVpoS1ZQMDhhVk1ka2pn?= =?utf-8?B?ai9EV1ZzNnljZDlIQUtiOHd5TnVDVGtKeUNBRUhabE11M25VVVk5bzNVaXJ4?= =?utf-8?B?NitUTC91emRpVU5rcWsxN0RGcDZwQlF3SHpLWjQ2Vlp1SWlxOEwvWEZOcS9v?= =?utf-8?B?alZiSmpvUXBBUmthYnptQzdIbEpDYlEzUWFRUHVnQlhiWlg5YmloM0JwK1Rn?= =?utf-8?B?bFJWZWhPR1BQeWNTWkg2SFpTK1ZaRmFlSVlyb2RpT3RQVUkvN1BFa1BNcVFW?= =?utf-8?B?NlFLV2dLWkRTSG1melNpWVNmS0RLYW82VzVWM3R5Y3dGYkZ5emhHczVSdk5U?= =?utf-8?B?MEVkQzRlekRVcy9ENDhEUk94WWN6eEZubkN2WUtFUkh2R2ZvSnZJM29Sdlpj?= =?utf-8?B?Z1V2ODRjb2diK3VpZFVkdUFOajNpVitzek9oTGs5aEp5N2grb2FPUHA3UzV0?= =?utf-8?B?Z0taYjY2dXRMNjJUeE1RcktLNW1uWU5pcCtKNG5WQkc0RGFzN0RpYU9YUUdR?= =?utf-8?B?QjAyMG14S1Y5U3pYVlNxRmR3TzVJWit5T0JGa0UwN0Z0bWlwSHVGRE5IdFNs?= =?utf-8?B?Q3BOQzZPUlFIaEhaZTlyN3Z3VjVZdFZJVHMzN1dCbHJaamFxbjZnOWYySmk0?= =?utf-8?B?YmpWMVI0TXhza211dVJTaDJIMkVtN3dHUGdSYnRLNDlXd3FSNzhsQ0xvSXpH?= =?utf-8?B?Y1F6OVB1MVRBTmV3WloycDU2QlVOeFVEdkEwUEJSTzl6NStlUEZRWjNyWm1i?= =?utf-8?B?eVUyRTlCYVlaNjhzVVJycy9vZzZCS1NIOTlqRkwwZjFiN3hQUUNVSHVlL2tX?= =?utf-8?B?SjNORTB0ZWR6TWJvUDBBYXBJK05UUU8yblU4SnpGYllaeTVGYkc4eGlVcWVF?= =?utf-8?B?eHRic2lKcWdXM1IrUjNjUDlBNEN6anM3WGJINlRKZlY4SDBXN0xXU0FMM2Vw?= =?utf-8?B?K1AwK3Y2RnFzSk9MZjEwVGhRNGNsLzYyYktlZXNtSE11ZWhEVGtsaVNadGJU?= =?utf-8?B?QTVtZkpYTUtWREYxZGkra2hxQ1FyWGU2amU4aERBaTY5YWI3UFdwenhlcENp?= =?utf-8?B?UmhacUIyazB4MkpYTlR6ZGtmTlZWVjBzSFVKMENlNklzamxNT3JJdz09?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb496b5a-4bde-467d-a63a-08df2a2eafd5 X-MS-Exchange-CrossTenant-AuthSource: PA6PR08MB10708.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2026 20:06:51.9156 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: rchlB8o7I/nD9Lf0VJMoidj6YWnWHuyM4B1RXGXkR8KhR/vn/TnJT9b8gNrnmIQsTQIuZ7l050XuXqrPzHy0zA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8264 X-OZ-Fwd: true Subject: Re: [Devel] [PATCH vz10 12/24] oracle/mm: enter COW seqcount/mmu-notifier section in copy_page_range_mt() 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 i'm dropping this patch. The bug is fixed by another patch, taken from Oracle UEK8 kernel: [PATCH hci-8.1 1/8] oracle/mm: fix VM_BUG_ON hit when preserving memory -- Best regards, Konstantin Khorenko, Virtuozzo Linux Kernel Team On 7/24/26 15:09, Pavel Tikhomirov wrote: > Reviewed-by: Pavel Tikhomirov > > This is really non-obvious, the logic behind "mirroring" is sound, also > we should report this to oracle, I don't see full miroring there, they have > raw_write_seqcount_begin(), but not mmu_notifier_... > > On 7/6/26 12:59, Konstantin Khorenko wrote: >> copy_page_range_mt() is the padata-multithreaded copy used by vma_dup() >> to preserve a VM_EXEC_KEEP (MADV_DOEXEC) VMA across exec. A MADV_DOEXEC >> VMA is private anon, so is_cow_mapping() is true and the copy write >> protects the source PTEs - a permission downgrade. Unlike the normal >> fork path copy_page_range(), this helper jumped straight into >> padata_do_multithreaded() without the COW prologue/epilogue, so it: >> >> - never entered src_mm->write_protect_seq (left it even), which trips >> the DEBUG_VM invariant in folio_needs_cow_for_dma() reached from >> folio_try_dup_anon_rmap_pte() during the copy: >> >> kernel BUG at include/linux/mm.h:2054! >> copy_present_ptes <- copy_pte_range <- copy_page_range_chunk >> <- padata_do_multithreaded <- copy_page_range_mt <- vma_dup >> <- exec_mmap <- begin_new_exec <- load_elf_binary >> >> - never called mmu_notifier_invalidate_range_start/end(), a real latent >> bug: a secondary MMU (KVM, IOMMU SVA, GPU) registered on the old mm >> outlives de_thread() and could keep writable mappings of pages whose >> PTEs the exec copy just wrprotected and shared into the new mm. >> >> Mirror copy_page_range(): for a COW mapping, invalidate secondary MMUs >> and take the write_protect_seq write side around the padata job. The >> exec'ing task is single-threaded by now and is the only user of src_mm, >> so there is no concurrent seqcount writer (fork needs mmap_write_lock) >> or GUP-fast reader; taking the raw write side while holding only >> mmap_read_lock is safe, which is why vma_assert_write_locked() from >> copy_page_range() is intentionally not carried over here. >> >> Fixes: 11e4b1dc50e3 ("oracle/mm: use padata for copying page ranges in vma_dup()") >> Feature: oracle/mm: MADV_DOEXEC madvise() flag >> https://virtuozzo.atlassian.net/browse/VSTOR-137234 >> Signed-off-by: Konstantin Khorenko >> --- >> mm/memory.c | 35 ++++++++++++++++++++++++++++++++++- >> 1 file changed, 34 insertions(+), 1 deletion(-) >> >> diff --git a/mm/memory.c b/mm/memory.c >> index 837194e87664..4d04591f8f40 100644 >> --- a/mm/memory.c >> +++ b/mm/memory.c >> @@ -1478,6 +1478,10 @@ static int copy_page_range_chunk(unsigned long addr, >> int copy_page_range_mt(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) >> { >> struct copy_page_range_args args = { dst_vma, src_vma }; >> + struct mm_struct *src_mm = src_vma->vm_mm; >> + struct mmu_notifier_range range; >> + bool is_cow; >> + int ret; >> struct padata_mt_job job = { >> .thread_fn = copy_page_range_chunk, >> .fn_arg = &args, >> @@ -1490,7 +1494,36 @@ int copy_page_range_mt(struct vm_area_struct *dst_vma, struct vm_area_struct *sr >> >> BUG_ON(!(src_vma->vm_flags & VM_EXEC_KEEP)); >> >> - return padata_do_multithreaded(&job); >> + /* >> + * Mirror copy_page_range(): for a COW mapping the copy write >> + * protects the source PTEs, which is a permission downgrade, so >> + * secondary MMUs must be invalidated, and write_protect_seq must be >> + * entered (odd) so GUP-fast cannot race with the wrprotect >> + * (folio_needs_cow_for_dma() asserts this under CONFIG_DEBUG_VM). >> + * >> + * The exec'ing task is single-threaded by now and the only user of >> + * src_mm, so no concurrent write_protect_seq writer (fork, which >> + * needs mmap_write_lock) or GUP-fast reader can exist; taking the >> + * raw write side while holding only mmap_read_lock is safe here, and >> + * the padata helper threads only read the seqcount. >> + */ >> + is_cow = is_cow_mapping(src_vma->vm_flags); >> + if (is_cow) { >> + mmu_notifier_range_init(&range, MMU_NOTIFY_PROTECTION_PAGE, >> + 0, src_mm, src_vma->vm_start, >> + src_vma->vm_end); >> + mmu_notifier_invalidate_range_start(&range); >> + raw_write_seqcount_begin(&src_mm->write_protect_seq); >> + } >> + >> + ret = padata_do_multithreaded(&job); >> + >> + if (is_cow) { >> + raw_write_seqcount_end(&src_mm->write_protect_seq); >> + mmu_notifier_invalidate_range_end(&range); >> + } >> + >> + return ret; >> } >> #endif /* CONFIG_PADATA */ >> > _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel