From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010036.outbound.protection.outlook.com [52.101.85.36]) (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 AFDF5383990 for ; Thu, 25 Jun 2026 02:03:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.36 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782353019; cv=fail; b=Li8KtaKiM7jM4/xrQ3zgxWVpU0kvUCkSWfUqZJLIo371HcFyq3uPBpnc53pER7k3MfQR4F/f4VkbYAyWpUQEAPjnJNC/YxCkwxBR73F1Y/zNtAiPWkfD4A4XN8TpbAe1dA7Vwp2jGVaTSEOs+0G28dNDd4CEHyUqgGwxBbajhs4= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782353019; c=relaxed/simple; bh=MjZvH8Sv4TrtNMpdS1oXyZupGUnIcf39GYcm7rfM2eI=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=QmFzK8YKXJtXNtyuGeTNxSZmq5WOscwuHNaYM0jy/gkEI/51pokJR9S7cejHnzjI3OgRyj7b/0uDKKJMYsnTWPHT9HMQSBH+a4pgxrXQnP7EzFLdU+MD+mHma+4ztTCigmn+boLhLOh22o2vGwFVMFArjpCRMh9KWDu+mDPRkFE= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=QF8oQXuv; arc=fail smtp.client-ip=52.101.85.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="QF8oQXuv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iA6//Z8g/lzmyVBiXBpCGugCUSEr5hJN/NsLM05orRkmais0wgd/QRuRiJPrSooRlq0yhvZgLnuxo79CLQSRHxIPWbByLUWTi8fEYzrgb/5jFTMGFyJmdDB47O61hRUyaqjohM9W1Zf4SkwSioNshCg05K2fJIiEUatzSUvD15/NXEWmpuj84lBPrKtU0aN6wwJHg5Uf8YTzNiJ1weCqEUfN+T9DA6alAhadouDa1Rvj838fE7f1i5Hs+AlrUmeC7oz68Pcd6Qge1v1pG5NPNnnJNJT2gcUTnF9of2l8nwwLLI9/MypOHgrtfRqXhG3R3uRdRXt5TNkpjrTXVDrLgg== 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=MjZvH8Sv4TrtNMpdS1oXyZupGUnIcf39GYcm7rfM2eI=; b=pWwnF2FUEdTEAmDV0pTk+rR39o6tqd9B2FPTnhXAnzHvlNwRZRVM5Z6MSLVfVE+c2NKM/s8gR/kgsjN5EHATn9I/Uzc4n5/p+TglWmzpCKu5ecTgTGLWX7jjHyeivI51Fd5AGeSEDO156o9aOck4T78oW3JZWD6mdg0l0vgfWB9nvtxsdZApRLddrM7UpK7oRIHkqDfT2rPoJUBnUXsKT2iOFaIxsRJWre+J3+lLnpenWrO9dVnmR4ELYvK1XGDlhc9FcV7UYvw7NYVhL+52JWNohljWfCiRs+ghtbc6ZFqh9OBRXUsLaX9LHh5NsuAEh7inusEsSlbi0z2mnhquyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MjZvH8Sv4TrtNMpdS1oXyZupGUnIcf39GYcm7rfM2eI=; b=QF8oQXuvilBb7I1BKWScvI2djm8GRAI8C5uHnmIAMTXj3OBq/9uA5EHUAH13qS+HUZBtPoTSZfyS7iKRkUQPwcsNNCfvppDj0glzrTPvgmNKYzV8wNvZhCWKg5iu8aNe0/1XyfGoe0FOt2L+0kLI1fHgw2WQ6axuZUIEgpWfdZNW/eeWkcTToprqnXlOLrOeTmkQmkjAXK3AwWQHfJlqHwRk00Bh8oTmMVV/aReZQ1I+V3Og/SiT6tTvdf07xc+ekQ+EHsnwRHbvfTfAzR9w9V5C+fhVRwIWAFd3q4Z2c/M/0ywar8iT5fWYnhEmYHLY75xR65kWFux5bjdxFULIfw== Received: from SJ0PR03MB5950.namprd03.prod.outlook.com (2603:10b6:a03:2d3::20) by IA1PR03MB8286.namprd03.prod.outlook.com (2603:10b6:208:5d6::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Thu, 25 Jun 2026 02:03:34 +0000 Received: from SJ0PR03MB5950.namprd03.prod.outlook.com ([fe80::53a0:bf93:6b6b:de01]) by SJ0PR03MB5950.namprd03.prod.outlook.com ([fe80::53a0:bf93:6b6b:de01%4]) with mapi id 15.21.0159.012; Thu, 25 Jun 2026 02:03:34 +0000 From: "NG, TZE YEE" To: Frank Li CC: Adrian Hunter , Alexandre Belloni , "NG, ADRIAN HO YIN" , Felix Gu , Wolfram Sang , Manikanta Guntupalli , Jorge Marques , Sakari Ailus , "linux-i3c@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v3 3/3] i3c: master: Validate GET CCC payload length and retry M0/M2 once Thread-Topic: [PATCH v3 3/3] i3c: master: Validate GET CCC payload length and retry M0/M2 once Thread-Index: AQHc+UUzO12GYA8XMkmWC0gaEYrGZ7ZGUTAAgAhJ7QA= Date: Thu, 25 Jun 2026 02:03:34 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR03MB5950:EE_|IA1PR03MB8286:EE_ x-ms-office365-filtering-correlation-id: cbca3363-2b02-4bdf-d68b-08ded25df6cb x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|7416014|4143699003|56012099006|3023799007|11063799006|18002099003|55112099003|38070700021|22082099003; x-microsoft-antispam-message-info: DJS73CFw/5fJdyZZ0c7LWUcMGuykHzLyxuSq+cG4J9Y7RdjbgOrYSRyKMvhAj59kDkeqK78n9+lnhxpFeV3Py46CY31mq6Y5D0yOg9arbBVDuhBzXHyvj/iMQmEhVpCT2vgQGCOGu+sUE/UC5Ta7lzmhwvmK+YcsasE4p1FUaWDLKOCoxHWeoX7avUF4OP80aonmjFz9Rw87CVwZjQ8aAfNLQj/y+FYnfpm7JWTZ0NAWr8SzAD2t3N1x5MJqmuo+VV3k3VX7/MA6ncgQMl7DHJufDlgl3rBg1kZIpDJuJ8MHE0Zou99lVRHQiM+4igFNsfdIUKxDjDHA3IZpdai6BSkJRGsx3ieume6TaoJRr2vyeE4CHbc9m5S/jJ2R57/SX1RM6q/GRkj6nVb80MwFd7MkHMQMGPiVm3AjAPhgwWkYeBbp3pf2PxDvXpb7Fs9yCOF0QDe8Ov2nfQjf8fVcY1CZueZgaxyslkAmEke1DyDc95fjkkFq8aL5P8eh9zHjN4nZVp8buCCoj5H4IQwz/OuQfRh0rnUFXzG4zUfGBnhu3bpTGhueNsPGURz5jkD8QAtx6DlVkemd50QsIDJYUQ9SJzD2MTA2EPEM92UVWxGYv8CE43gvnkvRFarxlmed1h2kgAW1zT+NMZXg9tc9gigalNqcqEQ3tIycJhDDij+WWIFdOpQm9oXAGOeYbu6MJPJ8Yh5wicumOzSMaxGA/aQUdqDr1HO6xh3K0MXSZCQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5950.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(7416014)(4143699003)(56012099006)(3023799007)(11063799006)(18002099003)(55112099003)(38070700021)(22082099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QS9JR1lpWXpLaWNtM1lUT1JWQzI3S3pLc0RYYlpFcE9PUzhDMnRvNzFobDVX?= =?utf-8?B?SW9OZ3N0WlJ5Q2J0US9oQzI3TE1EWDQ3RDFLVzY1dGhmN3g4YWMzZytJcVpO?= =?utf-8?B?REVNcGRpWWR6aUozeCthU2pCc2E1SWx1bDJqWTk5YjBnRm01S0VSaDBXbWhh?= =?utf-8?B?MjAxTjBrRjc4MlZBMEtweXdEZFljZmF2eHZLTEtCejVqeGppb0owVTZCeTBC?= =?utf-8?B?cHo0bi9HdUEvdW5tRC8xUFJ1WE1kakMrUWMrMUhURStOTWQ1c3ViMTBvcVdZ?= =?utf-8?B?ZzdnNUE2dnlnRFJSM1VqdTcrMkdIbDRpRkhLTWZpUXpjSHhaMXNXbjluUGRC?= =?utf-8?B?ck0vSWY4UjNHT2pKR1J6UlpHS0ZNaENxZUV4MnEwd3hSUk5WNXlDZEx1T20y?= =?utf-8?B?ckRRWmlnbk5OWlBSN0swamZZU0d6cWFRVE5KbFdxRU5oYnV6WHdSNTJQTm5j?= =?utf-8?B?Umg3c0VLY1Fpbm1LR1VGc3pPaW5DNlBJZFI1R0RadDZQQVNiczZST0tqcHFS?= =?utf-8?B?K1RmeGZsV0FHMkpwVTltWVNGSE5aY3VxVFdyRzZmeXlNZmtQTG1jR1d2RmJo?= =?utf-8?B?NXJoa2x0ZTZhUFVvNC9HVFVIVk9XSUdlNFl1Rnc2RlFNTVUvSUtsSHJqcnhP?= =?utf-8?B?S1UzellwUy82N2dMVSt4NWY4MHFQbFRzQU1OY2lRMUxrcUVGTHJxaHlscTRk?= =?utf-8?B?SDMrclY1Vkc5SDhJSVgwTEwxM0o4aGdMTTVOc3dFbGs5V3kvY0Z3RTZHcEIz?= =?utf-8?B?V2dEQlpYTGtLZGgrWGd6S25VVVZQN0VvQTdITlRtWjlkdFZrcnVPNEFINUs2?= =?utf-8?B?T3BLMTRjVUNvUC9CWW9yb0VBZFZRa3hPQU5wd2NVMmc5TUVJL3lLa2NlYWxK?= =?utf-8?B?OU5Lbm05dkVTQW9pYUg2dVNkSXhnR1RYN1JpYitkeU9ML2JuU2loTVJ4bWxs?= =?utf-8?B?VW5QZkVrZHRJSXZqRGhLVEEzbmk4d253N0x1MExIdFdLL3ZENUlxTDBQeHJq?= =?utf-8?B?RS9iYWNhRVhQeWsrVjdWNnFUdlBLVElkY2JhUjhPT3lVcTlPTVZxYnFmTSsw?= =?utf-8?B?NVh0M0VLU0pSM0pPdU1jY1h3MlloWklLSG1NRzZjQnkrK1VxZlRLVVZWNkhD?= =?utf-8?B?dXpsNmREQ2htcFpwZXkweEIvUUV0c1hNbzVMYUpwOUhxa3JmNkxDT3o4d1hh?= =?utf-8?B?YTJOeUtFUFpFdVdtQUZWc0l2Rzk1Y2tubVoxemJ6UkFkY1djRXI0N09xWk0y?= =?utf-8?B?aldYa1grM1YrQW5sS3RWMUtwd1krMUhNb3hSS1NlcHNvSHI5S3F4VHEyMDFP?= =?utf-8?B?bzZMdzdOZFd0MGxiRjliK25VWVVJK0xqUHhodVlRNHlaelMxc3l6ajNpTFhw?= =?utf-8?B?WVNpZW04c3lScFpONUVvR1JNRjc0b3FFSVU4em84SWZmRENCMTBNdm9yVHhD?= =?utf-8?B?R1JRZzRoTGljVWFGZGtZWFQrQ3FIa3E1SFZtVXJoYkxpeDlHc1RMT09ITzF3?= =?utf-8?B?TTZ5VTJacjNEUkFZM0Q2YzlQMnYyY2dUeFpndGNlVGUxbFVyRlREMGtjeDdX?= =?utf-8?B?YmdwanpBZ3pxRk9CV1VKYzlkaXEvbmV6ZXRFWGIyWG5vY284ZEJtMHN5YjVm?= =?utf-8?B?azgrN3lVaDB2eXpMaGhQYXppSCszWWpYc25JUHQyczc4cFFXS25neFhBTEQy?= =?utf-8?B?UHZtYSt6U04rSHc2bVpWb1JmaVdxdEFMQUVGdEQ3dlBTTHVlTTFSRCtFVy9G?= =?utf-8?B?NlI3ekJaUGthaFREY0grRU81RVpXUS93dk5zOFUycUtGdmhZcnhuUXV3cnAz?= =?utf-8?B?bDhVcm0xNFVORkRQOXVCb3hMaXkxMWJ2ZHlhNXptS3QwZm5qNjVkS282RWlw?= =?utf-8?B?SC9nV0QxRURYMDQ0ZmxpZit4V3ZzcjQ4MnI2Mm9yK21jQ1FWM01Xd3puM0tK?= =?utf-8?B?Sy9ndCtwenU0UmlHM1R2NEdBMXpoMUpvU29jMHhiMi9UcGt4dThVTzRVUTJU?= =?utf-8?B?OXhxdjRaYVo4SFBic1Vkb296b3RjRW53Tyt5WE11OVgzbzNpWTlDc25EMC9Q?= =?utf-8?B?N1F2WVcrV3FtVkVmOHpQaWcxclFmdVYzaFAveCtFWHZlNTdmK3BJc1lHTnlF?= =?utf-8?B?Wnp3SHp2R1h0bTdEbWQ3bW13OVh1TTJwUDQyTXViRDlaTTQvVkNrbGY3YVBX?= =?utf-8?B?bHZ5QmlSWmpsVEZmUmIxOTMwL25OK1ZJa3ZzR3d5ZVhLY0kzSlFoN0oxUEQz?= =?utf-8?B?dmpsLzgwNHlFL1gxN0laVVpWMTNnWlE3QUExY3VVRWsyemdrREFPbzBFTXpJ?= =?utf-8?B?azNkWlk2Skg3a2VEUzBPL1AxZnVtTE9CajV6d3piMUF2MnUwRGdoajV4bDBE?= =?utf-8?Q?8bC/dERbX3tes5aE=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <218EC01A4420E847865E2BFF267148A0@namprd03.prod.outlook.com> 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-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5950.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cbca3363-2b02-4bdf-d68b-08ded25df6cb X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2026 02:03:34.7358 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7hD33PfjAL7coL1XbMErO3qtJ50h7gYENHz7mnW5vLg5ijNeHKctkki2CZ2UiUiIEPoQm7KeFmhlLd9PGmtv/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8286 T24gMjAvNi8yMDI2IDM6MjggYW0sIEZyYW5rIExpIHdyb3RlOg0KPiBPbiBXZWQsIEp1biAxMCwg MjAyNiBhdCAwNjo1NDowOFBNIC0wNzAwLCB0emUueWVlLm5nQGFsdGVyYS5jb20gd3JvdGU6DQo+ PiBGcm9tOiBBZHJpYW4gTmcgSG8gWWluIDxhZHJpYW4uaG8ueWluLm5nQGFsdGVyYS5jb20+DQo+ Pg0KPj4gVmFsaWRhdGUgR0VUIENDQyBwYXlsb2FkIGxlbmd0aCBhZnRlciBhIHN1Y2Nlc3NmdWwg dHJhbnNmZXIuIFRyZWF0IGENCj4+IHNob3J0IHJlYWQgYXMgSTNDX0VSUk9SX00wIGFuZCByZXR1 cm4gLUVJTy4gR0VUTVJMIGFjY2VwdHMgZXhhY3RseSAyIG9yDQo+PiAzIGJ5dGVzIHBlciB0aGUg STNDIHNwZWMgZGVmaW5lZCBmb3JtYXRzLiBHRVRNWERTIG1heSByZXR1cm4gMiBieXRlcw0KPj4g KGZvcm1hdCAxKSBvciA1IGJ5dGVzIChmb3JtYXQgMikgcGVyIEkzQyBzcGVjLg0KPj4NCj4+IFJl dHJ5IEdFVCBDQ0NzIG9uY2Ugb24gcmV0cmlhYmxlIGVycm9yczogSTNDX0VSUk9SX00wIChmcmFt ZSBlcnJvcikgYW5kDQo+PiBJM0NfRVJST1JfTTIgKGFkZHJlc3MtaGVhZGVyIE5BQ0ssIGUuZy4g SUJJIG9yIENvbnRyb2xsZXIgUm9sZSBSZXF1ZXN0DQo+PiBhcmJpdHJhdGlvbiBwZXIgSTNDIHNw ZWMgc2VjdGlvbiA1LjEuMi4yLjMpLiBTRVQgQ0NDcyBhcmUgbm90IHJldHJpZWQNCj4+IHRvIGF2 b2lkIHJlcGVhdGluZyBzaWRlLWVmZmVjdGluZyBjb21tYW5kcy4gUmVzdG9yZSBkZXN0c1tdLnBh eWxvYWQubGVuDQo+PiB0byB0aGUgb3JpZ2luYWxseSByZXF1ZXN0ZWQgbGVuZ3RoIGJlZm9yZSBl YWNoIGF0dGVtcHQgYW5kIGFnYWluIGJlZm9yZQ0KPj4gcmV0dXJuaW5nIGFuIGVycm9yLCBzbyBj YWxsZXJzIHRoYXQgYWRqdXN0IHRoZSBsZW5ndGggb24gZmFpbHVyZSAoZS5nLg0KPj4gaTNjX21h c3Rlcl9nZXRteGRzX2xvY2tlZCgpKSBkbyBub3QgdW5kZXJmbG93IGEgc2hvcnRlbmVkIHZhbHVl Lg0KPj4NCj4+IFVzZSBhIHN0YWNrIGJ1ZmZlciBmb3IgdGhlIGNvbW1vbiBzaW5nbGUtZGVzdGlu YXRpb24gR0VUIGNhc2UgYW5kIG9ubHkNCj4+IGttYWxsb2Mgd2hlbiBuZGVzdHMgPiAxLg0KPj4N Cj4+IFNpZ25lZC1vZmYtYnk6IEFkcmlhbiBOZyBIbyBZaW4gPGFkcmlhbi5oby55aW4ubmdAYWx0 ZXJhLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IFR6ZSBZZWUgTmcgPHR6ZS55ZWUubmdAYWx0ZXJh LmNvbT4NCj4+IC0tLQ0KPj4gQ2hhbmdlcyBpbiB2MzoNCj4+IC0gRHJvcCB0aGUgY2hhbmdlIHRo YXQgbW92ZXMgUkVTUE9OU0VfRVJST1JfQUREUkVTU19OQUNLIHRvIGRlZmF1bHQgY2FzZQ0KPj4g ICAgaW4gZHdfaTNjX21hc3Rlcl9lbmRfeGZlcl9sb2NrZWQoKS4gTm93IGR3X2kzY19tYXN0ZXJf ZW5kX3hmZXJfbG9ja2VkKCkNCj4+ICAgIHJldHVybnMgLUVJTyBmb3IgUkVTUE9OU0VfRVJST1Jf QUREUkVTU19OQUNLLg0KPj4gLS0tDQo+PiAgIGRyaXZlcnMvaTNjL21hc3Rlci5jIHwgMTExICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4+ICAgMSBmaWxlIGNo YW5nZWQsIDExMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pg0KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaTNjL21hc3Rlci5jIGIvZHJpdmVycy9pM2MvbWFzdGVyLmMNCj4+IGluZGV4 IDVjZDRlNWRhMjIzMy4uYzk0ZDM3Y2Q4YjNmIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9pM2Mv bWFzdGVyLmMNCj4+ICsrKyBiL2RyaXZlcnMvaTNjL21hc3Rlci5jDQo+PiBAQCAtMjYsNiArMjYs MTIgQEAgc3RhdGljIERFRklORV9NVVRFWChpM2NfY29yZV9sb2NrKTsNCj4+ICAgc3RhdGljIGlu dCBfX2kzY19maXJzdF9keW5hbWljX2J1c19udW07DQo+PiAgIHN0YXRpYyBCTE9DS0lOR19OT1RJ RklFUl9IRUFEKGkzY19idXNfbm90aWZpZXIpOw0KPj4NCj4+ICsjZGVmaW5lIEkzQ19DQ0NfR0VU TVJMX0xFTl9TSE9SVAkyDQo+PiArI2RlZmluZSBJM0NfQ0NDX0dFVE1STF9MRU5fRlVMTAkJMw0K Pj4gKyNkZWZpbmUgSTNDX0NDQ19HRVRNWERTX0xFTl9TSE9SVAkyDQo+PiArI2RlZmluZSBJM0Nf Q0NDX0dFVE1YRFNfTEVOX0ZVTEwJNQ0KPj4gKyNkZWZpbmUgSTNDX0NDQ19NQVhfUkVUUklFUwky DQo+PiArDQo+PiAgIC8qKg0KPj4gICAgKiBpM2NfYnVzX21haW50ZW5hbmNlX2xvY2sgLSBMb2Nr IHRoZSBidXMgZm9yIGEgbWFpbnRlbmFuY2Ugb3BlcmF0aW9uDQo+PiAgICAqIEBidXM6IEkzQyBi dXMgdG8gdGFrZSB0aGUgbG9jayBvbg0KPj4gQEAgLTkyNSw2ICs5MzEsNjEgQEAgc3RhdGljIHZv aWQgaTNjX2NjY19jbWRfaW5pdChzdHJ1Y3QgaTNjX2NjY19jbWQgKmNtZCwgYm9vbCBybncsIHU4 IGlkLA0KPj4gICAJY21kLT5lcnIgPSBJM0NfRVJST1JfVU5LTk9XTjsNCj4+ICAgfQ0KPj4NCj4+ ICtzdGF0aWMgYm9vbCBpM2NfY2NjX2dldF9wYXlsb2FkX29rKHU4IGlkLCB1MTYgcmVxX2xlbiwg dTE2IGFjdHVhbF9sZW4pDQo+PiArew0KPj4gKwlpZiAoYWN0dWFsX2xlbiA+IHJlcV9sZW4pDQo+ PiArCQlyZXR1cm4gZmFsc2U7DQo+PiArDQo+PiArCWlmICghcmVxX2xlbikNCj4+ICsJCXJldHVy biBhY3R1YWxfbGVuID09IDA7DQo+PiArDQo+PiArCWlmIChpZCA9PSBJM0NfQ0NDX0dFVE1STCkN Cj4+ICsJCXJldHVybiBhY3R1YWxfbGVuID09IEkzQ19DQ0NfR0VUTVJMX0xFTl9TSE9SVCB8fA0K Pj4gKwkJICAgICAgIGFjdHVhbF9sZW4gPT0gSTNDX0NDQ19HRVRNUkxfTEVOX0ZVTEw7DQo+PiAr DQo+PiArCWlmIChpZCA9PSBJM0NfQ0NDX0dFVE1YRFMpDQo+PiArCQlyZXR1cm4gYWN0dWFsX2xl biA9PSBJM0NfQ0NDX0dFVE1YRFNfTEVOX1NIT1JUIHx8DQo+PiArCQkgICAgICAgYWN0dWFsX2xl biA9PSBJM0NfQ0NDX0dFVE1YRFNfTEVOX0ZVTEw7DQo+PiArDQo+PiArCXJldHVybiBhY3R1YWxf bGVuID09IHJlcV9sZW47DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQgaTNjX2NjY192YWxp ZGF0ZV9wYXlsb2FkX2xlbihzdHJ1Y3QgaTNjX2NjY19jbWQgKmNtZCwNCj4+ICsJCQkJCWNvbnN0 IHUxNiAqcmVxX2xlbnMpDQo+PiArew0KPj4gKwl1bnNpZ25lZCBpbnQgaTsNCj4+ICsNCj4+ICsJ aWYgKCFjbWQtPnJudykNCj4+ICsJCXJldHVybiAwOw0KPj4gKw0KPj4gKwlmb3IgKGkgPSAwOyBp IDwgY21kLT5uZGVzdHM7IGkrKykgew0KPj4gKwkJdTE2IGFjdHVhbCA9IGNtZC0+ZGVzdHNbaV0u cGF5bG9hZC5sZW47DQo+PiArCQl1MTYgcmVxID0gcmVxX2xlbnNbaV07DQo+PiArDQo+PiArCQlp ZiAoIWkzY19jY2NfZ2V0X3BheWxvYWRfb2soY21kLT5pZCwgcmVxLCBhY3R1YWwpKSB7DQo+PiAr CQkJY21kLT5lcnIgPSBJM0NfRVJST1JfTTA7DQo+PiArCQkJcmV0dXJuIC1FSU87DQo+PiArCQl9 DQo+PiArCX0NCj4+ICsNCj4+ICsJcmV0dXJuIDA7DQo+PiArfQ0KPj4gKw0KPj4gKy8qDQo+PiAr ICogTTA6IHRyYW5zaWVudCBmcmFtZSBlcnJvcnMuDQo+PiArICogTTI6IGFkZHJlc3MtaGVhZGVy IE5BQ0sgKEkzQyBzcGVjIHNlY3Rpb24gNS4xLjIuMi4zKSwgZS5nLiB3aGVuIGEgdGFyZ2V0DQo+ PiArICogICAgIHNpbXVsdGFuZW91c2x5IGFzc2VydHMgYW4gSUJJIG9yIENvbnRyb2xsZXIgUm9s ZSBSZXF1ZXN0IGFuZCBuZWl0aGVyDQo+PiArICogICAgIHNpZGUgQUNLcy4gU29mdHdhcmUgc2hv dWxkIHJlLWlzc3VlIHRoZSB0cmFuc2ZlcjsgdGhlIGNvbnRyb2xsZXIgd2lucw0KPj4gKyAqICAg ICBhcmJpdHJhdGlvbiBhZnRlciBSZXBlYXRlZCBTVEFSVC4NCj4+ICsgKg0KPj4gKyAqIFJldHJp ZXMgYXBwbHkgdG8gR0VUIENDQ3Mgb25seTsgU0VUIENDQ3MgYXJlIG5vdCByZXRyaWVkIHRvIGF2 b2lkDQo+PiArICogcmVwZWF0aW5nIHNpZGUtZWZmZWN0aW5nIGNvbW1hbmRzLg0KPj4gKyAqLw0K Pj4gK3N0YXRpYyBib29sIGkzY19jY2NfZXJyX3JldHJpYWJsZShlbnVtIGkzY19lcnJvcl9jb2Rl IGVycikNCj4+ICt7DQo+PiArCXJldHVybiBlcnIgPT0gSTNDX0VSUk9SX00wIHx8IGVyciA9PSBJ M0NfRVJST1JfTTI7DQo+PiArfQ0KPj4gKw0KPj4gICAvKioNCj4+ICAgICogaTNjX21hc3Rlcl9z ZW5kX2NjY19jbWRfbG9ja2VkKCkgLSBzZW5kIGEgQ0NDIChDb21tb24gQ29tbWFuZCBDb2RlcykN Cj4+ICAgICogQG1hc3RlcjogbWFzdGVyIHVzZWQgdG8gc2VuZCBmcmFtZXMgb24gdGhlIGJ1cw0K Pj4gQEAgLTkzNiw5ICs5OTcsMTcgQEAgc3RhdGljIHZvaWQgaTNjX2NjY19jbWRfaW5pdChzdHJ1 Y3QgaTNjX2NjY19jbWQgKmNtZCwgYm9vbCBybncsIHU4IGlkLA0KPj4gICBzdGF0aWMgaW50IGkz Y19tYXN0ZXJfc2VuZF9jY2NfY21kX2xvY2tlZChzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVy ICptYXN0ZXIsDQo+PiAgIAkJCQkJICBzdHJ1Y3QgaTNjX2NjY19jbWQgKmNtZCkNCj4+ICAgew0K Pj4gKwl1MTYgcmVxX2xlbjsNCj4+ICsJdTE2ICpyZXFfbGVucyA9IE5VTEw7DQo+PiArCXUxNiAq cmVxX2xlbnNfYWxsb2MgPSBOVUxMOw0KPj4gKwl1bnNpZ25lZCBpbnQgaTsNCj4+ICsJaW50IHJl dCwgcmV0cmllczsNCj4+ICsNCj4+ICAgCWlmICghY21kIHx8ICFtYXN0ZXIpDQo+PiAgIAkJcmV0 dXJuIC1FSU5WQUw7DQo+Pg0KPj4gKwlyZXRyaWVzID0gY21kLT5ybncgPyBJM0NfQ0NDX01BWF9S RVRSSUVTIDogMTsNCj4+ICsNCj4+ICAgCWlmIChXQVJOX09OKG1hc3Rlci0+aW5pdF9kb25lICYm DQo+PiAgIAkJICAgICFyd3NlbV9pc19sb2NrZWQoJm1hc3Rlci0+YnVzLmxvY2spKSkNCj4+ICAg CQlyZXR1cm4gLUVJTlZBTDsNCj4+IEBAIC05NTMsNyArMTAyMiw0NyBAQCBzdGF0aWMgaW50IGkz Y19tYXN0ZXJfc2VuZF9jY2NfY21kX2xvY2tlZChzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVy ICptYXN0ZXIsDQo+PiAgIAkgICAgIW1hc3Rlci0+b3BzLT5zdXBwb3J0c19jY2NfY21kKG1hc3Rl ciwgY21kKSkNCj4+ICAgCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQo+Pg0KPj4gLQlyZXR1cm4gbWFz dGVyLT5vcHMtPnNlbmRfY2NjX2NtZChtYXN0ZXIsIGNtZCk7DQo+PiArCWlmIChjbWQtPnJudyAm JiBjbWQtPmRlc3RzICYmIGNtZC0+bmRlc3RzKSB7DQo+PiArCQlpZiAoY21kLT5uZGVzdHMgPT0g MSkgew0KPj4gKwkJCXJlcV9sZW4gPSBjbWQtPmRlc3RzWzBdLnBheWxvYWQubGVuOw0KPj4gKwkJ CXJlcV9sZW5zID0gJnJlcV9sZW47DQo+PiArCQl9IGVsc2Ugew0KPj4gKwkJCXJlcV9sZW5zX2Fs bG9jID0ga21hbGxvY19hcnJheShjbWQtPm5kZXN0cywNCj4+ICsJCQkJCQkgICAgICAgc2l6ZW9m KCpyZXFfbGVuc19hbGxvYyksDQo+PiArCQkJCQkJICAgICAgIEdGUF9LRVJORUwpOw0KPj4gKwkJ CWlmICghcmVxX2xlbnNfYWxsb2MpDQo+PiArCQkJCXJldHVybiAtRU5PTUVNOw0KPj4gKw0KPj4g KwkJCXJlcV9sZW5zID0gcmVxX2xlbnNfYWxsb2M7DQo+PiArCQkJZm9yIChpID0gMDsgaSA8IGNt ZC0+bmRlc3RzOyBpKyspDQo+PiArCQkJCXJlcV9sZW5zW2ldID0gY21kLT5kZXN0c1tpXS5wYXls b2FkLmxlbjsNCj4+ICsJCX0NCj4+ICsJfQ0KPj4gKw0KPj4gKwlkbyB7DQo+PiArCQljbWQtPmVy ciA9IEkzQ19FUlJPUl9VTktOT1dOOw0KPj4gKwkJaWYgKHJlcV9sZW5zKSB7DQo+PiArCQkJZm9y IChpID0gMDsgaSA8IGNtZC0+bmRlc3RzOyBpKyspDQo+PiArCQkJCWNtZC0+ZGVzdHNbaV0ucGF5 bG9hZC5sZW4gPSByZXFfbGVuc1tpXTsNCj4+ICsJCX0NCj4+ICsJCXJldCA9IG1hc3Rlci0+b3Bz LT5zZW5kX2NjY19jbWQobWFzdGVyLCBjbWQpOw0KPiANCj4gd2h5IG5lZWQgcmV0cnkgaGVyZT8N Cj4gDQo+IEZyYW5rDQo+IA0KSGkgRnJhbmssDQoNClJldHJ5IGlzIHJlcXVpcmVkIGZvciBEaXJl Y3QgR0VUIENDQyBwZXIgc2VjdGlvbiA1LjEuOS4yLjMgKHNlY3Rpb24gDQo1LjIuMS4yLjMgaW4g SERSKTogaWYgYSB0YXJnZXQgY2Fubm90IHJlc3BvbmQgdG8gYSBEaXJlY3QgR0VUIENDQyBvbiB0 aGUgDQpmaXJzdCBhdHRlbXB0LCB0aGUgbWFzdGVyIHNoYWxsIGZvbGxvdyB0aGUgU0RSIERpcmVj dCBHRVQgcmV0cnkgbW9kZWwgDQoodHlwaWNhbGx5IG9uZSByZXRyeSk7IHRoZSB0YXJnZXQgc2hv dWxkIGdlbmVyYWxseSByZXNwb25kIG9uIHRoZSBzZWNvbmQgDQphdHRlbXB0LiBTZWN0aW9uIDUu Mi4xLjIuMyBzdGF0ZXMgdGhlIHNhbWUgZm9yIEhEUiBEaXJlY3QgR0VUIENDQy4gRm9yIA0KRGly ZWN0IFNFVCBDQ0MsIGRlY2xpbmUgbWF5IG1lYW4gdGhlIENDQy9kZWZpbmluZyBieXRlIGlzIHVu c3VwcG9ydGVkLCANCnNvIHRoZSByZXRyeSBtb2RlbCBkb2VzIG5vdCBuZWNlc3NhcmlseSBhcHBs eSDigJQgd2Ugd2lsbCBub3QgYXV0by1yZXRyeSANClNFVC4+PiArCQlpZiAoIXJldCAmJiByZXFf bGVucykNCj4+ICsJCQlyZXQgPSBpM2NfY2NjX3ZhbGlkYXRlX3BheWxvYWRfbGVuKGNtZCwgcmVx X2xlbnMpOw0KPj4gKwl9IHdoaWxlICgtLXJldHJpZXMgJiYgcmV0ICYmIGkzY19jY2NfZXJyX3Jl dHJpYWJsZShjbWQtPmVycikpOw0KPj4gKw0KPj4gKwlpZiAocmV0ICYmIHJlcV9sZW5zKSB7DQo+ PiArCQkvKg0KPj4gKwkJICogRHJpdmVycyBtYXkgdXBkYXRlIHBheWxvYWQubGVuIHRvIHRoZSBh Y3R1YWwgUlggY291bnQ7DQo+PiArCQkgKiByZXN0b3JlIHRoZSByZXF1ZXN0ZWQgbGVuZ3RoIHNv IGNhbGxlcnMgY2FuIHNhZmVseSBhZGp1c3QNCj4+ICsJCSAqIGl0IG9uIGVycm9yIChlLmcuIGkz Y19tYXN0ZXJfZ2V0bXhkc19sb2NrZWQoKSkuDQo+PiArCQkgKi8NCj4+ICsJCWZvciAoaSA9IDA7 IGkgPCBjbWQtPm5kZXN0czsgaSsrKQ0KPj4gKwkJCWNtZC0+ZGVzdHNbaV0ucGF5bG9hZC5sZW4g PSByZXFfbGVuc1tpXTsNCj4+ICsJfQ0KPj4gKw0KPj4gKwlrZnJlZShyZXFfbGVuc19hbGxvYyk7 DQo+PiArDQo+PiArCXJldHVybiByZXQ7DQo+PiAgIH0NCj4+DQo+PiAgIHN0YXRpYyBzdHJ1Y3Qg aTJjX2Rldl9kZXNjICoNCj4+IC0tDQo+PiAyLjQzLjcNCj4+DQoNCg==