From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id A36328017D for ; Thu, 22 Oct 2026 15:07:01 +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 69MF5jGw010090; Thu, 22 Oct 2026 18:05:46 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69MF5jGw010090 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="mI1F5thO" 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 69MF5hrm010073 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 22 Oct 2026 18:05:43 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69MF5hrm010073 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4a20a6e8426so5693185e9.0 for ; Thu, 22 Oct 2026 08:05:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvBxhU6TxmJQ1+UTatUFsUTiHp5/RPoLeCFjekc7fhrYv6zPN0K8iQwTrSBZgQodZz3Wbqg6BYA==@openvz.org X-Gm-Message-State: AFq9FYLHJoPEc2+C5Z+L7Mn5B/v2IOwpFoLRICu0mWaGp1M7W0MPo3xl a+thZNXsz4WlcqSnfanrRgOpgv4KAsnD/m0VvPJSd7xStUL+/6znu+fv8elmhIhStJRgUR3A/Jl zkrv7hS51O3rasfxdiV7dFlS4SV7WF6U5dos3gCLt67dSMboc2ZpCDQ== X-Gm-Gg: AYBFou08GKzfTw34hvTYQeSta7HE/I8EyoyS5oWYQs4b6sr4TpjZyDzi5bCqh3++FR+ o5d93eYHx74+xM2qP8iasXQNyrMsjiSy7SMHxj4ayoTD0GNHciPAnD3HZwB3U2cyTEF9fruIDL5 riz/5HdpJh00tJbDT5qdAlNFffpBoe6G8whxilCS+Ef4LLYSQRS2WwPeWAlSWMA759q2XZG8Z7S 3Ti3Fkxm6QIab4NG5grRdXvWG3f4/aJakPDhEUvj5OJW/hUIyAkni8yttDFKVrU2Sf3nNfbVhnG eXWqVL0OL+NkH4XOUa1yG2LNvMT4WuyaZpdm7zrnXv2THFXcAcAWnLK1KiesXuDg5p7Kwuhr2T8 S/4m6E/QpKOPfUzJdGbKZ1QIjk/zFTw== X-Received: by 2002:a05:600c:4e03:b0:4a1:f7f4:7ced with SMTP id 5b1f17b1804b1-4a1fdd39b4bmr102393145e9.17.1792681542589; Thu, 22 Oct 2026 08:05:42 -0700 (PDT) X-Received: by 2002:a05:600c:4e03:b0:4a1:f7f4:7ced with SMTP id 5b1f17b1804b1-4a1fdd39b4bmr102392315e9.17.1792681541779; Thu, 22 Oct 2026 08:05:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1792681541; cv=none; d=google.com; s=arc-20260327; b=U9Ipdu6rwlNSGn/mPkkX3ir65OFgmXL4JCCeZ7UbOnB2kxdVL13HwrpvTiNOe8xTJ8 ihYa9ge4PKfGs+AZ4jP5uu5ncByYPBpfEhKdn/eEXmHFBSll7V4bfTiESJHlWat4uv1u 0QpEEg3Le2GU8ldOIwSDpUmO2TZkYaVDTHBhSCTMxipBMXvFGquFd6Y0XukF7jSDl+Nq 6jhn8Y53gfWY+g7LhtEB2oCPo2IXMfshydSmf9qQA9YIoqJLK8ZIcPgiBK4zINF8hKLr 4CtRsxW2d0+3uJXr2VDpexERIUZ3AonCd4MQ7ZX4OjsThVvc+8mCOYNENF2r91PTGF/m vAQA== 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=UJYLVmOff6yJ50cXJESZmA2K7+RLvec5EaWAgGFQHnQ=; fh=cWfQ0WqBv1Pw7PhINIHK2v1yyoiscNQykPdEfpvTs1g=; b=pg02NjXZO4tNUTq7x5JcXQd2uC+bueQxPqrlNJIdopbyHYX3xpvUTlf11ezRoY4JhX FnnKH59/drpnW5BA8xV2Y6lVc+deDjvYxJ46JIgCoKaaagW/uPdRib9g+IUSxhopViSC k7THzsbm0PCXRrNFKUm8RwNsXqWQiO0rP6LW9lli+47ZG0bACryMP2gyWHZ5+ipy3Q7H shllVlNIuRaRQopvAo6+HnvVrWuJLeXsEfgQgW8wIIJSM9D6K+zHBhqjNcH096GunsPO GY/F0s6Ex3rytlXLBeZdNCNXXKSNNSLD5icQ5MXAjd2zKp1FbfsWoJ44WxpdDzhRC6xo 1EtA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=mI1F5thO; spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=vladimir.riabchun@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-48e25845ccbsi12573264f8f.119.2026.10.22.08.05.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Oct 2026 08:05:41 -0700 (PDT) Received-SPF: pass (google.com: domain of vladimir.riabchun@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=mI1F5thO; spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=vladimir.riabchun@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=UJYLVmOff6yJ50cXJESZmA2K7+RLvec5EaWAgGFQHnQ=; b=mI1F5thORXrcDasSuES pjXmKEpKOIJX1yPxY2txu1mpTiLQK3IIBx+M4eH3HDgsz7+tIF7NAAn5DhcId1YTHWG5SsVkA9WhJ CyQu02f9WPofO2VlNTAtyHVUblpRwGckKDlFFUgKVxY9sQyp+9oUbyOBTHnI6zcHQrxoj7gZeNfSQ 1RQMhdBlsP9aEMFlQwgxHXhxUvGiktTGW5afByYtzu47AQqwOC69WLUf8KCOLGACf1biEG5lGBCkb DJJ09i7NkBfqCm5nVgdovsl0zjWm/R4bLmJpgfBHn8CIFJ6FiXexqA3C977c2otVAGfOnBkwiJUT+ qnXRWknyLgBexZA==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=192.168.1.87) by relay.virtuozzo.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xJuIm-00GqAO-0a; Thu, 22 Oct 2026 17:05:39 +0200 From: Vladimir Riabchun Date: Thu, 22 Oct 2026 17:05:24 +0200 Message-Id: <20261022-ovl-use-orig-ve-v1-0-da84c00c8065@virtuozzo.com> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIADQm2moC/yWM0Q6CMBAEf4Xss0doiQX8FeMDlBPOGGp60pgQ/ p2qj5PdmQ3KUVhxKTZETqISlgzmVMDP/TIxyZgZtrKu6kxLIT1pVaYQZaLEZEdfu3PXuPxAtl6 R7/L5Fa+YvVBbGtz+g67Dg/3728O+HyAxQeR8AAAA X-Change-ID: 20260918-ovl-use-orig-ve-2dc365976202 To: Konstantin Khorenko , ptikhomirov@virtuozzo.com, vasileios.almpanis@virtuozzo.com X-Mailer: b4 0.16.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 0/4] Fix kernel crash in overlayfs 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 When testing CRIU with containers with docker images, we found an easily reproducible kernel crash: [ 2300.870181] BUG: kernel NULL pointer dereference, address: 0000000000000005 [ 2300.871537] #PF: supervisor read access in kernel mode [ 2300.872577] #PF: error_code(0x0000) - not-present page [ 2300.873595] PGD 800000010a18f067 P4D 800000010a18f067 PUD 10730c067 PMD 0 [ 2300.874900] Oops: Oops: 0000 [#1] SMP PTI [ 2300.875742] CPU: 1 UID: 0 PID: 5419 Comm: criu ve: 0 Kdump: loaded Not tainted 6.12.0-211.39.1.16.6.vz10.x86_64 #1 16.6 PREEMPT(voluntary) [ 2300.878057] Hardware name: Acronis OpenStack Compute/Virtuozzo, BIOS 1.16.1-1.vz9.2 04/01/2014 [ 2300.879684] RIP: 0010:ovl_get_index_name_fh+0x18/0x70 [overlay] [ 2300.880859] Code: ... [ 2300.884128] RSP: 0018:ffffd32582e0f7c0 EFLAGS: 00010246 [ 2300.895807] Call Trace: [ 2300.896397] [ 2300.904435] ovl_create_index+0x82/0x260 [overlay] [ 2300.905406] ovl_copy_up_workdir+0x30a/0x330 [overlay] [ 2300.906427] ovl_do_copy_up+0x10d/0x2e0 [overlay] [ 2300.907387] ovl_copy_up_one+0x456/0x720 [overlay] [ 2300.910736] ovl_copy_up_flags+0x81/0x110 [overlay] [ 2300.911740] ovl_create_object+0x51/0x130 [overlay] [ 2300.912719] vfs_mkdir+0x194/0x250 [ 2300.913470] do_mkdirat+0x14c/0x180 [ 2300.914223] __x64_sys_mkdir+0x46/0x70 [ 2300.915019] do_syscall_64+0x7d/0x160 [ 2300.922814] entry_SYSCALL_64_after_hwframe+0x76/0x7e The cause is that overlayfs does some feature checks on superblock creation using capable/ve_capable and it stores current credentials. But ve_capable check result depends on both current creds and current VE. Later, overlayfs switches credentials only, leading to unexpected feature disappearance. This was reworked completely after v2, the approach is different now. 1. Patch 1 removes separate STOPPED state - VE goes directly to DEAD. 2. Patch 2 adds helpers for overriding tasks VE. 3. Patch 3 adds VE owner to overlay superblock. 4. Patch 4 fixes the bug by switching VE together with creds in overlayfs. v2: http://lore.virtuozzo.com/all/20260920-ovl-use-orig-ve-v1-0-b3e63f6ff80d@virtuozzo.com/ https://virtuozzo.atlassian.net/browse/VSTOR-143259 - non-CRIU repro https://virtuozzo.atlassian.net/browse/VSTOR-142405 Signed-off-by: Vladimir Riabchun --- Vladimir Riabchun (4): ve: Remove STOPPED state ve: Introduce override_ve/revert_ve helpers ovl: Keep creator VE in overlayfs superblock ve/overlayfs: Override VE together with creds fs/overlayfs/copy_up.c | 4 ++-- fs/overlayfs/dir.c | 28 ++++++++++++++-------------- fs/overlayfs/file.c | 28 ++++++++++++++-------------- fs/overlayfs/inode.c | 38 +++++++++++++++++++------------------- fs/overlayfs/namei.c | 18 +++++++++--------- fs/overlayfs/overlayfs.h | 9 ++++++++- fs/overlayfs/ovl_entry.h | 1 + fs/overlayfs/params.c | 3 +++ fs/overlayfs/readdir.c | 16 ++++++++-------- fs/overlayfs/super.c | 3 +++ fs/overlayfs/util.c | 22 ++++++++++++++++------ fs/overlayfs/xattrs.c | 14 +++++++------- include/linux/ve.h | 24 ++++++++++++++++++++++-- kernel/ve/ve.c | 6 ++---- 14 files changed, 128 insertions(+), 86 deletions(-) --- base-commit: f5d1fdcfffe101fe2bafa7df09d95d2e811c5c5e change-id: 20260918-ovl-use-orig-ve-2dc365976202 Best regards, -- Vladimir Riabchun _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel