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 048AE8017D for ; Mon, 2 Nov 2026 17:35:26 +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 6A2HY8AI027621; Mon, 2 Nov 2026 20:34:09 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A2HY8AI027621 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="DpIg+ptx" Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A2HY6Qw027617 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 2 Nov 2026 20:34:07 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A2HY6Qw027617 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-91c84eef313so64435246d6.1 for ; Mon, 02 Nov 2026 09:34:06 -0800 (PST) X-Gm-Message-State: APuU4Z8jKxQDYnID/HRx4FDWCgZo7CHJoh5vKaBVrJkTe5A8EnCph1VR uHkrM+XU2Cd9Vo3hGLW8+YRbsbzSvGORIgrR8zlj42UlO4AwZtd2hCEJbd7vYllthgurle/7yaI TKphA3PU+WExfn8xpiedoIboznU7jb6ripFSaQz56s8OkU/q/klBZLw== X-Gm-Gg: AYBFou18oeJVGINZ4Touj9LD5zNWHbryNHm+8Rog5Zpuc8IetNOd8DLNPtKTSauUFd+ zbb2xakgBZ4IH0LCrXOsV5RmK5TLOB10z+pEhUeq12yC6BmSQG6OJqmZv5b6Hy58woOW4dvvcZI MUU6AhMVnH5VlGaMR8Rrawm84vucKLuwVgYQQ5zhFg779hTXOI/TwEObSVy5MzX7dkf1Tmxk5lF 5r70SW2nW/Hl/3yaQmjlmbjF0QulmoB55RPMVhqEsq5a+LKY7/EQgH54Db6KDErzVpgfalGN8NC iAxQuPSGD3jujvISN0SvDdR5uPSuVy1ntrdjXy1iAsZESirw8ZRh7Iuq1oIOIB7DbpREabIIx0Y IrWKWxinRpXl0JitBW7+Ddt/GGbRJdESUQkzBOwDSOwfS8nI5iQ7DY1pcrjOc2v3kuVXCbex3Y8 qoh4WWuR6Nh0CnU5Gh1f2+utZM X-Received: by 2002:a05:6214:3485:b0:91c:c678:6fb1 with SMTP id 6a1803df08f44-91cc678704fmr41347076d6.33.1793640845810; Mon, 02 Nov 2026 09:34:05 -0800 (PST) X-Received: by 2002:a05:6214:3485:b0:91c:c678:6fb1 with SMTP id 6a1803df08f44-91cc678704fmr41346616d6.33.1793640845185; Mon, 02 Nov 2026 09:34:05 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1793640845; cv=pass; d=google.com; s=arc-20260327; b=I97C3u4BgFTozpjp5AAmQdQjkMWvsJ54UJuiCdnLmm7QjZcTmABbb/Edn/+kfLVUAM CFF1LyiC/YC7jTsv1eAnmngd0M3iXYO4geRKxcBcpEBVn1fL5NvGN1bKen6Z6hy4SAOz ocwcRMbTbRV7xKHfgDGA0RTmbGL15GeGGBnMCm4YB1BeS2XBubIwr8J4OlEfNrcmMN9h VyUI/7hdx/pR13SP9TXRO8CTFcS4WEYmeKN3ORK859Zq47RXVFqcDAycX4TtzvGbxxK5 PN3waQzB3Tbpg3DXWZnD0wQbHHWH9aYjPvJzfUjoCFTO6HRgDLgjlgNzOhWaZAaH5llf xNGg== 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 :content-language:references:cc:to:subject:user-agent:date :message-id:dkim-signature; bh=guk33bR7IlMDMe2GF6bU7mw2pG7Ncyt1QXYbl3jDHnA=; fh=cZ72tgMlH9Mo/yU1ydTnVX7gSx4khQcwDMluwhixV90=; b=cRBi6YdvG4jcemXAg/HHeq2DKMFAbwcF6PtgtKUPk03RrSzpBFL7LhRVS7Uoi+ZZM0 1JWK8jd2+TEr5Ab1/nEKD3tCacPEhLDZkMe97PkU2rdhtKtX+8wzqxu3sNVf3x28htky tDHbrGcEJhK60rXlRB0/X87C6LbWn8g7GRqY7ERmo9x2g1SGEfxHk9R2HfGmNeGurRlb 0LH+iy1z6ECQoMg8u42QBxB1zWcgsqT8UocxjfiLuh30aatdb9CViB4QPn1G0AmK7n8J hxiJkLLOkQjCCOKHBHNHLFv9sVDyJd60EKxYmumep8jZijG+fkOP92gKN/3TUqk8A6Xs FsHQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=DpIg+ptx; 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:c202::7 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c202::7]) by mx.google.com with ESMTPS id 6a1803df08f44-91ca810a5c0si105637036d6.566.2026.11.02.09.34.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Nov 2026 09:34:05 -0800 (PST) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c202::7 as permitted sender) client-ip=2a01:111:f403:c202::7; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=DpIg+ptx; 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:c202::7 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=QW4CjjzqFIPFYh8W4m7BQhp0pTKPis5Y771ZLW1kue4YsTJbIjIsuajLugaRYbK1i3Crqxds815mTrfgkEGy7uGCTOd69JyPbvo7PbBuEN2ADd5Fb5iDxEmR0M2XaH5i+YKFW0e2DxSg3FHWmiCMgCncYl0JuFdK0WQYAd64yRZTN+fpZdPX64CApn1E4cwOoHcDTcGazeBr2/huL/ReHmx1JMaAl1G81o6HAF2Gk9E4684FPe/9IdrC3b+LYHS9FApY5cgIhcxU5zcTvN0acnGiXJs7UwWhRQleMuOH+pdPFpt4JRpH58HEkaWR95FnXoGrt0/yCslf6jptH0uCNA== 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=guk33bR7IlMDMe2GF6bU7mw2pG7Ncyt1QXYbl3jDHnA=; b=UIR+QpiTrabyDorQNBOH6yWKUdfsClRwTyOs1t/0omVokM+mcvCeM4akaNxL81d2J9cW5xBCl955lTQHHWWhq43wJ1C4Rq87wUFtMu6YxiqO7t6kNQ9EzCQEDnlOH/EijAarLJ7XtjnsQ4XMZum0pxZLnEimYI8eXozVKoI7v62fJUzyFWCVjmJIHZ495XjWwot2DD8C33FAuP9btn5eTQ15YQMH8nsv5zzzNHiF5gV682oenS48RNXvyr0q5EpL3UqtoiiYZvYmxXbofJGNdI440uKYB6PGG2rftczKT50hhRWfcUBkV1BfHSGOxuSQ3TOacN/troXK2cVZRWDAEg== 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=guk33bR7IlMDMe2GF6bU7mw2pG7Ncyt1QXYbl3jDHnA=; b=DpIg+ptxNBjfPeL3/FDN/Nbg6o+qFlYGnhWEv7LT34DSKCm5B/ujemKJlxB7+OPQI6m3zQgHcN80oKpMUEshMqQYG1b8VAbFCF1AJF36ntZwmms3bsA8NLxeSm5r+gjas5T6hunhcZ9C1CaMegzPBzequZSaZJJ9/yHgXDEKikL4vFJXAVT+niCvRt63m/IkEuSwqFMLhr7Sh7CtFEbyZBcQQA4mFVs5Bs3cdPc0gyn5qGb+bEiE0u2f2ezZ1lLHlut6SEYB6/8EhKK4Kyv9QmaJukbY732uJmWDICeh3dV5qIr2/OYpA8ztdXZS3Ux91tmL8I8gQxxOzbeErd1KUw== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AS2PR08MB9075.eurprd08.prod.outlook.com (2603:10a6:20b:5ff::9) by DU0PR08MB8280.eurprd08.prod.outlook.com (2603:10a6:10:40c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.12; Mon, 2 Nov 2026 17:34:02 +0000 Received: from AS2PR08MB9075.eurprd08.prod.outlook.com ([fe80::3f57:9ced:7a37:1bd8]) by AS2PR08MB9075.eurprd08.prod.outlook.com ([fe80::3f57:9ced:7a37:1bd8%4]) with mapi id 15.21.0569.011; Mon, 2 Nov 2026 17:34:01 +0000 Message-ID: Date: Mon, 2 Nov 2026 18:34:00 +0100 User-Agent: Mozilla Thunderbird To: "Denis V. Lunev" References: <20261102161219.3735623-1-den@openvz.org> <20261102161219.3735623-2-den@openvz.org> <010701a19d334d83-a30b270a-30d0-4a81-9a2e-e83dd8547c05-000000@eu-central-1.amazonses.com> Content-Language: en-US, ru, sr From: Konstantin Khorenko In-Reply-To: <010701a19d334d83-a30b270a-30d0-4a81-9a2e-e83dd8547c05-000000@eu-central-1.amazonses.com> X-ClientProxiedBy: AM0P190CA0028.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::38) To AS2PR08MB9075.eurprd08.prod.outlook.com (2603:10a6:20b:5ff::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB9075:EE_|DU0PR08MB8280:EE_ X-MS-Office365-Filtering-Correlation-Id: b1ea97ae-5f03-4c30-769e-08df39077be1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|261102123227099003|4143699003|56012099006|261021123027099003|261009223027099003|261028144727099003|261022105027099003|261026121527099003|261021121427099003|261022075727099003|261026140227099003|10067099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 2Pk6Kgz6b/9bXQY7mwSLGdMYrvObRIGNf8NrPMmGO6EkgrDHvgYDdNzRtJZCha1As/xD1be48GhwDIipUYkowQvRNO1PQDgZnTApECHSQGMCZ8LLr3k1pK2B/BkM+O/pMStqzWY+quyNVePUokgpXcHhIBmM41Uw25NDKzV4mFe7OMUqPXb/OdJ2HU8+W2rolo2s4RHnm5bdocZXX4C65fAqcQiybyXAR6jaYldYCW9thvKyFdFy4XbsnzdMEWGvVcAu9ocYstOuHU/BSL0JZP7L5JCJXOK5eNJvf+u2FiyQlSGXzqQzKnrVNpe1FSs/DFtEkS8RoqilqL1ejD9TBhyjm3XLItKBTefbCEZXNa62jQY/2S4LfprUrhKEMjgYFEpPbBtIv0coL0yiCorItjHt4kR+YTqQA8eplv7w4wlJPyTodBfzMV0gWRISNMru9nVQSnEky/djGWnGn0G9iZtrbjH8jHMH26RzxDn0nBW/ClQdbgsIbMB96rloGmNNrJUtmEJjQ8zOlWazBQ0CBy8g0Y9/YvXmBApOEgJLdNkpDcCg+aWkE7QVhI6L8P7yJS9+VGwqaPZMyiBQ7Z2Lrd/3mOg51uLWiWCgm02/KOc3FGFerIPgwWxDqnTDEP3Q X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB9075.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(261102123227099003)(4143699003)(56012099006)(261021123027099003)(261009223027099003)(261028144727099003)(261022105027099003)(261026121527099003)(261021121427099003)(261022075727099003)(261026140227099003)(10067099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TWhuR0RhTk5qelFmN0dNMUxFcGc3WDcvcS95VlI1SFhIMTlGMk50aG1GRU5C?= =?utf-8?B?SGpSMno1cUVtTVRsL2pCVEtKSHF3bmUxYXVUTm40U3VGVzBkNjBFT2MxdmJC?= =?utf-8?B?NjhQUHU3RWg3dHpCYmtSUWF5YmVodjdEUXNRRDJBUmNvTlg2WTdZVmFEZ2x1?= =?utf-8?B?RHB4WXRTdTRXUlU4NUh3ajVLWTVPL3ZrdndvaFhLMDZKZUs3VUI2YlhjWCtl?= =?utf-8?B?S3BIeE9OM0FoRFJzQWMzcTc5UnpMQTNyNkhySnZOQXVVcHJJMTZUcHhjM0Mw?= =?utf-8?B?NjVQL0RwTENDdEVJdXRvZW0zbWZPQmdvODd0YzhBTXcyS2FsbWV0MFRZVjJq?= =?utf-8?B?REhicE01SzY5dXloYTlSSkhIazVQNGJWWmtRNGlyL2RsbjJpelYwcWdYSWZB?= =?utf-8?B?NEtsZFdHTDQ4Wk5ObnpBeDM2TkYwSWZEa2p4UHE0eEo0YmQvL2lLRTVhQnB4?= =?utf-8?B?RHFLWndOOHRxbmVtMjBKYnEzeWlJbDRzWFhxdFdyUk5rbTlhcVBDajR5bUNV?= =?utf-8?B?WVltN1JobldmOFJMcVJKUnpvdUtSNHhxWDhNSzNYdzlqaXFXaHc4MzV4Tng1?= =?utf-8?B?cWZ3TVJ0K2RoRCtMUXdoS3BJRktVa20xR0E4amxCK1dTbjRTMlVYVmNTWnJG?= =?utf-8?B?ZlozUE1JOVMxSWVrcnJZYXZENEt5cU4yUGtXL1hDSThEK1RqbFRJQURBb25S?= =?utf-8?B?L3FaSmYveGJIZmhhTFFiZFBDNzgrMUlFS1UzQWtFT3NKTGpRaWhXd3NHY09S?= =?utf-8?B?M0ZuVzJkc2hXV2pCeERNdEZMYjZhMlBFOVowMUZNSVF4VDFzZXZqQjlZQlQ4?= =?utf-8?B?eEYvb2xiYTI3WFVOWFNrRU9RVy9mOGd6em95ZmxJZG02NGpraE1vNGU3S1g4?= =?utf-8?B?YjM5Ymg3bnNiYW9HcXVQaEtscGlBckZsYXlGNUlTY1RTblh3WWVzY1htMFBQ?= =?utf-8?B?K094LzVMZEhrdmJ2SmtTWXNSTW5vKzNRTUFlejRVUDRrQjRnNlByd2dQc0dX?= =?utf-8?B?YXljY2lLUHV1ZXdPKzRYanVKVDhUblg3KzVVcXNPczdTUjF4dW9vTERtQ0Ft?= =?utf-8?B?ZER4YVA0bUlna1pHc3NVOFJUTnp2b1NzQWJoSUMvZlFMenpDYkVTZTY3K1BI?= =?utf-8?B?MXZqTEU2S2NzYUFhQ2lzSWJMSlR3bXg5ZlpqVUx6elN1UW5SYTB5QVIwSE1W?= =?utf-8?B?Uk5CamdSYVlZTitjSzVhNGU4UFU1VmROL0xUTnZQT2FaYzNORHIxNDZmOVo5?= =?utf-8?B?TGZsSFlWdGVXT2lsRysvSHBUL20rZTd4TXRSajZPZk54UzJHUi9GVEhmUkF2?= =?utf-8?B?TkR4QnA4eGVqK0xuUmkzU01SbnYrdmFWWS9PVkM4a0FqSVc4Y21jTWxMQ21t?= =?utf-8?B?SWhpOTkrakQrNXlsT2xtQjQxN2UvQS93N1lOQzlzVkVCSzdicWt0Sy83V0Rx?= =?utf-8?B?M3dDeXE2M21KQTJIb2VwdTM5VzdmQVJud0ZKSlREd2g2TDBMc2pjUTBUSnJJ?= =?utf-8?B?amxYSTVwUnFudUs2MUpQeExyK1JPdTc2dmphQU8vTFZBc3VzaEtZeGVJMGpS?= =?utf-8?B?UGI5YlZKSkZySmtabVJLQlpyY3dSSmxDd0xFS3JoZFlORFBKQVJzU3VQOVBi?= =?utf-8?B?S1prREEwNlJhVG5ZOVJCWm1TSEVWTyt1eTc1VkVVQ0tZYllLTC9GZ0dZWm5y?= =?utf-8?B?NnQxTkk5VS9jWm5JMEVjRHZGY2xyS05HUHhCK3pzLzVLVk1mV3Z2c3BQZWpW?= =?utf-8?B?OHBURE9FQjI0cnluQ2lLMEZWazA0SGVMQ1JYOUhyU3Z3Z1JyQk9iWW9FZ0ky?= =?utf-8?B?djdlUFpabFpXSEdkYS84VjNHZFFPTnpXd3J6NW9ySjdURlREU3B6bjJTZGhL?= =?utf-8?B?Kzd6U01UamhuWEhqYzN5VEEwRU04OXdhb3k5OEJtVFh2bndDN2FuMW5TSDJT?= =?utf-8?B?em5uN1doQjhtMjFEb1U0YWVpaGQ1SjBQNy9tcjZZQTE0MFV0SExnNU9ub29i?= =?utf-8?B?eThubnd3dWpFQjdaeEEwQ2xuc3R5WjUzdHEzUFMzZVlld1czVytuNWpwUi9T?= =?utf-8?B?L096UWxTZU1vOFdzWDNrK1MxZmJTQVg2RkVTUU1NL0E4enh6eG5Hcmw0RmRR?= =?utf-8?B?ZmJYZUhNL3Jlc2VYOENWczFpckdyd29HQTdMaTF2RVZsQ2pKNWRLQWFzMkhW?= =?utf-8?B?UzdObFBnQ0NGdlBaYlQ0L2tQaklKQWx4Z1RqMHhsMHhHQnhHb05ROVZHWHd2?= =?utf-8?B?cTNiQmxPL1c0RFgrcEtYcTZGSmFBWFRmbkE0RWpOVHVnTjNEcjkyZm9wR2h2?= =?utf-8?B?cmFDZHFaQ1FMOEJDYU5TNnZFUkFHTllkcnlmL1Uwalk0b0c5T0w1UT09?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1ea97ae-5f03-4c30-769e-08df39077be1 X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB9075.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2026 17:34:01.7020 (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: of6rSeNkZdKz0lCI90kHvVKtaeeV6/ywFKGW0YO0IbW/ZTl4BiaXeWU6aR/2bDiObGMJOXl2HZN8TsrIM+0Q/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8280 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 1/2] ms/blk-throttle: fix access race during throttle policy activation 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="utf-8" Content-Transfer-Encoding: base64 Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org T24gMTEvMi8yNiAxNzo1OSwgbm8tcmVwbHlAc2FzaGlrby52aXJ0dW96em8uY29tIHdyb3RlOgo+ IFRoYW5rIHlvdSBmb3IgeW91ciBjb250cmlidXRpb24hIFNhc2hpa28gQUkgcmV2aWV3IGZvdW5k IDEgcG90ZW50aWFsIGlzc3VlKHMpIHRvIGNvbnNpZGVyOgo+IC0gW01lZGl1bV0gYmxrLXRocm90 dGxlOiBibGtfdGhyb3RsX2V4aXQoKSBza2lwcyB0ZWFyZG93biBhbmQgbGVha3MgdGQgYWZ0ZXIg Yml0IGNsZWFyZWQKPiAtLQo+IAo+IGNvbW1pdCBiNjllNWQyNGE0NjczMDM1MGRiYWUwMDEwMDM1 OTc2OWNiNmNmMzU0Cj4gQXV0aG9yOiBIYW4gR3VhbmdqaWFuZyA8aGFuZ3VhbmdqaWFuZ0BsaXhp YW5nLmNvbT4KPiAKPiBtcy9ibGstdGhyb3R0bGU6IGZpeCBhY2Nlc3MgcmFjZSBkdXJpbmcgdGhy b3R0bGUgcG9saWN5IGFjdGl2YXRpb24KPiAKPiBUaGlzIGJhY2twb3J0IHRpZ2h0ZW5zIGJsa190 aHJvdGxfYWN0aXZhdGVkKCkgc28gdGhhdCBpdCBhbHNvIHJlcXVpcmVzIHRoZQo+IHRocm90dGxl IHBvbGljeSBiaXQgdG8gYmUgc2V0IGluIHEtPmJsa2NnX3BvbHMuIFRoZSBhaW0gaXMgdG8gc3Rv cAo+IGJsa19zaG91bGRfdGhyb3RsKCkgZnJvbSBkZXJlZmVyZW5jaW5nIGEgTlVMTCB0aHJvdGxf Z3JwIHdoaWxlIHRoZSBwb2xpY3kKPiBpcyBzdGlsbCBiZWluZyBhY3RpdmF0ZWQuIEl0IGFsc28g bW92ZXMgYmxrY2dfcG9saWN5X2VuYWJsZWQoKSBpbnRvCj4gYmxrLWNncm91cC5oIHNvIGJsay10 aHJvdHRsZS5oIGNhbiB1c2UgaXQuCj4gCj4gTGluazogaHR0cHM6Ly92aXJ0dW96em8uYXRsYXNz aWFuLm5ldC9icm93c2UvVlNUT1ItMTUyOTkzCj4gCj4+IGRpZmYgLS1naXQgYS9ibG9jay9ibGst dGhyb3R0bGUuaCBiL2Jsb2NrL2Jsay10aHJvdHRsZS5oCj4+IC0tLSBhL2Jsb2NrL2Jsay10aHJv dHRsZS5oCj4+ICsrKyBiL2Jsb2NrL2Jsay10aHJvdHRsZS5oCj4gCj4gWyAuLi4gXQo+IAo+PiAg c3RhdGljIGlubGluZSBib29sIGJsa190aHJvdGxfYWN0aXZhdGVkKHN0cnVjdCByZXF1ZXN0X3F1 ZXVlICpxKQo+PiAgewo+PiAtCXJldHVybiBxLT50ZCAhPSBOVUxMOwo+PiArCS8qCj4+ICsJICog cS0+dGQgZ3VhcmFudGVlcyB0aGF0IHRoZSBibGstdGhyb3R0bGUgbW9kdWxlIGlzIGFscmVhZHkg bG9hZGVkLAo+PiArCSAqIGFuZCB0aGUgcGxpZCBvZiBibGstdGhyb3R0bGUgaXMgYXNzaWduZWQu Cj4+ICsJICogYmxrY2dfcG9saWN5X2VuYWJsZWQoKSBndWFyYW50ZWVzIHRoYXQgdGhlIHBvbGlj eSBpcyBhY3RpdmF0ZWQKPj4gKwkgKiBpbiB0aGUgcmVxdWVzdF9xdWV1ZS4KPj4gKwkgKi8KPj4g KwlyZXR1cm4gcS0+dGQgIT0gTlVMTCAmJiBibGtjZ19wb2xpY3lfZW5hYmxlZChxLCAmYmxrY2df cG9saWN5X3Rocm90bCk7Cj4+ICB9Cj4gCj4gW1NldmVyaXR5OiBNZWRpdW1dCj4gRG9lcyB0aGlz IHN0cmljdGVyIHByZWRpY2F0ZSBicmVhayBibGtfdGhyb3RsX2V4aXQoKSwgd2hpY2ggYWxzbyB1 c2VzCj4gYmxrX3Rocm90bF9hY3RpdmF0ZWQoKT8KPiAKPiBUaGUgZGlzayByZWxlYXNlIHBhdGgg aXM6Cj4gCj4gYmxrY2dfZXhpdF9kaXNrKCkKPiAgICAgYmxrZ19kZXN0cm95X2FsbChkaXNrKTsK PiAgICAgYmxrX3Rocm90bF9leGl0KGRpc2spOwo+IAo+IGJsa2dfZGVzdHJveV9hbGwoKSBjbGVh cnMgdGhlIGJpdCBmb3IgZXZlcnkgcmVnaXN0ZXJlZCBwb2xpY3ksIGluY2x1ZGluZwo+IHRoZSB0 aHJvdHRsZSBwb2xpY3k6Cj4gCj4gICAgIGZvciAoaSA9IDA7IGkgPCBCTEtDR19NQVhfUE9MUzsg aSsrKSB7Cj4gICAgICAgICBzdHJ1Y3QgYmxrY2dfcG9saWN5ICpwb2wgPSBibGtjZ19wb2xpY3lb aV07Cj4gCj4gICAgICAgICBpZiAocG9sKQo+ICAgICAgICAgICAgIF9fY2xlYXJfYml0KHBvbC0+ cGxpZCwgcS0+YmxrY2dfcG9scyk7Cj4gICAgIH0KPiAKPiBXaGVuIGJsa190aHJvdGxfZXhpdCgp IHJ1bnMgbmV4dCwgYmxrY2dfcG9saWN5X2VuYWJsZWQoKSBpcyBhbHJlYWR5Cj4gZmFsc2U6Cj4g Cj4gYmxvY2svYmxrLXRocm90dGxlLmM6YmxrX3Rocm90bF9leGl0KCkgewo+ICAgICBpZiAoIWJs a190aHJvdGxfYWN0aXZhdGVkKHEpKQo+ICAgICAgICAgcmV0dXJuOwo+IAo+ICAgICB0aW1lcl9k ZWxldGVfc3luYygmcS0+dGQtPnNlcnZpY2VfcXVldWUucGVuZGluZ190aW1lcik7Cj4gICAgIHRo cm90bF9zaHV0ZG93bl93cShxKTsKPiAgICAgYmxrY2dfZGVhY3RpdmF0ZV9wb2xpY3koZGlzaywg JmJsa2NnX3BvbGljeV90aHJvdGwpOwo+ICAgICBrZnJlZShxLT50ZCk7Cj4gfQo+IAo+IFRoZSBm dW5jdGlvbiByZXR1cm5zIGVhcmx5IHdoZW5ldmVyIHRocm90dGxpbmcgd2FzIGNvbmZpZ3VyZWQg b24gdGhlIGRpc2suCj4gQ2FuIHRoaXMgbGVhayBzdHJ1Y3QgdGhyb3RsX2RhdGEgYW5kIHNraXAg dGltZXJfZGVsZXRlX3N5bmMoKSBvbgo+IHBlbmRpbmdfdGltZXIgYW5kIHRoZSBkaXNwYXRjaF93 b3JrIHNodXRkb3duIGluIHRocm90bF9zaHV0ZG93bl93cSgpPwo+IAo+IEJlZm9yZSB0aGlzIHBh dGNoIHRoZSBndWFyZCB3YXMgb25seSBxLT50ZCAhPSBOVUxMLCBzbyB0aGlzIGxvb2tzIGxpa2Ug YQo+IHJlZ3Jlc3Npb24gZnJvbSB0aGUgY2hhbmdlZCBwcmVkaWNhdGUuIEkgYmVsaWV2ZSB0aGUg dGltZXIgYW5kIHdvcmsgYXJlCj4gbm9ybWFsbHkgaWRsZSBvbiBhIGRlYWQgcXVldWUsIHNvIHRo ZSBtYWluIGVmZmVjdCBpcyB0aGUgbGVhayBvZiBxLT50ZC4KPiAKPiBUaGUgZm9sbG93LXVwIHBh dGNoIGluIHRoaXMgc2VyaWVzLCAibXMvYmxrLXRocm90dGxlOiBmaXggdGhyb3RsX2RhdGEgbGVh awo+IGR1cmluZyBkaXNrIHJlbGVhc2UiLCBjaGFuZ2VzIHRoZSBndWFyZCBpbiBibGtfdGhyb3Rs X2V4aXQoKSB0bwo+ICJpZiAoIXEtPnRkKSByZXR1cm47Ii4gVGhhdCB3b3VsZCBmaXggdGhpcywg YnV0IGl0IGxlYXZlcyB0aGUgaW50ZXJtZWRpYXRlCj4gY29tbWl0IHdpdGggdGhlIGxlYWsuIENv dWxkIHRoZSB0d28gYmUgZm9sZGVkIHRvZ2V0aGVyLCBvciBvcmRlcmVkIHNvCj4gdGhpcyBvbmUg ZG9lcyBub3QgcmVncmVzcyBibGtfdGhyb3RsX2V4aXQoKT8KPiAKPiBibGtfdGhyb3RsX2NhbmNl bF9iaW9zKCkgaXMgbm90IGFmZmVjdGVkLiBJdCBpcyBjYWxsZWQgZnJvbSBkZWxfZ2VuZGlzaygp Cj4gYmVmb3JlIGJsa2dfZGVzdHJveV9hbGwoKSwgc28gdGhlIHRocm90dGxlIGJpdCBpcyBzdGls bCBzZXQgdGhlcmUuCgogIOKWjiBDb3JyZWN0LCBhbmQgdGhhdCBpcyB3aGF0IHBhdGNoIDIgZml4 ZXMuIFRoZSB0d28gYXJlIGtlcHQgYXMgc2VwYXJhdGUgY29tbWl0cyBvbiBwdXJwb3NlOiB0aGV5 IG1pcnJvciB1cHN0cmVhbQogIOKWjiBiZDlmZDViZTZiYzAgYW5kIDMzNmFlYzdiMDZiZSBvbmUg dG8gb25lLCBtYWlubGluZSBoYXMgdGhlIHNhbWUgaW50ZXJtZWRpYXRlIHN0YXRlLCBhbmQgdGhl IHNlcmllcyBpcyBhcHBsaWVkIGFzIGEKICDilo4gd2hvbGUuCgoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRldmVsIG1haWxpbmcgbGlzdApEZXZlbEBv cGVudnoub3JnCmh0dHBzOi8vbGlzdHMub3BlbnZ6Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVs Cg==