Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp5374226pxj; Wed, 26 May 2021 09:05:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzH71YH8dINJsG8iFM1hBsPVFkNUXMa38FQEELNna6XilG3Y5MC2vRX6S6NXGbhoqpvh7Pj X-Received: by 2002:a05:6638:3445:: with SMTP id q5mr4014534jav.120.1622045134912; Wed, 26 May 2021 09:05:34 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1622045134; cv=pass; d=google.com; s=arc-20160816; b=wIbx3N5RLpGE9I/FUYvjmJ2o6bi8fe5nx4GoSOx1npnsUX/T6f12wXhcLzKCMp0oD/ pLGYXdCBhqRaYpO1+r0KphbL0omDjXVEUOc0yQ6LHEjuq5np2eLqKvN6aGmrS8NvoH4Q 3J/CgWAzO+iup9V7Vv35WSZU1SavXQ0FwXGFJbwhl6plAL75/Hpkv3cj7HcMDyFRtCbb gNkzWDVfkz8nSjalojhitM0fSj160bUZzSWtDaIU80IM36X5XwEey9dDZwJ2UDKU2ysL pFg2OfudgYqBTiRnipUScGQ4EZo0qsbU2EzYvrV0BoD/8swfqXD0FC/moNLhA9HhQbpu VZGA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=l1Va9hgnYN/pF4VOiNHVuktXG1AbRYQg434vQf7fEp4=; b=F/FWLEOR4KiRWyIG13Qv/YBy1AiT6DtgdxYhAFMlNAzWhqlsnSSG7jjNAdX4hq5WDY ohWFBlbgqLBxc4OruiAPMZRePKqzT300K7O69JFplXUhMlhjnwzRuo9n9xsSH1zaFaXv u6ZwqV2UG59ZMhAebEghGvff+9PHfc/MgfGVe/o08hiw64M4taHIF8o+a1lq5wgdiRSq YDRX6+1kPVWF7/E9auZKTp0YcFiIHd2R9XNrLV3zpLV/Gz42iXWsQka19gj/GB0KnaVH yhJKoqvvaPHw9wrkRGc5Qw/0vRpevjVN5Qvf1p8lzbaptbGE1laM9DUOeoYfwZoX1Xgb eKAA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=bA8ACZsm; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m4si23450602jah.87.2021.05.26.09.05.12; Wed, 26 May 2021 09:05:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=bA8ACZsm; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235299AbhEZQGL (ORCPT + 99 others); Wed, 26 May 2021 12:06:11 -0400 Received: from mail-dm6nam10on2106.outbound.protection.outlook.com ([40.107.93.106]:2916 "EHLO NAM10-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S234690AbhEZQGL (ORCPT ); Wed, 26 May 2021 12:06:11 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BUo96S7zItLZOX679j8/LjabraCSiMRRukSaemBZqlEhvUVK78FmyZtjRbLYJBzeTAfJLgZbWsEzaqEBOj/YerS9CYNdrovn2vwAuCM31HjN1EIMz3eV3bXf9khCKAygfrrl0s1lFU5Ot6bfjXHOOHC5lNh4bxDSSDja3JwK/PT3/UQPpZydlQris7ZqyMClgEOPukxsVajQNUS3IVUN5UJf2yXvNi8e5EErd1YrCpQFDSp3ZVDhk57Tq0TSWW0nkLJysZzQNxGJc4vW/SfhkhJDIs9mQttuGK+3kbkvMITzMmZpEUfwoMdvQS555nLm8n6gA1lvSWxlSCpye6yPMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l1Va9hgnYN/pF4VOiNHVuktXG1AbRYQg434vQf7fEp4=; b=GDTw0oy+o693PKMrViriFu07Gc01NQmdI2QCrnySylZzroyfMQLgQWjyhK7ZeN2QUlp/5NjEXW2nYVh7xhxtTiza4TlVIM8J6kn9Sc+XVaihzq11E/9bYdT8+O23v77fYEWgoCIF0vqwXPe056+Xi4J9EtjUJgRdB9tVgqPOritGKyFW+KA/jSf83beN8m64ZsanHwdhSXIeXEZxZwbsgxZhDFEd96q1n6HYp7KIBxsVddzxci0Y70j3h0lz1jLWdIlRvIiEixnb80nfjyVoINRVFySqGElOfPfoj/aC6/iqX6R9EJ8Eob90/3d24WsF9CRAhzp2hkHQr9z7lQ0HkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l1Va9hgnYN/pF4VOiNHVuktXG1AbRYQg434vQf7fEp4=; b=bA8ACZsmtDzHff5RItN8dBkK4JbEky5WmUbqVl/lRbZAHKTrHfVc12DJA7DVgME+gf/iipU8s8psZVrrPjpVaL8/TImG7++9ZlpDE5JOvNIc0H03YvUbuOXvmaWIExIgU522qEII/sfGuc+qiEQxrIDHASc+3Vvdgj5JSsK0Y4I= Received: from DS7PR13MB4733.namprd13.prod.outlook.com (2603:10b6:5:3b1::24) by DM6PR13MB3274.namprd13.prod.outlook.com (2603:10b6:5:193::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.12; Wed, 26 May 2021 16:04:37 +0000 Received: from DS7PR13MB4733.namprd13.prod.outlook.com ([fe80::4c65:55ca:a5a2:f18]) by DS7PR13MB4733.namprd13.prod.outlook.com ([fe80::4c65:55ca:a5a2:f18%7]) with mapi id 15.20.4195.009; Wed, 26 May 2021 16:04:37 +0000 From: Trond Myklebust To: "chuck.lever@oracle.com" CC: "linux-nfs@vger.kernel.org" Subject: Re: [PATCH v2] SUNRPC: More fixes for backlog congestion Thread-Topic: [PATCH v2] SUNRPC: More fixes for backlog congestion Thread-Index: AQHXUh6d+J3LkamgF0WKtxG3UoO5B6r1z4aAgAAd4gA= Date: Wed, 26 May 2021 16:04:37 +0000 Message-ID: <3ccfe411c0d2dd40c77de0e60ada0c868bcca48e.camel@hammerspace.com> References: <20210526110221.338870-1-trondmy@kernel.org> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oracle.com; dkim=none (message not signed) header.d=none;oracle.com; dmarc=none action=none header.from=hammerspace.com; x-originating-ip: [68.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ffd78db8-4417-4b85-8212-08d9205ff67f x-ms-traffictypediagnostic: DM6PR13MB3274: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:247; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ahhYf3MjSEIP847IIPJF0xziKElElNLfzXtDIkU4aEavVMFJQxQuve5DR/zxvPT/i5jAV1VVQ7Io3E1QrqB5vCdhXVldLxLazxUUXgym0Tu3sd947DAJk6ejXaIcEYksE/BZHVzk3o7VaSd64KKVJZVvSxKSXtfJGUCnt2ZFJswnd4MT4R2ipy3157laCUO5Vlr3elWci1wodZyYvsUH7jstUZ/FCh+zo7nrNanFYtA29SlGOIJsitF9yqrcv+lxF481wtLrS6SL+MMYtX2scusRProgEX9VYOeAXvNNtQ+Kwq5qTkNxzR4Ipex1e6JCffS8Nmbj6zkyZKj79aflyGC9ZQs7QTGDy+W5+qNdOhsb275KRTKnIeuYU5qAJFJCtNEg5CJ7rjG1hbD2reEv0F+mohyg4AjwP+9M89iOFK/EEGoJ5bG6j5ljHCxbC2spr+6gLcnkkU3SrkqsaVH0wdadJvgsdQD/iwTlrDQ3GVSNBPM24KGsPYwodiXcmIJ+1AnDPtpfdgIjFYjKkkiUyik/A6b/Y4J+mMiBR9XPbRg+39TFGL1dlEpjb1g2+yXiwgLrd53EcqtpW80kIOxhlZhiw3KTxXU45CImrWIxeF4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR13MB4733.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(186003)(83380400001)(2906002)(66946007)(6916009)(71200400001)(66476007)(498600001)(26005)(8676002)(8936002)(6512007)(53546011)(6506007)(38100700002)(122000001)(36756003)(5660300002)(76116006)(91956017)(64756008)(4326008)(66446008)(2616005)(86362001)(66556008)(6486002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ZCtFTHM2d0ZOTTU0bWVpQk8yclYrdG0xaXY4V2V3VGg5WHM0UWtHTmRPZ1Ri?= =?utf-8?B?ekdoWk9rYnNMRkppV29zUnp6N0V5U29xT0F6eW5nQzJ2MzZMZXlVbnZkMFd3?= =?utf-8?B?ajJ6UkM3T0FGR1MxYnJFdGpQTWF1K2NSRk5PVzlIT3Z3L2EvLzUxbjdtKzJJ?= =?utf-8?B?ME9xNnU5SkxFY2pXT0YxUnAwSi9GQXJUZHpzblk0RHlvd2Z6Q0dEKzlBN1I5?= =?utf-8?B?WlplNlkvRTRBbWdVUUdLT0sycmUxOWdKcXc2cTFuY0prQ1FTZThYOXVGWkV2?= =?utf-8?B?RHRHcHphSHc3UEltbEV6K25iVUpOYjVKUldDdUNKR3IxTGdJckY0WnBaOE9p?= =?utf-8?B?Q3ZNSDFzUjhBQzIxNGFVelU0SWcwdS9QL29VYkV4bzBnaGVwaGxRMDBjVCs0?= =?utf-8?B?UmswZzJWbGd6RkpENzRYR3VwSjNMelh6V0ZiV3BFOERTT242YWx0WUQ1OEZh?= =?utf-8?B?KzVxMkZIN252a1B5VzNpd0c2QXl3MEFGYTk4OUZ0bzkrU0FDc0Q3dWZCNzBN?= =?utf-8?B?a0U2WHYwU2EvQnhwRWo0MCsyN2RNYkI3RnF2TUhiVmpjNllNOEZCMUNsQmJk?= =?utf-8?B?Yy9tSUp5Y3B6Qmo0eWVRejVORURQcERQdFNRVHJCV3B2TGE3YW9SVlRIMWV4?= =?utf-8?B?R05WVXJxeXgyRWcwd0V4bzg4dFA5Ry9QR0xNcVdKeWFCYkZmSzdodDFzYUsw?= =?utf-8?B?TDVBN1NWWjNIakJZRGVPUE0vQU9nYlk2QTBDWWtaUmNLNE5IOUdiNUNCdXV2?= =?utf-8?B?dzh1V2pwSmpUUFlxY1Vxd0lkME50dnlMYlFLS0RTcDYvdFdoNGNjaGVkdU1q?= =?utf-8?B?UE00K0JNaWNHZWlsQThyWUxJbUF2MW1qWHQzZE00Q3JxdFVMaHZaUExCYUN1?= =?utf-8?B?ZWlHV0MyZUQzenBPdkF3cDVIdFBzbmNXTjRRajM2WXY4d1ZvNDlLRTFvSUEv?= =?utf-8?B?RzVYaW4rQ2twUXZsZG9IVE5DdmVxa3FMTEJ5YlRqVjF2bTRSWitDbFZYYmc2?= =?utf-8?B?S0tURXRBY3ExdlNEdmxkdDF6dUlrMC8vQzI2Y0FWQWJXdzQ5c21qanpOanpy?= =?utf-8?B?a3JPRERYQ2ptemt6eUMxS2Y2Umt0SlhDWE10WTZFUWRBL1A2ZFFtV0o3Z3o4?= =?utf-8?B?Y3RIc0NCa2l2Z0N0cnV6a0RldlNJa1BEcldzSklmL0VtalN3ZGhwbW9weG9Y?= =?utf-8?B?MG5sWWhOajd1Nmh5VmR4R0RyYVdJVDdEZzluNEFBWDRIdTYvV1dmTVl2UC8y?= =?utf-8?B?R2x1bFBVOGdSM3c1ZGd0SW04VTdEYkZHOHVMRVZ1NGUzNWxxYmFBYVhNdTRq?= =?utf-8?B?U2xFZjN2OWRYdCtjVTQ2cWVlMWdUVkF5NnNJY3dzWDdobkxLUUQreDdlNjVs?= =?utf-8?B?TlpLYnp1NXpQQ2Y1aDNDbTBTTlFmb3MrQzFaYVZhTEloV2dNempMR0E1UFpD?= =?utf-8?B?QWFKY3BlL0tJMXVpMmsvTlROMEVCRE5nVldFREZEZzVDTEtNRzJQMnJLUUZR?= =?utf-8?B?NXIvUVYrd3lSUTJHTktvaTc5YzRxTXh2L0YvZDliVWV0WHIwUVpiM0Q0VHpP?= =?utf-8?B?bzMzZDR5ZFFIemxpVHM1TGNXMUd5ZmFJbGhaYmpIMHpld21FSFpUaDFSTmlq?= =?utf-8?B?Q1NzNHVOR2JlRFk4QWRDbmcxb1UwWDY1Ym9hcDVkRGc1QUhZVTlPSXBRQWZD?= =?utf-8?B?akljUkV2bkwxQ0ZCNldvd3ZueWpLajFRR2Fhb1lhUmxUTWxzaG82eWE1ZnNh?= =?utf-8?Q?BzEM28h4ngcOnax2LUu+U1bqgFu5JHZsGDpS8PJ?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <718F5A5E72BC9A48AA16D4F0E71E8DEC@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR13MB4733.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ffd78db8-4417-4b85-8212-08d9205ff67f X-MS-Exchange-CrossTenant-originalarrivaltime: 26 May 2021 16:04:37.7894 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tyv8zC5ox7MfNpPDLofwML0s9/je3f/T6BW9I5VUvNtp15OxERYTXh7Q/3GVf5VI8mXUWA/HvE8/FUVqx4E1Dg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR13MB3274 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gV2VkLCAyMDIxLTA1LTI2IGF0IDE0OjE3ICswMDAwLCBDaHVjayBMZXZlciBJSUkgd3JvdGU6 DQo+IA0KPiANCj4gPiBPbiBNYXkgMjYsIDIwMjEsIGF0IDc6MDIgQU0sIHRyb25kbXlAa2VybmVs Lm9yZ8Kgd3JvdGU6DQo+ID4gDQo+ID4gRnJvbTogVHJvbmQgTXlrbGVidXN0IDx0cm9uZC5teWts ZWJ1c3RAaGFtbWVyc3BhY2UuY29tPg0KPiA+IA0KPiA+IEVuc3VyZSB0aGF0IHdlIGZpeCB0aGUg WFBSVF9DT05HRVNURUQgc3RhcnZhdGlvbiBpc3N1ZSBmb3IgUkRNQSBhcw0KPiA+IHdlbGwNCj4g PiBhcyBzb2NrZXQgYmFzZWQgdHJhbnNwb3J0cy4NCj4gPiBFbnN1cmUgd2UgYWx3YXlzIGluaXRp YWxpc2UgdGhlIHJlcXVlc3QgYWZ0ZXIgd2FraW5nIHVwIGZyb20gdGhlDQo+ID4gYmFja2xvZw0K PiA+IGxpc3QuDQo+IA0KPiBPdXQgb2YgaW50ZXJlc3QsIHdoYXQgcHJvbXB0ZWQgdGhpcyBjb21t aXQ/IENvZGUgYXVkaXQsDQo+IG9yIG1pc2JlaGF2aW9yPw0KDQpBbm5hIHdhcyBzZWVpbmcgbWlz YmVoYXZpb3VyIHdoZW4gdGVzdGluZyBrcmI1IG1vdW50cyB3aXRoIHRoZSBvcmlnaW5hbA0KcGF0 Y2ggZnJvbSBOZWlsLiBGdXJ0aGVybW9yZSwgd2hlbiBJIGxvb2tlZCBhdCBoaXMgZml4LCBJIG5v dGljZWQgdGhhdA0KUkRNQSB3YXMgZXhlbXB0LCBkZXNwaXRlIHRoZSBmYWN0IHRoYXQgaXQgaGFz IHRoZSBleGFjdCBzYW1lIHBvdGVudGlhbA0KZm9yIG1pc2JlaGF2aW91ciBhcyB0aGUgc29ja2V0 IGNvZGUuDQoNCj4gDQo+IA0KPiA+IEZpeGVzOiBlODc3YTg4ZDFmMDYgKCJTVU5SUEMgaW4gY2Fz ZSBvZiBiYWNrbG9nLCBoYW5kIGZyZWUgc2xvdHMNCj4gPiBkaXJlY3RseSB0byB3YWl0aW5nIHRh c2siKQ0KPiA+IFNpZ25lZC1vZmYtYnk6IFRyb25kIE15a2xlYnVzdCA8dHJvbmQubXlrbGVidXN0 QGhhbW1lcnNwYWNlLmNvbT4NCj4gPiAtLS0NCj4gPiB2MjogRW5zdXJlIHdlIHJlbGVhc2UgdGhl IFJETUEgcmVwbHkgYnVmZmVyDQo+ID4gDQo+ID4gaW5jbHVkZS9saW51eC9zdW5ycGMveHBydC5o wqDCoMKgwqAgfMKgIDIgKysNCj4gPiBuZXQvc3VucnBjL3hwcnQuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA1OCArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0NCj4gPiAtLS0N Cj4gPiBuZXQvc3VucnBjL3hwcnRyZG1hL3RyYW5zcG9ydC5jIHwgMTIgKysrLS0tLQ0KPiA+IG5l dC9zdW5ycGMveHBydHJkbWEvdmVyYnMuY8KgwqDCoMKgIHwgMTggKysrKysrKystLQ0KPiA+IG5l dC9zdW5ycGMveHBydHJkbWEveHBydF9yZG1hLmggfMKgIDEgKw0KPiA+IDUgZmlsZXMgY2hhbmdl ZCwgNTIgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvc3VucnBjL3hwcnQuaA0KPiA+IGIvaW5jbHVkZS9saW51eC9zdW5y cGMveHBydC5oDQo+ID4gaW5kZXggZDgxZmU4YjM2NGQwLi42MWI2MjJlMzM0ZWUgMTAwNjQ0DQo+ ID4gLS0tIGEvaW5jbHVkZS9saW51eC9zdW5ycGMveHBydC5oDQo+ID4gKysrIGIvaW5jbHVkZS9s aW51eC9zdW5ycGMveHBydC5oDQo+ID4gQEAgLTM2OCw2ICszNjgsOCBAQCBzdHJ1Y3QgcnBjX3hw cnQgKsKgwqDCoHhwcnRfYWxsb2Moc3RydWN0IG5ldCAqbmV0LA0KPiA+IHNpemVfdCBzaXplLA0K PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqB1bnNpZ25lZCBpbnQgbnVtX3ByZWFsbG9jLA0KPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1bnNpZ25l ZCBpbnQgbWF4X3JlcSk7DQo+ID4gdm9pZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB4cHJ0X2ZyZWUoc3RydWN0IHJwY194cHJ0ICopOw0KPiA+ICt2b2lkwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4cHJ0X2FkZF9iYWNrbG9nKHN0cnVjdCBycGNf eHBydCAqeHBydCwNCj4gPiBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spOw0KPiA+ICtib29swqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4cHJ0X3dha2VfdXBfYmFja2xvZyhzdHJ1 Y3QgcnBjX3hwcnQgKnhwcnQsDQo+ID4gc3RydWN0IHJwY19ycXN0ICpyZXEpOw0KPiA+IA0KPiA+ IHN0YXRpYyBpbmxpbmUgaW50DQo+ID4geHBydF9lbmFibGVfc3dhcChzdHJ1Y3QgcnBjX3hwcnQg KnhwcnQpDQo+ID4gZGlmZiAtLWdpdCBhL25ldC9zdW5ycGMveHBydC5jIGIvbmV0L3N1bnJwYy94 cHJ0LmMNCj4gPiBpbmRleCA1YjM5ODFmZDM3ODMuLjM1MDlhN2YxMzliOSAxMDA2NDQNCj4gPiAt LS0gYS9uZXQvc3VucnBjL3hwcnQuYw0KPiA+ICsrKyBiL25ldC9zdW5ycGMveHBydC5jDQo+ID4g QEAgLTE2MDcsMTEgKzE2MDcsMTggQEAgeHBydF90cmFuc21pdChzdHJ1Y3QgcnBjX3Rhc2sgKnRh c2spDQo+ID4gwqDCoMKgwqDCoMKgwqDCoHNwaW5fdW5sb2NrKCZ4cHJ0LT5xdWV1ZV9sb2NrKTsN Cj4gPiB9DQo+ID4gDQo+ID4gLXN0YXRpYyB2b2lkIHhwcnRfYWRkX2JhY2tsb2coc3RydWN0IHJw Y194cHJ0ICp4cHJ0LCBzdHJ1Y3QNCj4gPiBycGNfdGFzayAqdGFzaykNCj4gPiArc3RhdGljIHZv aWQgeHBydF9jb21wbGV0ZV9yZXF1ZXN0X2luaXQoc3RydWN0IHJwY190YXNrICp0YXNrKQ0KPiA+ ICt7DQo+ID4gK8KgwqDCoMKgwqDCoMKgaWYgKHRhc2stPnRrX3Jxc3RwKQ0KPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4cHJ0X3JlcXVlc3RfaW5pdCh0YXNrKTsNCj4gPiArfQ0K PiA+ICsNCj4gPiArdm9pZCB4cHJ0X2FkZF9iYWNrbG9nKHN0cnVjdCBycGNfeHBydCAqeHBydCwg c3RydWN0IHJwY190YXNrDQo+ID4gKnRhc2spDQo+ID4gew0KPiA+IMKgwqDCoMKgwqDCoMKgwqBz ZXRfYml0KFhQUlRfQ09OR0VTVEVELCAmeHBydC0+c3RhdGUpOw0KPiA+IC3CoMKgwqDCoMKgwqDC oHJwY19zbGVlcF9vbigmeHBydC0+YmFja2xvZywgdGFzaywgTlVMTCk7DQo+ID4gK8KgwqDCoMKg wqDCoMKgcnBjX3NsZWVwX29uKCZ4cHJ0LT5iYWNrbG9nLCB0YXNrLA0KPiA+IHhwcnRfY29tcGxl dGVfcmVxdWVzdF9pbml0KTsNCj4gPiB9DQo+ID4gK0VYUE9SVF9TWU1CT0xfR1BMKHhwcnRfYWRk X2JhY2tsb2cpOw0KPiA+IA0KPiA+IHN0YXRpYyBib29sIF9feHBydF9zZXRfcnEoc3RydWN0IHJw Y190YXNrICp0YXNrLCB2b2lkICpkYXRhKQ0KPiA+IHsNCj4gPiBAQCAtMTYxOSwxNCArMTYyNiwx MyBAQCBzdGF0aWMgYm9vbCBfX3hwcnRfc2V0X3JxKHN0cnVjdCBycGNfdGFzaw0KPiA+ICp0YXNr LCB2b2lkICpkYXRhKQ0KPiA+IA0KPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAodGFzay0+dGtfcnFz dHAgPT0gTlVMTCkgew0KPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbWVtc2V0 KHJlcSwgMCwgc2l6ZW9mKCpyZXEpKTvCoMKgwqAvKiBtYXJrIHVudXNlZCAqLw0KPiA+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0YXNrLT50a19zdGF0dXMgPSAtRUFHQUlOOw0KPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGFzay0+dGtfcnFzdHAgPSByZXE7DQo+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gdHJ1ZTsNCj4gPiDCoMKg wqDCoMKgwqDCoMKgfQ0KPiA+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZmFsc2U7DQo+ID4gfQ0K PiA+IA0KPiA+IC1zdGF0aWMgYm9vbCB4cHJ0X3dha2VfdXBfYmFja2xvZyhzdHJ1Y3QgcnBjX3hw cnQgKnhwcnQsIHN0cnVjdA0KPiA+IHJwY19ycXN0ICpyZXEpDQo+ID4gK2Jvb2wgeHBydF93YWtl X3VwX2JhY2tsb2coc3RydWN0IHJwY194cHJ0ICp4cHJ0LCBzdHJ1Y3QgcnBjX3Jxc3QNCj4gPiAq cmVxKQ0KPiA+IHsNCj4gPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHJwY193YWtlX3VwX2ZpcnN0KCZ4 cHJ0LT5iYWNrbG9nLCBfX3hwcnRfc2V0X3JxLCByZXEpDQo+ID4gPT0gTlVMTCkgew0KPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY2xlYXJfYml0KFhQUlRfQ09OR0VTVEVELCAm eHBydC0+c3RhdGUpOw0KPiA+IEBAIC0xNjM0LDYgKzE2NDAsNyBAQCBzdGF0aWMgYm9vbCB4cHJ0 X3dha2VfdXBfYmFja2xvZyhzdHJ1Y3QNCj4gPiBycGNfeHBydCAqeHBydCwgc3RydWN0IHJwY19y cXN0ICpyZXEpDQo+ID4gwqDCoMKgwqDCoMKgwqDCoH0NCj4gPiDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIHRydWU7DQo+ID4gfQ0KPiA+ICtFWFBPUlRfU1lNQk9MX0dQTCh4cHJ0X3dha2VfdXBfYmFj a2xvZyk7DQo+ID4gDQo+ID4gc3RhdGljIGJvb2wgeHBydF90aHJvdHRsZV9jb25nZXN0ZWQoc3Ry dWN0IHJwY194cHJ0ICp4cHJ0LCBzdHJ1Y3QNCj4gPiBycGNfdGFzayAqdGFzaykNCj4gPiB7DQo+ ID4gQEAgLTE2NDMsNyArMTY1MCw3IEBAIHN0YXRpYyBib29sIHhwcnRfdGhyb3R0bGVfY29uZ2Vz dGVkKHN0cnVjdA0KPiA+IHJwY194cHJ0ICp4cHJ0LCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2sNCj4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGdvdG8gb3V0Ow0KPiA+IMKgwqDCoMKg wqDCoMKgwqBzcGluX2xvY2soJnhwcnQtPnJlc2VydmVfbG9jayk7DQo+ID4gwqDCoMKgwqDCoMKg wqDCoGlmICh0ZXN0X2JpdChYUFJUX0NPTkdFU1RFRCwgJnhwcnQtPnN0YXRlKSkgew0KPiA+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBycGNfc2xlZXBfb24oJnhwcnQtPmJhY2tsb2cs IHRhc2ssIE5VTEwpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4cHJ0X2Fk ZF9iYWNrbG9nKHhwcnQsIHRhc2spOw0KPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgcmV0ID0gdHJ1ZTsNCj4gPiDCoMKgwqDCoMKgwqDCoMKgfQ0KPiA+IMKgwqDCoMKgwqDCoMKg wqBzcGluX3VubG9jaygmeHBydC0+cmVzZXJ2ZV9sb2NrKTsNCj4gPiBAQCAtMTgxMiwxMCArMTgx OSw2IEBAIHhwcnRfcmVxdWVzdF9pbml0KHN0cnVjdCBycGNfdGFzayAqdGFzaykNCj4gPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IHJwY194cHJ0ICp4cHJ0ID0gdGFzay0+dGtfeHBydDsNCj4gPiDC oMKgwqDCoMKgwqDCoMKgc3RydWN0IHJwY19ycXN0wqAqcmVxID0gdGFzay0+dGtfcnFzdHA7DQo+ ID4gDQo+ID4gLcKgwqDCoMKgwqDCoMKgaWYgKHJlcS0+cnFfdGFzaykNCj4gPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgLyogQWxyZWFkeSBpbml0aWFsaXplZCAqLw0KPiA+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm47DQo+ID4gLQ0KPiA+IMKgwqDCoMKgwqDC oMKgwqByZXEtPnJxX3Rhc2vCoMKgwqDCoD0gdGFzazsNCj4gPiDCoMKgwqDCoMKgwqDCoMKgcmVx LT5ycV94cHJ0wqDCoMKgID0geHBydDsNCj4gPiDCoMKgwqDCoMKgwqDCoMKgcmVxLT5ycV9idWZm ZXLCoCA9IE5VTEw7DQo+ID4gQEAgLTE4NzYsMTAgKzE4NzksOCBAQCB2b2lkIHhwcnRfcmV0cnlf cmVzZXJ2ZShzdHJ1Y3QgcnBjX3Rhc2sNCj4gPiAqdGFzaykNCj4gPiDCoMKgwqDCoMKgwqDCoMKg c3RydWN0IHJwY194cHJ0ICp4cHJ0ID0gdGFzay0+dGtfeHBydDsNCj4gPiANCj4gPiDCoMKgwqDC oMKgwqDCoMKgdGFzay0+dGtfc3RhdHVzID0gMDsNCj4gPiAtwqDCoMKgwqDCoMKgwqBpZiAodGFz ay0+dGtfcnFzdHAgIT0gTlVMTCkgew0KPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB4cHJ0X3JlcXVlc3RfaW5pdCh0YXNrKTsNCj4gPiArwqDCoMKgwqDCoMKgwqBpZiAodGFzay0+ dGtfcnFzdHAgIT0gTlVMTCkNCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJl dHVybjsNCj4gPiAtwqDCoMKgwqDCoMKgwqB9DQo+ID4gDQo+ID4gwqDCoMKgwqDCoMKgwqDCoHRh c2stPnRrX3N0YXR1cyA9IC1FQUdBSU47DQo+ID4gwqDCoMKgwqDCoMKgwqDCoHhwcnRfZG9fcmVz ZXJ2ZSh4cHJ0LCB0YXNrKTsNCj4gPiBAQCAtMTkwNCwyNCArMTkwNSwyMSBAQCB2b2lkIHhwcnRf cmVsZWFzZShzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spDQo+ID4gwqDCoMKgwqDCoMKgwqDCoH0NCj4g PiANCj4gPiDCoMKgwqDCoMKgwqDCoMKgeHBydCA9IHJlcS0+cnFfeHBydDsNCj4gPiAtwqDCoMKg wqDCoMKgwqBpZiAoeHBydCkgew0KPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4 cHJ0X3JlcXVlc3RfZGVxdWV1ZV94cHJ0KHRhc2spOw0KPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBzcGluX2xvY2soJnhwcnQtPnRyYW5zcG9ydF9sb2NrKTsNCj4gPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeHBydC0+b3BzLT5yZWxlYXNlX3hwcnQoeHBydCwgdGFz ayk7DQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICh4cHJ0LT5vcHMtPnJl bGVhc2VfcmVxdWVzdCkNCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHhwcnQtPm9wcy0+cmVsZWFzZV9yZXF1ZXN0KHRhc2spOw0KPiA+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4cHJ0X3NjaGVkdWxlX2F1dG9kaXNjb25uZWN0KHhwcnQp Ow0KPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzcGluX3VubG9jaygmeHBydC0+ dHJhbnNwb3J0X2xvY2spOw0KPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAo cmVxLT5ycV9idWZmZXIpDQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqB4cHJ0LT5vcHMtPmJ1Zl9mcmVlKHRhc2spOw0KPiA+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB4ZHJfZnJlZV9idmVjKCZyZXEtPnJxX3Jjdl9idWYpOw0KPiA+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4ZHJfZnJlZV9idmVjKCZyZXEtPnJxX3NuZF9i dWYpOw0KPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAocmVxLT5ycV9jcmVk ICE9IE5VTEwpDQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBwdXRfcnBjY3JlZChyZXEtPnJxX2NyZWQpOw0KPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpZiAocmVxLT5ycV9yZWxlYXNlX3NuZF9idWYpDQo+ID4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXEtPnJxX3JlbGVhc2Vfc25kX2J1 ZihyZXEpOw0KPiA+IC3CoMKgwqDCoMKgwqDCoH0gZWxzZQ0KPiA+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB4cHJ0ID0gdGFzay0+dGtfeHBydDsNCj4gPiArwqDCoMKgwqDCoMKgwqB4 cHJ0X3JlcXVlc3RfZGVxdWV1ZV94cHJ0KHRhc2spOw0KPiA+ICvCoMKgwqDCoMKgwqDCoHNwaW5f bG9jaygmeHBydC0+dHJhbnNwb3J0X2xvY2spOw0KPiA+ICvCoMKgwqDCoMKgwqDCoHhwcnQtPm9w cy0+cmVsZWFzZV94cHJ0KHhwcnQsIHRhc2spOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGlmICh4cHJ0 LT5vcHMtPnJlbGVhc2VfcmVxdWVzdCkNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgeHBydC0+b3BzLT5yZWxlYXNlX3JlcXVlc3QodGFzayk7DQo+ID4gK8KgwqDCoMKgwqDCoMKg eHBydF9zY2hlZHVsZV9hdXRvZGlzY29ubmVjdCh4cHJ0KTsNCj4gPiArwqDCoMKgwqDCoMKgwqBz cGluX3VubG9jaygmeHBydC0+dHJhbnNwb3J0X2xvY2spOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGlm IChyZXEtPnJxX2J1ZmZlcikNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeHBy dC0+b3BzLT5idWZfZnJlZSh0YXNrKTsNCj4gPiArwqDCoMKgwqDCoMKgwqB4ZHJfZnJlZV9idmVj KCZyZXEtPnJxX3Jjdl9idWYpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoHhkcl9mcmVlX2J2ZWMoJnJl cS0+cnFfc25kX2J1Zik7DQo+ID4gK8KgwqDCoMKgwqDCoMKgaWYgKHJlcS0+cnFfY3JlZCAhPSBO VUxMKQ0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwdXRfcnBjY3JlZChyZXEt PnJxX2NyZWQpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGlmIChyZXEtPnJxX3JlbGVhc2Vfc25kX2J1 ZikNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVxLT5ycV9yZWxlYXNlX3Nu ZF9idWYocmVxKTsNCj4gPiANCj4gPiDCoMKgwqDCoMKgwqDCoMKgdGFzay0+dGtfcnFzdHAgPSBO VUxMOw0KPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAobGlrZWx5KCFiY19wcmVhbGxvYyhyZXEpKSkN Cj4gPiBkaWZmIC0tZ2l0IGEvbmV0L3N1bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYw0KPiA+IGIv bmV0L3N1bnJwYy94cHJ0cmRtYS90cmFuc3BvcnQuYw0KPiA+IGluZGV4IDA5OTUzNTk3ZDA1NS4u MTlhNDlkMjZiMWU0IDEwMDY0NA0KPiA+IC0tLSBhL25ldC9zdW5ycGMveHBydHJkbWEvdHJhbnNw b3J0LmMNCj4gPiArKysgYi9uZXQvc3VucnBjL3hwcnRyZG1hL3RyYW5zcG9ydC5jDQo+ID4gQEAg LTUyMCw5ICs1MjAsOCBAQCB4cHJ0X3JkbWFfYWxsb2Nfc2xvdChzdHJ1Y3QgcnBjX3hwcnQgKnhw cnQsDQo+ID4gc3RydWN0IHJwY190YXNrICp0YXNrKQ0KPiA+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm47DQo+ID4gDQo+ID4gb3V0X3NsZWVwOg0KPiA+IC3CoMKgwqDCoMKgwqDCoHNldF9iaXQoWFBS VF9DT05HRVNURUQsICZ4cHJ0LT5zdGF0ZSk7DQo+ID4gLcKgwqDCoMKgwqDCoMKgcnBjX3NsZWVw X29uKCZ4cHJ0LT5iYWNrbG9nLCB0YXNrLCBOVUxMKTsNCj4gPiDCoMKgwqDCoMKgwqDCoMKgdGFz ay0+dGtfc3RhdHVzID0gLUVBR0FJTjsNCj4gPiArwqDCoMKgwqDCoMKgwqB4cHJ0X2FkZF9iYWNr bG9nKHhwcnQsIHRhc2spOw0KPiA+IH0NCj4gPiANCj4gPiAvKioNCj4gPiBAQCAtNTM3LDEwICs1 MzYsMTEgQEAgeHBydF9yZG1hX2ZyZWVfc2xvdChzdHJ1Y3QgcnBjX3hwcnQgKnhwcnQsDQo+ID4g c3RydWN0IHJwY19ycXN0ICpycXN0KQ0KPiA+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgcnBjcmRt YV94cHJ0ICpyX3hwcnQgPQ0KPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29u dGFpbmVyX29mKHhwcnQsIHN0cnVjdCBycGNyZG1hX3hwcnQsIHJ4X3hwcnQpOw0KPiA+IA0KPiA+ IC3CoMKgwqDCoMKgwqDCoG1lbXNldChycXN0LCAwLCBzaXplb2YoKnJxc3QpKTsNCj4gPiAtwqDC oMKgwqDCoMKgwqBycGNyZG1hX2J1ZmZlcl9wdXQoJnJfeHBydC0+cnhfYnVmLCBycGNyX3RvX3Jk bWFyKHJxc3QpKTsNCj4gPiAtwqDCoMKgwqDCoMKgwqBpZiAodW5saWtlbHkoIXJwY193YWtlX3Vw X25leHQoJnhwcnQtPmJhY2tsb2cpKSkNCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgY2xlYXJfYml0KFhQUlRfQ09OR0VTVEVELCAmeHBydC0+c3RhdGUpOw0KPiA+ICvCoMKgwqDC oMKgwqDCoHJwY3JkbWFfcmVwbHlfcHV0KCZyX3hwcnQtPnJ4X2J1ZiwgcnBjcl90b19yZG1hcihy cXN0KSk7DQo+ID4gK8KgwqDCoMKgwqDCoMKgaWYgKCF4cHJ0X3dha2VfdXBfYmFja2xvZyh4cHJ0 LCBycXN0KSkgew0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBtZW1zZXQocnFz dCwgMCwgc2l6ZW9mKCpycXN0KSk7DQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHJwY3JkbWFfYnVmZmVyX3B1dCgmcl94cHJ0LT5yeF9idWYsDQo+ID4gcnBjcl90b19yZG1hcihy cXN0KSk7DQo+ID4gK8KgwqDCoMKgwqDCoMKgfQ0KPiA+IH0NCj4gPiANCj4gPiBzdGF0aWMgYm9v bCBycGNyZG1hX2NoZWNrX3JlZ2J1ZihzdHJ1Y3QgcnBjcmRtYV94cHJ0ICpyX3hwcnQsDQo+ID4g ZGlmZiAtLWdpdCBhL25ldC9zdW5ycGMveHBydHJkbWEvdmVyYnMuYw0KPiA+IGIvbmV0L3N1bnJw Yy94cHJ0cmRtYS92ZXJicy5jDQo+ID4gaW5kZXggMWU5NjVhMzgwODk2Li42NDljMjM1MThlYzAg MTAwNjQ0DQo+ID4gLS0tIGEvbmV0L3N1bnJwYy94cHJ0cmRtYS92ZXJicy5jDQo+ID4gKysrIGIv bmV0L3N1bnJwYy94cHJ0cmRtYS92ZXJicy5jDQo+ID4gQEAgLTEyMDAsNiArMTIwMCwyMCBAQCBy cGNyZG1hX21yX2dldChzdHJ1Y3QgcnBjcmRtYV94cHJ0ICpyX3hwcnQpDQo+ID4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiBtcjsNCj4gPiB9DQo+ID4gDQo+ID4gKy8qKg0KPiA+ICsgKiBycGNyZG1h X3JlcGx5X3B1dCAtIFB1dCByZXBseSBidWZmZXJzIGJhY2sgaW50byBwb29sDQo+ID4gKyAqIEBi dWZmZXJzOiBidWZmZXIgcG9vbA0KPiA+ICsgKiBAcmVxOiBvYmplY3QgdG8gcmV0dXJuDQo+ID4g KyAqDQo+ID4gKyAqLw0KPiA+ICt2b2lkIHJwY3JkbWFfcmVwbHlfcHV0KHN0cnVjdCBycGNyZG1h X2J1ZmZlciAqYnVmZmVycywgc3RydWN0DQo+ID4gcnBjcmRtYV9yZXEgKnJlcSkNCj4gPiArew0K PiA+ICvCoMKgwqDCoMKgwqDCoGlmIChyZXEtPnJsX3JlcGx5KSB7DQo+ID4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHJwY3JkbWFfcmVwX3B1dChidWZmZXJzLCByZXEtPnJsX3JlcGx5 KTsNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVxLT5ybF9yZXBseSA9IE5V TEw7DQo+ID4gK8KgwqDCoMKgwqDCoMKgfQ0KPiA+ICt9DQo+ID4gKw0KPiA+IC8qKg0KPiA+IMKg KiBycGNyZG1hX2J1ZmZlcl9nZXQgLSBHZXQgYSByZXF1ZXN0IGJ1ZmZlcg0KPiA+IMKgKiBAYnVm ZmVyczogQnVmZmVyIHBvb2wgZnJvbSB3aGljaCB0byBvYnRhaW4gYSBidWZmZXINCj4gPiBAQCAt MTIyOCw5ICsxMjQyLDcgQEAgcnBjcmRtYV9idWZmZXJfZ2V0KHN0cnVjdCBycGNyZG1hX2J1ZmZl cg0KPiA+ICpidWZmZXJzKQ0KPiA+IMKgKi8NCj4gPiB2b2lkIHJwY3JkbWFfYnVmZmVyX3B1dChz dHJ1Y3QgcnBjcmRtYV9idWZmZXIgKmJ1ZmZlcnMsIHN0cnVjdA0KPiA+IHJwY3JkbWFfcmVxICpy ZXEpDQo+ID4gew0KPiA+IC3CoMKgwqDCoMKgwqDCoGlmIChyZXEtPnJsX3JlcGx5KQ0KPiA+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBycGNyZG1hX3JlcF9wdXQoYnVmZmVycywgcmVx LT5ybF9yZXBseSk7DQo+ID4gLcKgwqDCoMKgwqDCoMKgcmVxLT5ybF9yZXBseSA9IE5VTEw7DQo+ ID4gK8KgwqDCoMKgwqDCoMKgcnBjcmRtYV9yZXBseV9wdXQoYnVmZmVycywgcmVxKTsNCj4gPiAN Cj4gPiDCoMKgwqDCoMKgwqDCoMKgc3Bpbl9sb2NrKCZidWZmZXJzLT5yYl9sb2NrKTsNCj4gPiDC oMKgwqDCoMKgwqDCoMKgbGlzdF9hZGQoJnJlcS0+cmxfbGlzdCwgJmJ1ZmZlcnMtPnJiX3NlbmRf YnVmcyk7DQo+ID4gZGlmZiAtLWdpdCBhL25ldC9zdW5ycGMveHBydHJkbWEveHBydF9yZG1hLmgN Cj4gPiBiL25ldC9zdW5ycGMveHBydHJkbWEveHBydF9yZG1hLmgNCj4gPiBpbmRleCA0MzZhZDcz MTI2MTQuLjVkMjMxZDk0ZTk0NCAxMDA2NDQNCj4gPiAtLS0gYS9uZXQvc3VucnBjL3hwcnRyZG1h L3hwcnRfcmRtYS5oDQo+ID4gKysrIGIvbmV0L3N1bnJwYy94cHJ0cmRtYS94cHJ0X3JkbWEuaA0K PiA+IEBAIC00NzksNiArNDc5LDcgQEAgc3RydWN0IHJwY3JkbWFfcmVxICpycGNyZG1hX2J1ZmZl cl9nZXQoc3RydWN0DQo+ID4gcnBjcmRtYV9idWZmZXIgKik7DQo+ID4gdm9pZCBycGNyZG1hX2J1 ZmZlcl9wdXQoc3RydWN0IHJwY3JkbWFfYnVmZmVyICpidWZmZXJzLA0KPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBycGNyZG1hX3JlcSAq cmVxKTsNCj4gPiB2b2lkIHJwY3JkbWFfcmVwX3B1dChzdHJ1Y3QgcnBjcmRtYV9idWZmZXIgKmJ1 Ziwgc3RydWN0IHJwY3JkbWFfcmVwDQo+ID4gKnJlcCk7DQo+ID4gK3ZvaWQgcnBjcmRtYV9yZXBs eV9wdXQoc3RydWN0IHJwY3JkbWFfYnVmZmVyICpidWZmZXJzLCBzdHJ1Y3QNCj4gPiBycGNyZG1h X3JlcSAqcmVxKTsNCj4gPiANCj4gPiBib29sIHJwY3JkbWFfcmVnYnVmX3JlYWxsb2Moc3RydWN0 IHJwY3JkbWFfcmVnYnVmICpyYiwgc2l6ZV90IHNpemUsDQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdmcF90IGZsYWdzKTsNCj4gPiAt LSANCj4gPiAyLjMxLjENCj4gPiANCj4gDQo+IC0tDQo+IENodWNrIExldmVyDQo+IA0KPiANCj4g DQoNCi0tIA0KVHJvbmQgTXlrbGVidXN0DQpMaW51eCBORlMgY2xpZW50IG1haW50YWluZXIsIEhh bW1lcnNwYWNlDQp0cm9uZC5teWtsZWJ1c3RAaGFtbWVyc3BhY2UuY29tDQoNCg0K