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 4D4978017D for ; Tue, 27 Oct 2026 16:50:21 +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 69RGn830030936; Tue, 27 Oct 2026 19:49:09 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69RGn830030936 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="h3dQI7om" Received: from mail-yx1-f72.google.com (mail-yx1-f72.google.com [74.125.224.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69RGmuF2030886 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 27 Oct 2026 19:48:57 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69RGmuF2030886 Received: by mail-yx1-f72.google.com with SMTP id 956f58d0204a3-6795a39e53fso1768602d50.0 for ; Tue, 27 Oct 2026 09:48:57 -0700 (PDT) X-Gm-Message-State: AFq9FYImeNLvm6USn/8QJSUWWD+F/WF3pkqUbQBwxKrdtVvnjp/au/E+ 0URQAr4U9LS3i5/c6jyObGjZbgK/dQVb60QOY1fGOpaE3PJ4xFXUe/ysHWdu//CwD17euZB6Nhg o77aMYPOOLDTSzEJ8ap9IfRBK+TcKdx9R2+AYPdZ8ZJONm5GwGMAd4Q== X-Gm-Gg: AYBFou2VgcL6YLfFev01X8Z4HhOSNv2foeifLYxH6WDOFLt4CkxTxgvkblyky9YnTro UZUnBYiQOUNtEiDKXKj8RVLYedulwt3s7INlvtMEgdbaeB7Pw70X9gR7HzcNwTcGv6gWSAmwdSa fOCFjOqn2EZV1HMpOhu32kdMqasKbEZWReVdlzl5Mfl8XT3ZAGE4O6sSm6XlfFkP149JnNoY/a5 1LD4kSA0/H4la1uAZlGfDcB0n4DwT3tcdCiSkDycQk4qqeq90oUGOapPY7TtI+kIc3QMSPNfsTc 6nadwF3QpADqmeJTbEiWNonKyPnEgjocn1OdQIc/gzdFujw7zsZRVQrU2yoCqeK7Tz/Vnj8KFjx Y2Lk0zFdEh2fvmBF2WrU9L/ovKw3mtU/40pJ+2a2qnKa5tg/wV/QeZNRHhqllg7Faqi50nXJwPz 6gfk6IOhBf4BdUAYPkjKN4AYWIrCo= X-Received: by 2002:a05:690e:414a:b0:679:a190:cf32 with SMTP id 956f58d0204a3-67a6de9d74cmr2178190d50.3.1793119736268; Tue, 27 Oct 2026 09:48:56 -0700 (PDT) X-Received: by 2002:a05:690e:414a:b0:679:a190:cf32 with SMTP id 956f58d0204a3-67a6de9d74cmr2178169d50.3.1793119735689; Tue, 27 Oct 2026 09:48:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793119735; cv=pass; d=google.com; s=arc-20260327; b=EDkkGwPcQjLOaMXxTSCLOnaogNDF27i0nQbX3mX+jl+wgPUttEEwh+gKoTTwyoKCKQ Xf9WfO4QNcvEFdbxHu4aZP4tOPAMXAG+s+Db4SdOFZYH/6PUeoXUqjyb9wj8nNZB8wYr f4etfyghpvy7fHkTXRveI+HQUFfCrsrUMHH5ScaRsX2eA8to/IFa1LPvUOYY9vhLIbNK yctYzYLCIxAujMq2cWmBrbXwkTL8j93PbZLLN6I/jhA/nPUkvQ5jhP1fb1w3uAMJuWsQ UPYhOsw5vhz3ZeHTTxLvsOL/dDpaYLF5g2/oC5fb8W/OZf0YCMk6/ZWudh7YX99y9woA ETww== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:cc:to:in-reply-to:references:message-id :content-transfer-encoding:subject:date:from:dkim-signature; bh=KroL6yzoyQN+YSKTC1ifjw5GKx/rtuq/s0/dcuwD+pA=; fh=y3TfVeQA9QYtIzD5Inxiyys5ebBfyOgjQPZaP/+mSiI=; b=ToT0LNU4bTC7ZaqJTC57/PjUubsift+8SqbG/OagZ7j2B5SybsUDwgYFlRcw6X78NV 1nLiLOVmhZ20Mns7c1TPFz+XZIcKKW1qC2fKes5qZLcofo3HY6hIGRrdmbsYZqy7jimf sGkVS1edBtQ+pWwN/HqhG2kz4xzFYqZVxxDH0K2EEbtg98/fd4/TrxsVVw+LuYHw7cbg V5ewNWgEs6sKcyHWDGQSzjS6w3UgrYl/jFlIbiNOxpJiiyGhTRlyZQllBTyzdYOx363X KOvKd1si73cDOSKuHu9kovJcczafGjqwyQJhSDpGKBtD7bof+RofK+Kz5l6fyH+FAFsY LP6Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=h3dQI7om; 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 ptikhomirov@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) smtp.mailfrom=ptikhomirov@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c20a::7]) by mx.google.com with ESMTPS id 956f58d0204a3-67a7a061a09si408101d50.77.2026.10.27.09.48.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2026 09:48:55 -0700 (PDT) Received-SPF: pass (google.com: domain of ptikhomirov@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) client-ip=2a01:111:f403:c20a::7; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=h3dQI7om; 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 ptikhomirov@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) smtp.mailfrom=ptikhomirov@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=XtL1q2d0sxFI1QQB46EDaiOQQNtHrDBNXfvIEL+kJzpApVV0iJRd1foZhA92i2dTnz2QXEswJErKnYnFTuMca6NKTzz9eBeAyuAS1WhkeovGSZG5ATeHqzOE8JqmjCB4k9uCXc0S0Jaekj1hOGv/EcHyAKSs3LuKJvonsOftnVU5aaVBf7K66g1Z/xFvoHWLeTCIqmX1aTdirV7zNFa4I74abWCdu2RJKCyEkXxJ8UApgmKqvAlgAVZQqbxt0JSwdO+dfOE2JdAG6AnA0VfS9spRQO6livOO8U0bwRGqwIysLTlVZYpgXGgGMoRn8COcZ1PrHepGhdGpGzm5gSI4yQ== 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=KroL6yzoyQN+YSKTC1ifjw5GKx/rtuq/s0/dcuwD+pA=; b=UortMRnNsRkuz6pF6r55YTFjVAPJ0XJzQgTZHb9wYF4IYSH0Ni4al0FUMXTK40T9LSALu549LK4DnoDpFoiWeHe890ToybeGkrmugs0HLG4+6u/Y5aWFL+NxjMOAmfv7xnboF/4NRi8rNgNoG9Lk/WsNN4ppY/0N8wCi2oLXPhDHS/65O76GvXntrKDmBOMHVRAL78x9agrGTzx29EC0gHk/lSWd7di+vx1shj5VoZVzKNLYzqPHxT3GEWjewj20K4Dq4U2oDGqovH7sT4YXVdxONBRyZZ6cFEDg8Bb/ZOlr9LsfNogpIhkI9YpqwFhMA+PNduWqP/MnKhpC4IyY7g== 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=KroL6yzoyQN+YSKTC1ifjw5GKx/rtuq/s0/dcuwD+pA=; b=h3dQI7om0jaFftAoLWH4mql0Yr4kqRIMVidNAeg10FLu9W0+/uwAhrll/Mqy5g1kr0AYb8hgvqmE6a5gCl3HsOArrEgs8E3BGO2ggTk9G7YBLKIaNSC0M5CXo9BrbRnc6OXN4UxSMhZJ7e4EJT0F2kzUk16QhbO3v+yKGXCWlpnscOHUlzaO/1r55QdonRcSoBuAfmkKJDpAXojk7y1zm6jUJRnZF7G18Dto5zBV31HFi+YdQSW6MowZzgwCTXXovYa1d59yWGTlEN/tLdC11MdFeeLTEuoDZ9NYaAc30gdLNV0HxGwNxWpmM63/9PB79ASA0IEyzo09KJdhWNNNKQ== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM0PR08MB11804.eurprd08.prod.outlook.com (2603:10a6:20b:747::14) by GV2PR08MB585692.eurprd08.prod.outlook.com (2603:10a6:150:3b8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Tue, 27 Oct 2026 16:48:51 +0000 Received: from AM0PR08MB11804.eurprd08.prod.outlook.com ([fe80::bf46:f137:f6d2:5b3a]) by AM0PR08MB11804.eurprd08.prod.outlook.com ([fe80::bf46:f137:f6d2:5b3a%7]) with mapi id 15.21.0546.021; Tue, 27 Oct 2026 16:48:51 +0000 From: Pavel Tikhomirov Date: Tue, 27 Oct 2026 17:48:48 +0100 Message-Id: <20261027-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v6-3-f9870cf5c7eb@virtuozzo.com> References: <20261027-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v6-0-f9870cf5c7eb@virtuozzo.com> In-Reply-To: <20261027-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v6-0-f9870cf5c7eb@virtuozzo.com> To: Konstantin Khorenko X-Mailer: b4 0.16.0 X-ClientProxiedBy: BE1P281CA0178.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:66::13) To AM0PR08MB11804.eurprd08.prod.outlook.com (2603:10a6:20b:747::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR08MB11804:EE_|GV2PR08MB585692:EE_ X-MS-Office365-Filtering-Correlation-Id: 32edc0bb-324c-4b3c-b9b0-08df344a2d33 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|366016|23010399003|1800799024|52116014|10070799003|22082099003|18002099003|261026121527099003|56012099006|10067099003|261021123027099003|261021121427099003|261022105027099003|261009223027099003|261026140227099003; X-Microsoft-Antispam-Message-Info: j1R3qal9AhlZ5SHJfFltcLBQRzpf2qxUzKf+zlq06WyEPz6VfclNy+dvzFR1h6Ev/JRsA3GnCM6f3EOfrcENHLpva0VSwqwSZHen+36aWPO56NXE/OsnIBWfLA2KoOdysxDQfPk7a6555snqTTcDwQ1Nnt5u+465lwD/YE69HUnObgYzahBoQ5KhosrIGU5pL35AicF4ZXe8DcLec44H+LgSROE6k9lEoOo++ISlWMXfuscUBcZePhOoXrJJY8wd+UFGN1me3G82e9FtczoHrOaWPnJQbTJU2MIgKxdAy812Mbv9e3T5aJuZuukf/1u/l3IZmYI0Ui5odvzuT2AS72cXqorBa6OyPfZO9CekkbaSuwVzcJNfrQ7xphJ6Tb1LdY4gfyqiqwobWbn4SCV2ArxhpX9X6A5Au1KlnZBAxravz3LK9JFqYCCk079onwKAAsjA7ZndK4duq/pPoRiyNDkvGaGhX3oE50OZDOze8DWJWiotXOYvkMlpqTz2b34MPiHsL2HBrzQGi562DhxdY5PsNmJ/beQNpLuZwqfwE7INjn0osV3nSqCS5yoHVRIzUkY1HowCH66npfi2//h3ngdaG/OumHRvkqrlehHW03OiM9ngHnafhHaohRkXg8GZ X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR08MB11804.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(23010399003)(1800799024)(52116014)(10070799003)(22082099003)(18002099003)(261026121527099003)(56012099006)(10067099003)(261021123027099003)(261021121427099003)(261022105027099003)(261009223027099003)(261026140227099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cktnbzFFZC9IMVNwd3pvSmQ0MG16VTJoQkVqVnFTRTd4Vm1Vemlxc1RpU1F4?= =?utf-8?B?RWE4QXBzTHpGZkRiWmJOL1dYUlIxVGlxOVltbU9JcmtFdnVxeHlOMi9qZ25N?= =?utf-8?B?eFlZRmVXYVAzYzVIU1FEUDdCWXI1dHF3ditQcmhhZzVKVUlWaUoxNEN3a09j?= =?utf-8?B?dzdaQ3ROU0pkMWtVTjJKZEwrN3JUYmFENTFQZkRnWnRVa0VOWlUxQ0Y3eThj?= =?utf-8?B?a3lPL2ZsQ3dkUmxwRWxzNEhXYTFKYjZnV0FEbHFtajNSNG5jZkFEQ2xHS0l1?= =?utf-8?B?Z2dVUis0TzRiUUphTDVtcWRMaVVMK29HaG1Jb09XUW5DYWxJSGtiVWc1ZCtH?= =?utf-8?B?bVo0aEdHSjd2SzQvaWVNbVlpMGJHZVZFS2haVlFXcmFCZ2hUVG8zaDd1UFFv?= =?utf-8?B?RzNKTnVWeTJ2MkdKYUc1QnRzdkRDSzRQRFJsNDJEYUZseGUzY3Y0UTYzVTJp?= =?utf-8?B?VWRJQlQvK1c1UUYySitKV04rSTF5UTg0WW54UXczRW9JTm9qbnpOandVaHoz?= =?utf-8?B?RzQwNXNRdHFHbVRYRGtmOWZsMUJoYkJMODVpbTlUU292QWpyNGpyOFVjM0Vk?= =?utf-8?B?cUlWZVhjQ3ZLc25PK0RRN1VlWUY2RHZ5ZW1hN3lncU1uOWJJak5rekYxQVlt?= =?utf-8?B?VU5EV3lLVUlSaDNQdkwyZ0xqVFgzZEozVW05UUNzTXd4QkhVWlVGcGhDQUg3?= =?utf-8?B?T2I5cGhtMW9GR1pRbmM4YStGR1B1eTA5UmhkZmEyemZpaVEwdXlscFBydkpt?= =?utf-8?B?aU1KTnpZSVhVSUxscE5sWjRyOGh0b2FmbDNmK3ZIZDZaU2RuSUdiZlFvSzl0?= =?utf-8?B?eWdwem9EY1hHMllieDdhVllHNHNpUitYV09YMEJPRGIvS0J1OG1KbFZzbWJY?= =?utf-8?B?Z0tnRVllK1I3SUNjem1SQWVBMENkMDZWRFlLVmVWaGhOZFRPb0U4NGowRXJ0?= =?utf-8?B?MWM0MGFKNVJybjBNRVpOUjFKREJ3dnNXdy9hS0dFc0lRY2tleXVLdG9rN1Ew?= =?utf-8?B?UEtGRnp2U1BJY0QzOE9mbHlyQ28vK0dCbGFQZGk0UWpidXgxWjlxMlBLY0NX?= =?utf-8?B?TUdFMlpQMktMV1dCWlR4b0tSSFh0Q3FoR3BUR2hiZUhibW1nWVFMKzI2Yll2?= =?utf-8?B?ZGNSL3BZdlE2UW5aSTlJQThSWDJrSzhRemJwbnhXMlRZNnlMQ3ZSdXZSUGdG?= =?utf-8?B?UzFWdy9TY1ovYlJ3cTVJbGE3NG1QYjBpbUxMR3JOY0hHc0JJTzRITS96QjJq?= =?utf-8?B?STRpUGxYaFFuak5tbWdhamcvMUN1VTRBQ0dQRGZtdlhnR0hnMTQ1YnE1MGdE?= =?utf-8?B?TXd6T0o1dGdUZmNVMG5YUUdtY0E4bHBPYXRndWVKVTJPeVI1UnhQb1dkOUFI?= =?utf-8?B?OEJzWkE4T3Q4RE52Q0JYWHo0Vk9yTmFKMXJUWXNlUUN0dkZDc2Fvb2dIblhO?= =?utf-8?B?YUJKdkovSHZVN1UwSkpVMEcrSXE2cVVtN1VxWWJXR2pVU2pZR201MWswNVJ0?= =?utf-8?B?QTlpd3dlbDEzVDViRE41Qm1EbFJzVVVkKzkrTUZVSS9ZVlZobXdNd2t5Sy9H?= =?utf-8?B?aGdPeGQ4eW52ZDNmdHB1b1FXWjNvK1p3ZkhmbEp5SGUvQUxIeTE2ZC9aM3p2?= =?utf-8?B?c25BZWYyZ0lkcVBjNzFNOUQwQ1REdTIxdFhuUk9JSmk0cFlDbnIxcUtkdVNo?= =?utf-8?B?SmFEekpWcEV6RjBCN2dHVy9BclkwbUxka2hLVmRGeUdIcTF1ZlNsa3YydjZR?= =?utf-8?B?MnNsZWFRS1hmM1J1U1BFOXJWYkp6MFZMVjhvRDBEWVI0OTRTQ0RBOWxXZEFW?= =?utf-8?B?eVJxR2RBbU5PbXdxdjdSUFAweTNJa1l2dXUvaVF5ZEFsRDBaS3J0MlRkR0Qv?= =?utf-8?B?MllUNCt0bHcwRFIzRGJHcUtUYzVKUHY0M0xweElxL0IxWTlFOTBnUmJPd1pN?= =?utf-8?B?Q296R3FoSkQyUVNpNnlMS1JRa2VwZ05uWDcvQXdRZ1ltQU5kWkZRWTVjV04w?= =?utf-8?B?MWt4QmxmM1EyakFRNU9uQU41eDM3cGc5a1hUclQvNnNkK245Q21CaUJhc0VX?= =?utf-8?B?d0VIZUtRY282bDRPKy8yRDdZWExtWEZEaWlaaXE5Wi91MkRwTWZibzZpSzFM?= =?utf-8?B?ZVZncHFadHdSYXZOcFRONFh0SndjYTBZTnpuemN5MUZLVm9GWU1oTjhYTTBX?= =?utf-8?B?OUtrcStMYkVxMWY1OTZDbTBVelE4TUhoY251dzdaV2hNa2tPWmJyU0NiQm85?= =?utf-8?B?RUJhVUlWOUFiMXcxVmJwTnByYVFGNWJ3TUVMMWNEZjlqVHQvR2dkZGJuS3Jk?= =?utf-8?B?ckU3cTZxSXJLUG1Wcm5hcE1XdFJUankrR21vUng3MHQrRWVLMGtOa0V1eW4z?= =?utf-8?Q?z7R/d8Hvg/e++f53fX+8uQd7R2Z2OXd2UPfYyGdLnzGl7?= X-MS-Exchange-AntiSpam-MessageData-1: YRkTGCn3pSDD2ahnpzlpazRwbJ9uBId0rHQ= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32edc0bb-324c-4b3c-b9b0-08df344a2d33 X-MS-Exchange-CrossTenant-AuthSource: AM0PR08MB11804.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2026 16:48:50.0973 (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: FbD/c9Ejhkc6q0mzz4q0mOOyowPw93LVQZoHnEzQxUjK7qKDtPQvzS+j8AdfYMdf3XMg32O81bTNcSqjcIafaS+DgaZ50eXmyidFMhjoUow= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB585692 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v6 3/7] block/blk-cbt: read a map slot once, publish a map page with release 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 CBT_PAGE() loads a map slot twice. A lockless reader racing with the cache flush, which marks an empty slot CBT_PAGE_MISSED, can get NULL from the first load and the marker from the second, and then use (struct page *)0x1 as a page. A page is also installed with a plain store under cbt->lock, but readers don't take that lock: on a weakly ordered CPU a reader may see the pointer before the page's zeroing, and the late zeroing can then clear a bit the reader has just set. Load the slot once with READ_ONCE(), whose address dependency orders the reader's accesses to the page, and install a page with smp_store_release(). https://virtuozzo.atlassian.net/browse/VSTOR-149268 Feature: cbt: changed block tracking (for backup) Signed-off-by: Pavel Tikhomirov --- block/blk-cbt.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/block/blk-cbt.c b/block/blk-cbt.c index 1066b6a33b6b5..73df03c6c7e74 100644 --- a/block/blk-cbt.c +++ b/block/blk-cbt.c @@ -27,8 +27,11 @@ #define BITS_PER_PAGE (1UL << (PAGE_SHIFT + 3)) #define CBT_PAGE_MISSED (struct page *)(0x1) -#define CBT_PAGE(cbt, idx) (cbt->map[idx] == CBT_PAGE_MISSED ? \ - NULL : cbt->map[idx]) +/* Load the slot once: the cache flush may mark it missing meanwhile */ +#define CBT_PAGE(cbt, idx) ({ \ + struct page *__page = READ_ONCE((cbt)->map[idx]); \ + __page == CBT_PAGE_MISSED ? NULL : __page; \ +}) static __cacheline_aligned_in_smp DEFINE_MUTEX(cbt_mutex); @@ -148,10 +151,12 @@ static int cbt_page_alloc(struct cbt_info **cbt_pp, unsigned long idx, return -ENOMEM; } - if (likely(CBT_PAGE(cbt, idx) == NULL)) - cbt->map[idx] = page; - else + if (likely(CBT_PAGE(cbt, idx) == NULL)) { + /* Release: lockless readers use the page once they see it */ + smp_store_release(&cbt->map[idx], page); + } else { __free_page(page); + } page = NULL; spin_unlock_irq(&cbt->lock); -- 2.55.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel