From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 68E2A2264D3; Thu, 23 Apr 2026 19:30:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.158.5 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776972653; cv=fail; b=sYhPtsWK1JR+MZ0SyNfQg2+d7FxQYyj91PAcm4eOjH0SQcsSfPmkg85Q68zcM9ON0tzqUMst6OqUxgqaCEv5RVmEy455wAkQZSaTMzR1hxApkRqlHZC1SPaVs8hJeeNW3hI47V+MHc73Ps4ZiDHEohAUqXLfXtklnbUsA6oe9Is= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776972653; c=relaxed/simple; bh=ZSnfvcfrxWo3DzyklyR5JhPC6H0h4Na7p9bBYLQ7muE=; h=From:To:CC:Date:Message-ID:References:In-Reply-To:Content-Type: MIME-Version:Subject; b=EX5aelSUx0hNuaRNr9x64rNvnUoyGc3Zx3E3qVSIks38RC07Wrb4kFhr85SOUTcrJWuJvXRgZLxFg2DI9p9KfHrKVJ8dlargvcawpY1KTfnPoTH/fvgxOkmy3oiU7yITJcHlRmmyJcC+Pd2EOLP3cMuZCQBi5qLElKgPrLdgC4o= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ibm.com; spf=pass smtp.mailfrom=ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=rg7I4gIN; arc=fail smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="rg7I4gIN" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63NIxg5C3944372; Thu, 23 Apr 2026 19:30:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-id:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= pp1; bh=ZSnfvcfrxWo3DzyklyR5JhPC6H0h4Na7p9bBYLQ7muE=; b=rg7I4gIN MZCdzaDfyV1/EMZdPZvAaBeNNLTbpCy3RtIjYOrxkIij9CNo09QF4GULFZeKk4hp Hd5IxvJroHBUbC/oEalQxRvNcxonzYF5NnD77wEfjrCHbsgRN74gJmIMUpaQ/eGi oQRvEFMBIwl/sIhEr50Dy9fMbIzTRsN63fzMq3/FEkrSU8vTey5W9UdpXWMolCNp aZpGEOxVhXVQ8JXT3BoFavT/ZTXHGcMibttJQC3NrvW2H5Euww3iMCGXa2G/36It gU3dF3kG1KZ6SLVwyCoB0Ks/qJsWR+FFi2OfCJMy/rVmMDrqAXeKVnzhkh+62s1K KQ+WVqIK/PZBMg== Received: from mw6pr02cu001.outbound.protection.outlook.com (mail-westus2azon11012049.outbound.protection.outlook.com [52.101.48.49]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dpeu3sujr-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 23 Apr 2026 19:30:36 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OUDQE+vJ7hKiZvQ7l9vuJ3aO8K26IdkSClim2c5swIOuVe5lFH/YnN/zGHzCIFjuIekUpmEgUvp68QqCJnU+eWDKCIxtFS7dYcyCy87o7MXz0msG2XTPqsut81lNV46DjMkUEKSi+tZ9RqPlUJHfkU1ptnc7BoRC2GwUrkzqlOOxXwx/HSu6z2Tq95IUdLK/P853EDX9ZCnqcS68ZJbf3CAVcQF4O8uUtjf0pBa49PRYjQNG1tChnvYDKw+FrTao9lInB3pexYaJ9x/2SdMyu5nAsz8DQ8E6jDMbyNyOGwKXN6YKUq+OkDAzrqoZ7mzQWZgcTVrTEuHc7dII/7dWHw== 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=ZSnfvcfrxWo3DzyklyR5JhPC6H0h4Na7p9bBYLQ7muE=; b=N2Vw2wVmFpBws5uoE9JTIIeTZNhPLZ2DwO3ildKwd1C3c7yprjLOpMsv9YqKl355iL1RxAgN7BuOyp0pVi6WkaQ7LXNVnIT2etztL7/7m48GQakC8UA/Fby/CjUodmepK1JonrAEstzBnYnDrk7QZaeDFaptvo1wgUXc67adfNB32YSEv0V6dUfCYpVp+BLb/bix2Lcn6ydjEXqzkLqdabzS3AirIty3uiBDftRvO5WUPxH7JJ5bRxFKXiC1EV8nn4Zeqef7TifidNbRgT2sDdcFQhckqZ3dzpbbk5ypzNOB821GtGwWnQzDpHKAbOSfHxBCTDPW5l9wYrN2i2nG4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ibm.com; dmarc=pass action=none header.from=ibm.com; dkim=pass header.d=ibm.com; arc=none Received: from SA1PR15MB5819.namprd15.prod.outlook.com (2603:10b6:806:338::8) by DM6PR15MB3784.namprd15.prod.outlook.com (2603:10b6:5:2b0::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.20; Thu, 23 Apr 2026 19:30:33 +0000 Received: from SA1PR15MB5819.namprd15.prod.outlook.com ([fe80::920c:d2ba:5432:b539]) by SA1PR15MB5819.namprd15.prod.outlook.com ([fe80::920c:d2ba:5432:b539%7]) with mapi id 15.20.9846.021; Thu, 23 Apr 2026 19:30:33 +0000 From: Viacheslav Dubeyko To: "lilei24@kuaishou.com" , "idryomov@gmail.com" , Alex Markuze , "slava@dubeyko.com" , Xiubo Li CC: "ceph-devel@vger.kernel.org" , "noctis.akm@gmail.com" , "linux-kernel@vger.kernel.org" Thread-Topic: [EXTERNAL] [PATCH] ceph: fix potential stray locked folios during umount Thread-Index: AQHczzkoJA27+jX5M0yyYDHV4VR2ibXtENcA Date: Thu, 23 Apr 2026 19:30:32 +0000 Message-ID: <12947df1dc25981e9bbedfe5ede4a3d6850fe3d7.camel@ibm.com> References: <20260418133925.87125-1-lilei24@kuaishou.com> In-Reply-To: <20260418133925.87125-1-lilei24@kuaishou.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR15MB5819:EE_|DM6PR15MB3784:EE_ x-ms-office365-filtering-correlation-id: 5519bf3d-e863-4b2e-8ec1-08dea16ec960 x-ld-processed: fcf67057-50c9-4ad4-98f3-ffca64add9e9,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|10070799003|366016|1800799024|22082099003|18002099003|38070700021|56012099003; x-microsoft-antispam-message-info: FifOJq13GjIM9kv/49Foot4NvZdnz1THtMlroDfzLKxZQdIR3btxP4yThFTjBEdImL1Rm5981nfEXZx/G1SNQ2MVc9x4bgMsMcLW4YiQbMnWHQ2KJR8cybX/nwPmdB/w8hTmd1Z85i3t3YY4AIuAyhr4+OUO8fkE+hEYUvE8ZFLALN3AhZpUBv78PI2+UH8W1E6kKkbGeI+72e4rWlmxd+A6AyEDK3vuM4R1XIkDaK71TJAEmETtwiLYucsQGxHkv+HTdUIjVjMPAr/5qljOiiy7OymdeWhaB03sntxMmEKfxM+ParHyD0+iVVPEeX01s3hO1ouQa9uoj2Hhuf504DnhwNqW/w4ese1rxZTGU8HbSwbNPjHvteyydqvV6kOQOngaJlcJR/bZfBRvJvu7CZIFoP+ZdwWRZZvkVvbDKKkZSOzgqzGzK++JYJLSNRRbvi91rZDwf04HOHOBcDUo9c9LJuTpVZZ3qoC8EL83zd3W+saNrV3oNeKeq6uvN+t0xDIgRrnbf0BY3KgNEyWiIRcihBzLfwWpebEzQDT6qj2kD/JQy5ESpppBjk5IhtYrqSWKE42LX3+LjrglMukkomoUyRr7KdeHn6A2aBn6598ANHFjvBrC/UsZCoJVaK7I7c265baaqgUEW9STobpN6N/ckW4TpUsoZ8dO7+xF9dOifhDeo8fhkdqfXiUeTi+peCv6TZaiNqetM3P5GTbr2+Ueuzfs6185RKuhY2YSmBqGFSl55O/mMUidlZWurNCFW6g/EPMP5NMfLjGtZg6SQc7avNg5IfKSUOh2QpcW6yU= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR15MB5819.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024)(22082099003)(18002099003)(38070700021)(56012099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c3FEaDdhbVRScVQrMzA2cmpSMmNrSnN6azZnUnhkWWtWcU5HajZ3aXZuRmxr?= =?utf-8?B?Y3NtRG10VnpTNkhpUnFhc2w3RVYzQTlSUVMyNW1VNEM4UWk2ZithMWxWYWY2?= =?utf-8?B?dy9EZGtkeUZRVGdYR2hFUUtYN2U0UlR4bXJQbENxZDJiRUYwTEY4dk1OZHZv?= =?utf-8?B?bkZIZk9BSHZvWmZ0RmtMcTVOa0NobXlxQ2Y2cVd3UndNU1BnRVluWjVYY2Fj?= =?utf-8?B?eWYwc3JUTWQwbldIUEdRNGovY1RMbHNKelFzT0E4WnBMMXZaSWhIdlZBWWhH?= =?utf-8?B?Yk0zNzNrVDAzb0J6OTg0bDRwVUZudTJOQlhRZjFNMEdJVXJpZlNxUnVwbElV?= =?utf-8?B?cUkzZFRnUUN2bU16dkw3Rk03dEViYnNFQk1rcnFZclpqdUxUT2dWMUJXVTRJ?= =?utf-8?B?R2QyUW1Mekp3U1JjNGw1b1lSQmNvV2Z2QXFIVzQ5ZnJoU1c1V2Z2VDloQWxn?= =?utf-8?B?TWp0amVpaWkwZE9HSDdxaW5kditBdlV1STdBWVl3cW5HVmNGMDFRaEpLUkpF?= =?utf-8?B?VW5KZU9HUWl3aEkxNFgrdUtTQjBXck5LY1lZSkdMNzVHZjZKZERlV1ozcWx0?= =?utf-8?B?cjlmZ3ptaGI3bVJORyt2T2lDejlPcUlhZDN3eStUc1Z3K1N5dDc0QWxucUhq?= =?utf-8?B?cllUaE51eExaQUorMFRiTGVoOExIUHFtVDcrMzJBSUlYQkwrQjZQVEdweTFy?= =?utf-8?B?YzdzQ0hFZGJPRDNxQjIxRFN4dFUxOGdyZ2Jid3FNai93VzE2eCt2TUpqRGxN?= =?utf-8?B?dGVHNUYvM2RLQ09oSE1KeDI2QXdnMFAwTXY3cXFwRlZRTXE1enNMU1BLWHFt?= =?utf-8?B?UE9wQ0NWL3dDUzQ4VGZ4bytNMWkxalQwUHhneGpmT0hSQ2FvUVlndGVEVjR1?= =?utf-8?B?U1MrOXRPWlU5TWRha0l2TE90YjdCMHlHUiszMWlrQmRPL1VpSjBUZkNJZUxs?= =?utf-8?B?QTFXZGRsbk1qQk5UeDk4MS9kQ2NNN0JEdnBOQ1J2YlhEWUxMdEE4MWNmQ0Ez?= =?utf-8?B?NllON2ZFT1k3bm1YWnNneVEzazdHL0haU25TcUhGOEpVNUlqNzZuZ0hheGJy?= =?utf-8?B?RktYWHl6bEpwT2ZKempBUFArQTRjMElYSElBRnlsQWkwcWV5VXJRSlQxMElV?= =?utf-8?B?cWxad2gzK1dzRW5KbDQ2VXBjU2IyWVJqdDJkVmY1TFdsOWQ4TGlSaEV6ZzZT?= =?utf-8?B?VDNBa3ZDeFNjb1pYbGNNRHY0MmlVWEtTL1FwY2NkSTVqdlBsSkpzNEd0SDJE?= =?utf-8?B?SHF1TTNYMlhwR3k2ak4xRDJyMjd2NTBFbUFuVXljZjBTT3dLUkMvUkgwRThD?= =?utf-8?B?UGJ6TWFueFAwM1Z5NTRpM0dHck1GeFovNFlPRWhWaXU4c2szOE41eEhwUlpK?= =?utf-8?B?ZmpCb2hIY0xRTVhMc1B1VzRPcFAvcUszenZ1akpCMFI2L1BrWWZ4d2lsUlJr?= =?utf-8?B?TUd3cThLTnlsTmxwQWVZR0VqbUhXNzNBb0Y4dnpqaXZMcnhHa2VLN0FpcER4?= =?utf-8?B?YXhqYUlmdjFOaXNWV0ZzZG5OQWhaVlpybTVmQUtkN0NBVWZHL21xbi96T0lP?= =?utf-8?B?OW16NDMvKzlKSDhmRjljekNkVExCazZ2QmJGeUYzV3NyYldWZElqSWgrcCtZ?= =?utf-8?B?MVZEOW9tS1FvVUV5NkN5QUJQYktwQlllR1cySDhrdWNDZ1VvMEUwSHRmVzhh?= =?utf-8?B?ZjM4N1g5YTZEZXhXajRGU2pQL0NMT3FYamk2RDhCRDRkR3BpcDluS05VZHNH?= =?utf-8?B?RjRIWXQ5cG5uMnhiRi9OYkZvTzlrVmhUcXdNVFY0QVkzZmExRm5LRHR0MW8w?= =?utf-8?B?R3RpRG9YcWhwR3F4TTVyRWh6UTJRczh1S014MHBBbFNqdGIwdkJvZ0p1SytU?= =?utf-8?B?SVZsbHhEbFI0TFRsRjltWGZTdWdjeEhyN0ZJby9CZ0RjQVViVkt6NG9PcWZJ?= =?utf-8?B?WHMyZ1c1ZDV5Q0VpaThHYTdHSVYrQkFMVm9wUURFcGh0ZCsrcC9KcVhNUlpS?= =?utf-8?B?eUpwUDdSZUp0emVtRm9obDNTQzE0ZWtGTU9SUHBMeFJ3VXVnVUs3andyVTdl?= =?utf-8?B?V2lyb1g0UTB3NE4vMUl0a1N5cVBHNTRXTk44c3MrU1dMdW1NYkQxaGpSaVQv?= =?utf-8?B?VmE3bE5aTVhYS3ZYSjR6UHVCZERkUWRQRDdnUUdXV3o0UVV4OHIyODQ2WmZT?= =?utf-8?B?cmFXUXMvVlNEdytDRG13aWc0cWlBNTVqT3lsRXJtRmhGK0JFYVNYYWRqSG93?= =?utf-8?B?RHcvRUk0Nk8zQ1FhSkMzTW1SWGFkMVBrRFJiYm5sNHRHZWY1d0pDTXovaEJ5?= =?utf-8?B?MElRUzJCenZZTTdQZ2wrUjZxdE9aNGt5M1pvamNuSk9meXBYWm5meGhvQkc2?= =?utf-8?Q?BHkLmJhS94ZEL70C97Ds51NzGuoQZ0BuEZxHN?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: CFWKWRbWP2JUgDSSAQEFQYcTUhxk7BCdY12kieVA9AO0xs9R2aumnbhMVS1XuHg2+AUWpqEgYs9yNLqkeaz8HkQ2ljxQhAUVrScOCd9W7pCjIIWTRv/vwvBn5CQRojNcOUAfpbZbCUIBlmAxLcupyCgEe/zxAEEp6tQltRGoLOiNogDg/eRP/1XjKQIARbGFaTBxeudhkY4Vs/iMlGwK/Z5p4dBA/UFf53D8xYE3Mr6IBmZ2vGfkyCJI1asioZevap+XK8N1FC53D/wof9rrgSzhZnksaPQ1wMqT8ps6NUFfRrQJ52aiuX5A9dCz6zBHFR1AAYdHQbDoxQk9U/jNZA== X-OriginatorOrg: ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR15MB5819.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5519bf3d-e863-4b2e-8ec1-08dea16ec960 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Apr 2026 19:30:32.6816 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2WgI3AcgIlFgtyK7Shv7zhxkWrPQA6jf4OqkA+QncdbIpli4wB8fzpBkh9E0QwR+v+NBgGZR9bThAc8xR3CPpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR15MB3784 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: 8GTLvBrF1sZiZfGBAiS2U7TIzFRfKrxg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDIzMDE4OCBTYWx0ZWRfX0NVo5mEbeyzu GHn0RSZyMr1LqKDMlu3nq7+7u4iWE8QElGY0CQn4sWa3pFblM5g0krgfrlyv6naG+y2swRq6N/N nynYbkRmZ5I4QysWVYJMJcZtNRooRFSE76qhnEHrEDcNBJgUSjR1Q1hyEsbcUcVgyK4T7K4o2eE tnS6pz4XWIS0N7+v9IZyeeq7t2WIFUObgmYgmThFXsoyrIKXzbHJVIy8XST0+7gp02NuFAXD6RK cF0LorDfaMDUYRdgoJuby8ub351czi/M1Q7YFpmf3kDN+lL+qjkmadvFmxcljom8Ma+3+LAsXUt 7fLCKqW3gmYBw3G4g4DdVqD//mrdxjv3sCBoBWUYbz7FyDB/JAZGvezWnl/Mn20FL+Kvggiv806 fb8EFvQwpayo4Vk/ISKV3h3xkvbf1uZeP7Nc306zKFIiksKGp/KspTAgzEFizdc/kF+7G+1M5aP 6u5spugxgnU0b/mfSoA== X-Authority-Analysis: v=2.4 cv=a6kAM0SF c=1 sm=1 tr=0 ts=69ea735c cx=c_pps a=w9jTARCbdo3hRO6w7Rsibg==:117 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=V8glGbnc2Ofi9Qvn3v5h:22 a=VnNdFuG1AAAA:8 a=geT9DhcHKR5pvGDhRYUA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-ORIG-GUID: roefSaQaycpxIukasDu0hKwLnTSDDsln Subject: Re: [PATCH] ceph: fix potential stray locked folios during umount X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-23_03,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 spamscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604230188 T24gU2F0LCAyMDI2LTA0LTE4IGF0IDIxOjM5ICswODAwLCBMaSBMZWkgd3JvdGU6DQo+IER1cmlu ZyB1bW91bnQsIHdlIG9ubHkgd2FpdCBmb3Igc3RvcHBpbmdfYmxvY2tlcnMgdG8gZHJvcCB0byB6 ZXJvIGZvcg0KPiBhIGNlcnRhaW4gdGltZSBzcGVjaWZpZWQgYnkgbW91bnRfdGltZW91dCwgYW5k IGNvbnRpbnVlIHRoZSByZXN0IG9mDQo+IHRoZSBwcm9jZWR1cmUgZXZlbiBpZiB0aGVyZSBhcmUg aW5mbGlnaHQgcmVxdWVzdHMuIFRoaXMgYmVoYXZpb3IgbWF5DQo+IGxlYXZlIHNvbWUgZm9saW9z IGxvY2tlZCBldmVuIGFmdGVyIHRoZSBjZXBoZnMgdW1vdW50ZWQsIHdoaWNoIGNhdXNlcw0KPiBv dGhlciBrZXJuZWwgdGhyZWFkcyB0byBodW5nLg0KPiANCj4gQnVmZmVyZWQgcmVhZCBwcm9jZXNz IGNhbGxzIGZpbGVtYXBfdXBkYXRlX3BhZ2UoKSBhbmQgd2FpdHMgb24NCj4gZm9saW9fcHV0X3dh aXRfbG9ja2VkKCkgd2l0aCBUQVNLX0tJTExBQkxFIGZsYWcgc2V0LCB3aGljaCBtZWFucyB0aGlz DQo+IHByb2Nlc3MgY291bGQgYmUga2lsbGVkIGFuZCB0aGUgZmlsZXN5c3RlbSBjb3VsZCBiZSB1 bW91bnQgc3VjY2Vzc2Z1bGx5DQo+IChubyBmaWxlIG9wZW5lZCBpbiBpdCkuIFVtb3VudCBjYWxs cyB0cnVuY2F0ZV9pbm9kZV9wYWdlcygpIGFuZCB3YWl0cw0KPiBvbiBsb2NrZWQgcGFnZXMgZm9y IHRob3NlIGlub2RlcyB3aG9zZSBpX2NvdW50ID09IDAuIEluIHRoZXNlIHdheSwNCj4gdGhlcmUg d291bGQgYmUgbm8gbG9ja2VkIGZvbGlvcyBmb3IgdGhpcyBmaWxlc3lzdGVtIGxlZnQgaW4gc3lz dGVtDQo+IGFmdGVyIHVtb3VudCBleGl0cy4NCj4gDQo+IEhvd2V2ZXIsIHRoaW5ncyBhcmUgZGlm ZmVyZW50IGZvciBjZXBoZnMuIENlcGhmcyBjYWxscyBpaG9sZCgpIGFuZA0KPiBzdWJtaXRzIG9z ZCByZXF1ZXN0IGZvciBidWZmZXJlZCByZWFkIGFuZCBnZXRzIGZvbGlvIGxvY2tlZC4gT25jZSB0 aGUNCj4gYnVmZmVyZWQgcmVhZCBwcm9jZXNzIGlzIGtpbGxlZCwgdGhlIGlub2RlIHdpbGwgYmUg c2tpcHBlZCBpbg0KPiBldmljdF9pbm9kZXMoKSwgYmVjYXVzZSBpdHMgaV9jb3VudCA+IDAuIEZv cnRoZW1vcmUsIHRoZSBmb2xpb3MgYXJlDQo+IHN0aWxsIGxvY2tlZC4gSXQgY2FuIG9ubHkgYmUg dW5sb2NrZWQgaW4gbmV0ZnNfdW5sb2NrX3JlYWRfZm9saW8oKS4NCj4gDQo+IHN0b3BwaW5nX2Js b2NrcyBzaG91bGQgYmxvY2sgdW1vdW50IGZyb20gcHJvY2VlZGluZywgYnV0IGl0IG9ubHkgd2Fp dHMNCj4gZm9yIG1vdW50X3RpbWVvdXQgKGRlZmF1bHQgNjBzKSBldmVuIGlmIHRoZXJlIGFyZSBz dGlsbCBmbHlpbmcgcmVxdWVzdA0KPiBvdXQgdGhlcmUsIGxlYXZpbmcgc3RyYXkgbG9ja2VkIGZv bGlvcy4gT3RoZXIga3RocmVhZCwgbGlrZSBrY29tcGFjdGQNCj4gLCBjb3VsZCBiZSBzdHVjayBv biB0aG9zZSBsb2NrZWQgZm9saW9lcyBmb3JldmVyLg0KPiANCj4gU3RlcHMgdG8gUmVwcm9kdWNl Og0KPiAxLiBlY2hvIDMgPiAvcHJvYy9zeXMvdm0vZHJvcF9jYWNoZXMuDQo+IDIuIGRkIGlmPWNl cGhmcy94eHguaW1nIG9mPS9kZXYvbnVsbA0KPiAgICAgTWFrZSBzdXJlIGNlcGhmcy94eHguaW1n IGlzIGJpZyBlbm91Z2ggdG8gbWFrZSB0aW1lIGZvciB1cyB0byBkbyB0aGUNCj4gICAgIGZvbGxv d2luZyBjb21tYW5kDQo+IDMuIGV4ZWN1dGUgJ3N5c3RlbWN0bCBzdG9wIGNlcGgtb3NkQConIG9u IHRoZSBvc2Qgbm9kZXMNCj4gICAgIEl0IHdvdWxkIGJlIGdyZWF0IGlmIHlvdSBoYXZlIGEgdGlu eSBjbHVzdGVyLiBTdG9wcGluZyBhbGwgdGhlIG9zZHMNCj4gICAgIHdvdWxkIGJlIG11Y2ggZWFz aWVyLg0KPiA0LiBraWxsIC05IGBwaWRvZiBkZGAuDQo+ICAgICBCdWZmZXJlZCByZWFkIHByb2Nl c3MgbXVzdCBiZSBraWxsZWQgYXQgdGhhdCBtb21lbnQuIEJ1dCBpbmZsaWdodA0KPiAgICAgcmVh ZCByZXF1ZXN0cyBjYW4gYmUgb2JzZXJ2ZWQgaW4gdGhlIC9zeXMva2VybmVsL2RlYnVnL2NlcGgv eHh4eC9vc2RjDQo+IDUuIHVtb3VudCBjZXBoZnMNCj4gICAgIFdhaXQgZm9yIDYwcyBpZiB5b3Ug bW91bnQgY2VwaGZzIGJ5IHVzaW5nIHRoZSBkZWZhdWx0IG1vdW50IG9wdGlvbi4NCj4gDQo+IFdl IGdvdCB0aGUgd2FybmluZzoNCj4gY2VwaDogW2IyYzlhMDA2LTlhZDgtNDhlOS04MjU3LTZmYjFl MWI5MTAxNCA2NjU2Ml06IHVtb3VudCB0aW1lZCBvdXQsIDANCj4gVkZTOiBCdXN5IGlub2RlcyBh ZnRlciB1bm1vdW50IG9mIGNlcGggKGNlcGgpDQo+IA0KPiBpZiBjaGVja19kYXRhX2NvcnJ1cHRp b24gb3B0aW9uIGRpc2FibGUsIGtjb21wYWN0ZCBtYXkgc3R1Y2sgaW4gdGhlDQo+IGZ1dHVyZS4g SWYgaXQgaXMgZWFuYmxlZCwgd2UgY2F0Y2ggdGhlIGJ1ZyBpbW1lZGlhdGVseS4NCj4gDQo+IFs5 NDU0My4wNDI5NTNdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KPiBbOTQ1 NDMuMDQ5MzkxXSBrZXJuZWwgQlVHIGF0IGZzL3N1cGVyLmM6NjU0IQ0KPiBbOTQ1NDMuMDU0MTcx XSBPb3BzOiBpbnZhbGlkIG9wY29kZTogMDAwMCBbIzFdIFNNUCBQVEkNCj4gWzk0NTQzLjA1OTg4 MV0gQ1BVOiAyNSBVSUQ6IDAgUElEOiAzNDUxNjc0IENvbW06IHVtb3VudCBLZHVtcDogbG9hZGVk IFRhaW50ZWQ6IEcgUyAgICAgICAgIE9FICAgICAgIDcuMC4wLWRpcnR5ICMyIFBSRUVNUFRMQVpZ DQo+IFs5NDU0My4wNzI2NzhdIFRhaW50ZWQ6IFtTXT1DUFVfT1VUX09GX1NQRUMsIFtPXT1PT1Rf TU9EVUxFLCBbRV09VU5TSUdORURfTU9EVUxFDQo+IFs5NDU0My4wODA5MThdIEhhcmR3YXJlIG5h bWU6IERlbGwgSW5jLiBQb3dlckVkZ2UgUjczMHhkLzA3MlQ2RCwgQklPUyAyLjUuNSAwOC8xNi8y MDE3DQo+IFs5NDU0My4wODk3NTVdIFJJUDogMDAxMDpnZW5lcmljX3NodXRkb3duX3N1cGVyKzB4 MTExLzB4MTIwDQo+IFs5NDU0My4wOTU5ODJdIENvZGU6IGNjIGNjIGU4IGMyIDFmIGVmIGZmIDQ4 IDhiIGJiIGQwIDAwIDAwIDAwIGViIGRiIDQ4IDhiIDQzIDI4IDQ4IDhkIGIzIDk4IDAzIDAwIDAw IDQ4IGM3IGM3IDkwIDA5IDU1IDhjIDQ4IDhiIDEwIGU4IDBmIGMzIGNjIGZmIDwwZj4gMGIgNjYg NjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgNjYgOTAgOTAgOTAgOTAgOTAgOTAgOTAgOTAN Cj4gWzk0NTQzLjExNzYwN10gUlNQOiAwMDE4OmZmZmZjZTM1ZjhjNTNkNDAgRUZMQUdTOiAwMDAx MDI0Ng0KPiBbOTQ1NDMuMTIzNzkzXSBSQVg6IDAwMDAwMDAwMDAwMDAwMmQgUkJYOiBmZmZmOGJh OTRkMGQ5MDAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMA0KPiBbOTQ1NDMuMTMyMTI1XSBSRFg6IDAw MDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZjhiYzBkZjkxYzYw MA0KPiBbOTQ1NDMuMTQwNDYwXSBSQlA6IGZmZmZmZmZmYzEzYjUyYzAgUjA4OiAwMDAwMDAwMDAw MDAwMDAwIFIwOTogZmZmZmNlMzVmOGM1M2JlMA0KPiBbOTQ1NDMuMTQ4ODAxXSBSMTA6IDAwMDAw MDAwMDAwMDAwMDEgUjExOiAwMDAwMDAwMDAwMDAwMDAxIFIxMjogZmZmZjhiYTk0YWYwZTAwMA0K PiBbOTQ1NDMuMTU3MTUwXSBSMTM6IGZmZmY4YmE5NGQwZDkwMDAgUjE0OiAwMDAwMDAwMDAwMDAw MDA0IFIxNTogZmZmZjhiYTk0NmQ5YTAwMA0KPiBbOTQ1NDMuMTY1NTA1XSBGUzogIDAwMDA3ZmIx YzYwN2M4NDAoMDAwMCkgR1M6ZmZmZjhiYzE1MjBlNDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAw MDAwMDAwDQo+IFs5NDU0My4xNzQ5NDNdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6 IDAwMDAwMDAwODAwNTAwMzMNCj4gWzk0NTQzLjE4MTc2OV0gQ1IyOiAwMDAwMDAwMGQ2NGU1MDAw IENSMzogMDAwMDAwMTg5YzlmMjAwMiBDUjQ6IDAwMDAwMDAwMDAzNzI2ZjANCj4gWzk0NTQzLjE5 MDE2MF0gQ2FsbCBUcmFjZToNCj4gWzk0NTQzLjE5MzMxN10gIDxUQVNLPg0KPiBbOTQ1NDMuMTk2 MDg4XSAga2lsbF9hbm9uX3N1cGVyKzB4MTIvMHg0MA0KPiBbOTQ1NDMuMjAwNzE5XSAgY2VwaF9r aWxsX3NiKzB4ZGEvMHgyYzAgW2NlcGhdDQo+IFs5NDU0My4yMDU4NzddICA/IHJhZGl4X3RyZWVf ZGVsZXRlX2l0ZW0rMHg2OC8weGQwDQo+IFs5NDU0My4yMTEzOTVdICBkZWFjdGl2YXRlX2xvY2tl ZF9zdXBlcisweDMxLzB4YjANCj4gWzk0NTQzLjIxNjgxNV0gIGNsZWFudXBfbW50KzB4Y2IvMHgx MTANCj4gWzk0NTQzLjIyMTE2OV0gIHRhc2tfd29ya19ydW4rMHg1OC8weDgwDQo+IFs5NDU0My4y MjU2MjldICBleGl0X3RvX3VzZXJfbW9kZV9sb29wKzB4MTNmLzB4NGQwDQo+IFs5NDU0My4yMzEx NjNdICBkb19zeXNjYWxsXzY0KzB4MWVmLzB4ODQwDQo+IFs5NDU0My4yMzU4MjddICA/IGRvX3N5 c2NhbGxfNjQrMHgxMDEvMHg4NDANCj4gWzk0NTQzLjI0MDY4N10gID8gZG9fdXNlcl9hZGRyX2Zh dWx0KzB4MjBlLzB4NmIwDQo+IFs5NDU0My4yNDYwMzZdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVy X2h3ZnJhbWUrMHg3Ni8weDdlDQo+IFs5NDU0My4yNTIxNjZdIFJJUDogMDAzMzoweDdmYjFjNWYw Y2NhYg0KPiBbOTQ1NDMuMjU2NjUwXSBDb2RlOiA3MyAzMSAwZSAwMCBmNyBkOCA2NCA4OSAwMSA0 OCA4MyBjOCBmZiBjMyA5MCBmMyAwZiAxZSBmYSAzMSBmNiBlOSAwNSAwMCAwMCAwMCAwZiAxZiA0 NCAwMCAwMCBmMyAwZiAxZSBmYSBiOCBhNiAwMCAwMCAwMCAwZiAwNSA8NDg+IDNkIDAwIGYwIGZm IGZmIDc3IDA1IGMzIDBmIDFmIDQwIDAwIDQ4IDhiIDE1IDM5IDMxIDBlIDAwIGY3IGQ4DQo+IFs5 NDU0My4yNzg2OTBdIFJTUDogMDAyYjowMDAwN2ZmZTk2ZjgwZWE4IEVGTEFHUzogMDAwMDAyNDYg T1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwYTYNCj4gWzk0NTQzLjI4NzcxMF0gUkFYOiAwMDAwMDAw MDAwMDAwMDAwIFJCWDogMDAwMDdmYjFjNjFmYjI2NCBSQ1g6IDAwMDA3ZmIxYzVmMGNjYWINCj4g Wzk0NTQzLjI5NjI1MV0gUkRYOiBmZmZmZmZmZmZmZmZmZTg4IFJTSTogMDAwMDAwMDAwMDAwMDAw MCBSREk6IDAwMDA1NWFlOWRjYzZlYzANCj4gWzk0NTQzLjMwNDgwMV0gUkJQOiAwMDAwNTVhZTlk Y2M2YzkwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDA3ZmZlOTZmN2ZjNTANCj4gWzk0 NTQzLjMxMzM1OF0gUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBS MTI6IDAwMDAwMDAwMDAwMDAwMDANCj4gWzk0NTQzLjMyMTkyMl0gUjEzOiAwMDAwNTVhZTlkY2M2 ZWMwIFIxNDogMDAwMDU1YWU5ZGNjNmRhMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDANCj4gDQo+IFNv IG1ha2UgaXQgd2FpdCB1bnRpbCBhbGwgdGhlIGZseWluZyByZXF1ZXN0cyByZXR1cm5zIGZvciBj bGVhbiBhbmQgc2FmZQ0KPiB1bW91bnQuDQo+IA0KPiBGaXhlczogMTQ2NGRlOWY4MTNlICgiY2Vw aDogd2FpdCBmb3IgT1NEIHJlcXVlc3RzJyBjYWxsYmFja3MgdG8gZmluaXNoIHdoZW4gdW5tb3Vu dGluZyIpDQo+IFNpZ25lZC1vZmYtYnk6IExpIExlaSA8bGlsZWkyNEBrdWFpc2hvdS5jb20+DQo+ IC0tLQ0KPiAgZnMvY2VwaC9zdXBlci5jIHwgMTEgKysrKy0tLS0tLS0NCj4gIDEgZmlsZSBjaGFu Z2VkLCA0IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEv ZnMvY2VwaC9zdXBlci5jIGIvZnMvY2VwaC9zdXBlci5jDQo+IGluZGV4IDJhZWQ2YjMuLjQ4ZTYz YzEgMTAwNjQ0DQo+IC0tLSBhL2ZzL2NlcGgvc3VwZXIuYw0KPiArKysgYi9mcy9jZXBoL3N1cGVy LmMNCj4gQEAgLTE1NjksMTMgKzE1NjksMTAgQEAgc3RhdGljIHZvaWQgY2VwaF9raWxsX3NiKHN0 cnVjdCBzdXBlcl9ibG9jayAqcykNCj4gIAlzcGluX3VubG9jaygmbWRzYy0+c3RvcHBpbmdfbG9j ayk7DQo+ICANCj4gIAlpZiAod2FpdCAmJiBhdG9taWNfcmVhZCgmbWRzYy0+c3RvcHBpbmdfYmxv Y2tlcnMpKSB7DQo+IC0JCWxvbmcgdGltZWxlZnQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2tpbGxh YmxlX3RpbWVvdXQoDQo+IC0JCQkJCSZtZHNjLT5zdG9wcGluZ193YWl0ZXIsDQo+IC0JCQkJCWZz Yy0+Y2xpZW50LT5vcHRpb25zLT5tb3VudF90aW1lb3V0KTsNCj4gLQkJaWYgKCF0aW1lbGVmdCkg LyogdGltZWQgb3V0ICovDQo+IC0JCQlwcl93YXJuX2NsaWVudChjbCwgInVtb3VudCB0aW1lZCBv dXQsICVsZFxuIiwgdGltZWxlZnQpOw0KPiAtCQllbHNlIGlmICh0aW1lbGVmdCA8IDApIC8qIGtp bGxlZCAqLw0KPiAtCQkJcHJfd2Fybl9jbGllbnQoY2wsICJ1bW91bnQgd2FzIGtpbGxlZCwgJWxk XG4iLCB0aW1lbGVmdCk7DQo+ICsJCWludCByYyA9IHdhaXRfZm9yX2NvbXBsZXRpb25fa2lsbGFi bGUoDQo+ICsJCQkJCSZtZHNjLT5zdG9wcGluZ193YWl0ZXIpOw0KPiArCQlpZiAocmMgPCAwKSAv KiBraWxsZWQgKi8NCj4gKwkJCXByX3dhcm5fY2xpZW50KGNsLCAidW1vdW50IHdhcyBraWxsZWRc biIpOw0KPiAgCX0NCj4gIA0KPiAgCW1kc2MtPnN0b3BwaW5nID0gQ0VQSF9NRFNDX1NUT1BQSU5H X0ZMVVNIRUQ7DQoNCkkgYW0gbm90IGNvbXBsZXRlbHkgc3VyZSB0aGF0IGl0J3MgcmlnaHQgYXBw cm9hY2ggdG8gZml4IHRoZSBwcm9ibGVtLiBJZiBJDQp1bmRlcnN0b29kIGNvcnJlY3RseSwgd2Ug aGF2ZSBzaXR1YXRpb24gdGhhdCBzb21laG93IE9TRCBpcyBkb3duIGFuZCBkZCBwcm9jZXNzDQpo YXMgYmVlbiBraWxsZWQuIEl0J3Mgbm90IG5vcm1hbCBhbmQgdXN1YWwgc2l0dWF0aW9uLiBTbywg eW91ciBzdWdnZXN0aW9uIGlzIHRvDQpodW5nIGluIHVubW91bnQgcHJvY2VzcyBmb3JldmVyIGJl Y2F1c2Ugd2UgY2Fubm90IHNlcnZpY2UgdGhlIGZseWluZyByZXF1ZXN0cy4NCklzIGl0IHJlYWxs eSBnb29kIHdheSB0byBmaXggdGhlIHByb2JsZW0/IFByb2JhYmx5LCB3ZSBuZWVkIHRvIGhhdmUg bW9yZSBzbWFydA0KbG9naWMgaGVyZSBvZiB3YWl0aW5nIGZseWluZyByZXF1ZXN0cyBlbmRpbmcu IEJ1dCB0aW1lb3V0IG1ha2VzIHNlbnNlIHRvIHByZXZlbnQNCmZyb20gdGhlIHNpdHVhdGlvbiB0 aGF0IHNvbWV0aGluZyBpcyBnb2luZyB3cm9uZyBhbmQgd2UgY2Fubm90IGZpbmlzaCB1bm1vdW50 IGF0DQphbGwuIFdoYXQgZG8geW91IHRoaW5rPyBNYXliZSB3ZSBuZWVkIHRvIGhhdmUgc29tZSBs b29wIHRoYXQgY2hlY2tzIHRoZSBzdGF0ZSBieQ0Kd2FraW5nIHVwIGFmdGVyIHNvbWUgdGltZW91 dC4gSWYgdGhlIG51bWJlciBvZiBmbHlpbmcgcmVxdWVzdHMgaXMgZGVjcmVhc2luZywNCnRoZW4g d2Ugc2hvdWxkIHdhaXQuIEJ1dCBpZiBub3RoaW5nIGlzIGNoYW5naW5nIHdpdGggdGltZSwgdGhl biBpdCBtZWFucyB0aGF0DQpzb21ldGhpbmcgaXMgd3JvbmcgYW5kIGl0IG1ha2VzIHNlbnNlIHRv IHVubW91bnQgYW55d2F5LiBCZWNhdXNlLCBmaW5hbGx5LCB3ZQ0Kd2lsbCBoYXZlIHNvbWUgY2Fs bCB0cmFjZSBpbiBzeXN0ZW0gbG9nLCBhbnl3YXkuIERvZXMgaXQgbWFrZSBzZW5zZT8NCg0KQWxz bywgd2UgaGF2ZSBsaWtld2lzZSBwYXR0ZXJuIGluIHRoZcKgY2VwaF9raWxsX3NiKCk6DQoNCglp ZiAoYXRvbWljNjRfcmVhZCgmbWRzYy0+ZGlydHlfZm9saW9zKSA+IDApIHsNCgkJd2FpdF9xdWV1 ZV9oZWFkX3QgKndxID0gJm1kc2MtPmZsdXNoX2VuZF93cTsNCgkJbG9uZyB0aW1lbGVmdCA9IHdh aXRfZXZlbnRfa2lsbGFibGVfdGltZW91dCgqd3EsDQoJCQkJCWF0b21pYzY0X3JlYWQoJm1kc2Mt PmRpcnR5X2ZvbGlvcykgPD0NCjAsDQoJCQkJCWZzYy0+Y2xpZW50LT5vcHRpb25zLT5tb3VudF90 aW1lb3V0KTsNCgkJaWYgKCF0aW1lbGVmdCkgLyogdGltZWQgb3V0ICovDQoJCQlwcl93YXJuX2Ns aWVudChjbCwgInVtb3VudCB0aW1lZCBvdXQsICVsZFxuIiwNCnRpbWVsZWZ0KTsNCgkJZWxzZSBp ZiAodGltZWxlZnQgPCAwKSAvKiBraWxsZWQgKi8NCgkJCXByX3dhcm5fY2xpZW50KGNsLCAidW1v dW50IHdhcyBraWxsZWQsICVsZFxuIiwNCnRpbWVsZWZ0KTsNCgl9DQoNCkRvIHdlIG5lZWQgdG8g ZG8gc29tZXRoaW5nIGhlcmUgdG9vPw0KDQpUaGFua3MsDQpTbGF2YS4NCg==