From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 82FA542B8F; Wed, 24 May 2023 18:00:49 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 59C4C40156; Wed, 24 May 2023 18:00:49 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2076.outbound.protection.outlook.com [40.107.243.76]) by mails.dpdk.org (Postfix) with ESMTP id 938C1400EF for ; Wed, 24 May 2023 18:00:47 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kwfLbAECD07G471aasNLf0tLooo5rpGvdmnASehS6+erD+0BwGq6QDC8CGyiUF4T2aQVn/Pwv4X4hmqsKX+GAyZDzbsJQggUsGmeZ4+ydsVkFDt0tJTcAVxVYSmtgfU9ljr7xbtOq4iiOyQubwFsmM+tKMDnO9g8PpQBth1Y02dXtfgL9dA3MO35N6MTD7mST1zsYV+BCF3M8G9rzYmNxEz+hG40YkIol3LzleSOR2QA8c9rQ3ZeTFEY0ijQqjpU14gckwOGIJbY2EOZAn/AULblFmasGZPHlQurhDCzUdVMvAnJFtaKQEiy0vR2PuZfLGICs13Vfd+W2zyVYn8kjQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NcQ5K/uxVCRUbCsHks3DbP5xncbB7/qHGwee1nuF+fU=; b=JJqBueUhZT7Cw4FlzDRZZg4bX6x6g1C1KpGZv58xklgA/NdqDsLoFqgC6pG8eawi6rYwAIwzbpqxMCsMGi0OM/BuEBzfhakhfRtsc5t+n9QMNZGalWQdigzRm7JXoJtNT7X9hz360YlKDoRKp5Oh1cDU/iyLFQ5CYUiCMVlJCZUWz0uz6WlIi6ijAZ0+q2+IhvpNKYmr9yI4mjaZKwmt+iMpYIiCyANW20QoBZEJ7MtDItpXvDCz3LhpfpaIeACSxjHnk+cPGyO9x2ohlL50RkxtVsHIZVzYGpth/qZ0HNPRQknlYZSZVjO0CHY9m28HsMnywEUwgBF5+9Uc+eg5Cw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NcQ5K/uxVCRUbCsHks3DbP5xncbB7/qHGwee1nuF+fU=; b=nwku6tPeyMuNtKkObGW+aTsFDRLYCow/lNbknG7TAkyIlkDxDVnY8/PrQmhtN2ItBITFOmrMrSnxWXdNXm+A9vcXHRzhZqAV5gSy6AAFKaG2uw60e05k4OINTKkUSCfNR4S6jFb668PcDohLuNK8XLtr7ANYNbT7s9DFbCYP57IJUqmlCqz7ZjbOqgEkZp1ywo/0/iblVt5JB+BawVotKihI4sYQghYZ1Qd31NsV/LD2MHb2RE1olQGiyLhXw7nP4CMc+QIueYQYz8Fb4edMriP1uE9DpC2dy03Dg8yvi/lVGx2+81F12FpSGnPYD06Vs6QFbQRXj6y/w5g2O/IR9Q== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by DM4PR12MB5215.namprd12.prod.outlook.com (2603:10b6:5:397::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Wed, 24 May 2023 16:00:45 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::2283:65bb:1559:9dcf]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::2283:65bb:1559:9dcf%4]) with mapi id 15.20.6411.028; Wed, 24 May 2023 16:00:45 +0000 From: Ori Kam To: David Marchand , "dev@dpdk.org" CC: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "i.maximets@ovn.org" , Aman Singh , Yuying Zhang , Matan Azrad , Slava Ovsiienko , Andrew Rybchenko , Ferruh Yigit Subject: RE: [RFC PATCH] ethdev: advertise flow restore in mbuf Thread-Topic: [RFC PATCH] ethdev: advertise flow restore in mbuf Thread-Index: AQHZfzy+dR446qVcQUeS/w7+jIlnpK9pkS9g Date: Wed, 24 May 2023 16:00:44 +0000 Message-ID: References: <20230505103102.2912297-1-david.marchand@redhat.com> In-Reply-To: <20230505103102.2912297-1-david.marchand@redhat.com> 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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW2PR12MB4666:EE_|DM4PR12MB5215:EE_ x-ms-office365-filtering-correlation-id: 0539ac61-2024-403f-c22c-08db5c700867 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: G/GgbEDK42psD8tkp3RjIGBckLNKeje7+r5yuDRx5ZosQksBrFsvGdEhplPsEXoiovkRLb0AjJpezJRoBZjg0OnqirkmNAHkjNKiJstIQR4L3RJAaVKhRbXJhhRs2kPUPDl7Tpawgnkpg3dsl/vc2XxUAgn8q7VkHCQBq5sOOLIA54KYTEhTkFe4m9eKXgPey+Rjt6tMD1G+grKpzNSKyCWAcuQF7F9+7H8lEx603t+BHC5A2J0KO3ShNq4Bx8NYgwTz7x5igso1odxxiEu4MMTT0s80yMUhatcc1HYFP1zpV0T+cpvyIFAbNmmXZuZRuu91uA/CfWhFumB/CMkjNh4qJyX/xTxi/LujkkGEfjjZVO7WNXP28/a4lKRuho83fsGULjO8suglSDaew+SMlseYRm01QX2wKJHyKB1WikcUhtj0j511qPJChD159dNkAe/8sHRwGFNkMmcdIA37rBUkHFqAmxfZH0mZtr3jWHCD+elvFFI0ZYCK1R/Hb5HLYH6UUi5XyQoixgRhTHTKZxC2CmNTG2K936YDR8N42WCLQHwVGF7+kcHRtvvUaHXIzwafz0DKowoB8/SMcxYh98vMqq4ZX5erq3pI1mIGSVFbxiCeUsX+2tXOh9GFWYb2/bFQzOBtXTBXcKjU/GqN1GahW1W+CixIz5FIu5+q7tU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(366004)(136003)(346002)(396003)(376002)(39860400002)(451199021)(83380400001)(2906002)(30864003)(186003)(86362001)(33656002)(38070700005)(122000001)(38100700002)(55016003)(966005)(71200400001)(316002)(7696005)(41300700001)(8936002)(52536014)(8676002)(5660300002)(478600001)(54906003)(110136005)(76116006)(64756008)(66476007)(66946007)(66446008)(4326008)(66556008)(6506007)(9686003)(26005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b0xYL0RVOUovV1B4d3R1OXIrTEZYTmVRd0swTEJob3V3bERBQUl0T1FNN25v?= =?utf-8?B?a2dqZ1ozcndlSTBsQUVDZUJGRTlMbDk3ZVVHVWtIL3J0Mi9jNkVaTm5xN3Ba?= =?utf-8?B?VW5nS3U5UWx6SHRwK3ZkWnAvRTg4K3Q3NXFLcEorS0pEOG9Md1ZLdGIxNXE1?= =?utf-8?B?cGRXbkpyT0JsYTF2clNhZ2xQY00wTVZ0ZFBNa1RMeUJMN1lDMFdLM2kzWFZC?= =?utf-8?B?TmRlcW1aRHREcGJRSUZMaGdWeW9UZXlIanBGb0tEZWJHNXBucEVjakNvWUI0?= =?utf-8?B?V2VKKzk3TTRVYVBOT3JIUURHUVVNbDZzazNiUnVNa3JEZFVkQXo3Zms0b01n?= =?utf-8?B?cU85dnU5d2VyL21HTktKcnJWd2c0MmkrR1B3bUJDRVRGZ1FMRTFlWWFkcHJR?= =?utf-8?B?SGVXQlBGZE1XazUyV1FoNDRtdlNidXlUNkR5VEY5WjJtWXVyQ0FiakdJcmNn?= =?utf-8?B?QnBYSGt6SkVhQ2lPY0lkOGxFRTc0Q1Jya2d4L3phMVFmeXg0YlR6QVF5Y2Zy?= =?utf-8?B?T2wzcE9ZSXhvLzJFYTY1cTJxUkk0a2pZYTBLbS91c1ZXQmQ2WVNvUkVRY1ZK?= =?utf-8?B?QWJrTWVEM3VDSzM1aVZROVA5bnNjVjh6eWF4OFlTSXpUSGFOcjVLOWNiN2ZC?= =?utf-8?B?VE5lK2JxUFZoVGQ1Y3dXRVV3bm16WXlGanVjNDkxTnY4bVlmRnFBdGFkdFNQ?= =?utf-8?B?NmdDeU92M0lMZ21kQ1dsK2I5T3owZkh2N21OcmRTY0pTN0h0SFFFblpVQzcx?= =?utf-8?B?cURCOFYyZkNpcmNHUlF3WlJ4ZlFkMWE0ZUJKV0NQN29rckJPeDdaZlV1aU5B?= =?utf-8?B?YXdPamRabkVqWmRNZ0hzSmFHVHhFUkQwU2JnZ0w5cmRXN3dVcjVIUTBTQnBM?= =?utf-8?B?TGk2MzNkWEF1cm1IbTV2TjBIOTNzMzlUb0txSWVRTE1SZzhwbkh3RXFIZytm?= =?utf-8?B?MFZkd05Rb3YyY3l3cFkvbDJZV1pPU3ZTem1qbUZuNWRURytWVUNuYUpIUFgz?= =?utf-8?B?Q3BmUjRFQ1hEV1FEcExzZXErZXZrd3ZIRUV4Z2tqR28zMmUzcHdxTzJxdElJ?= =?utf-8?B?QWNHU09ick9PNEJzU0NLMU9OVWxWWHRkWFFqdlhudFlJKzVUY1NvZjA3S1lC?= =?utf-8?B?VGJCeU9aNlZuYTBnOFBqdkRtdUVYTlUzeGFveG5jVHQzYlBxMGdaSXA5YmJC?= =?utf-8?B?bE0wQ0tQRXJoNVdEVUg5dDNsS0R1ZGJuOVlaS0YvWmZ3T3dUZWJxdHF2dk8r?= =?utf-8?B?aTEvVVNNQUI3aGdNZTJ2U0k1cWk3VysrM05FTXNkcFRRN285N0lTbGpRc1ht?= =?utf-8?B?TlRNazRkRmk2WFUxR3hsb1JGaDEzVFN0ZTA0d3VqeWhFTXhERlVGaWsxaExJ?= =?utf-8?B?NUdnYWpHZzlxUmppL1Q3VTRZTmRuQjRobXZKbTF0UXBBREhvdHVqbHU2Tmtk?= =?utf-8?B?M09ZS1V2a3l3SVFpYWV3dnU0Y1M3ZFRCc0thaE1CSTBNd1JsOFo2b1hkMHVu?= =?utf-8?B?VFM1Rkx5MWczOGFrM0ZoamhJYys4ak1mRFN5aFAyd2p2RFZySkZibVUvZCtw?= =?utf-8?B?d2ljRFFON3NGanhPcFJGRkwxQWlsWEh4RDRLc293Tld5U2NrSWY3LzBIZGZo?= =?utf-8?B?b3c5bHh6MndlRnBDZDBMSytJZTdNTEk4ZUVuNEcvMzZheE1LbG52SjZnR0pt?= =?utf-8?B?RWhrN3M1SFJCcU9QallRbGRGNkhOdHZYRlNZL0FDM3R5Q2ltMnhtMTFtMnlu?= =?utf-8?B?K2FhdnFvNlo2TXM4MVRabE9ROTZ1Uml1SFRpcjBPaGlNaTU5TlFXd0xKU0xD?= =?utf-8?B?NjhkWWw4d09hcTFzeXhBNTFQTkhQM0JrR2plVWxOWVdRSDhaYVQ5Sm40WHJp?= =?utf-8?B?NzQ3R1IrZEdJaHNMcUlTdmVpSHE2T0crdzlUc3M0eW01MnpBVlhmazZPYXJZ?= =?utf-8?B?cGNyY09TR3V6QVExYU1ZN3NKSzArVW4ySXdxOG5ReW45cEtMdCtKeitHYzk2?= =?utf-8?B?T3UvbFFwNTV4eGZTYWU4cmY3cHpEcHRUZDM0Q0k2V1dpMkZCUE5JcWY5N3pw?= =?utf-8?B?VDF5ZS9EQVYwV2dXd25OekozbGc2eS9LMUoyVyt3SjlkL0hPcVd1cnJWY2Fs?= =?utf-8?Q?ddJw=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0539ac61-2024-403f-c22c-08db5c700867 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2023 16:00:45.0159 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cCnA44M/lSHmWFUIIpUTBpDUkQPEaJaxofpdeYm8hq2DD/9lXnlObabOyBqvHIcwGoYxtjuDgb2fxh2Tx7qMDA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5215 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SGkgRGF2aWQNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEYXZpZCBN YXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj4gU2VudDogRnJpZGF5LCBNYXkg NSwgMjAyMyAxOjMxIFBNDQo+IA0KPiBBcyByZXBvcnRlZCBieSBJbHlhIFsxXSwgdW5jb25kaXRp b25hbGx5IGNhbGxpbmcNCj4gcnRlX2Zsb3dfZ2V0X3Jlc3RvcmVfaW5mbygpIGltcGFjdHMgYW4g YXBwbGljYXRpb24gcGVyZm9ybWFuY2UgZm9yIGRyaXZlcnMNCj4gdGhhdCBkbyBub3QgcHJvdmlk ZSB0aGlzIG9wcy4NCj4gSXQgY291bGQgYWxzbyBpbXBhY3QgcHJvY2Vzc2luZyBvZiBwYWNrZXRz IHRoYXQgcmVxdWlyZSBubyBjYWxsIHRvDQo+IHJ0ZV9mbG93X2dldF9yZXN0b3JlX2luZm8oKSBh dCBhbGwuDQo+IA0KPiBBZHZlcnRpc2UgaW4gbWJ1ZiAodmlhIGEgZHluYW1pYyBmbGFnKSB3aGV0 aGVyIHRoZSBkcml2ZXIgaGFzIG1vcmUNCj4gbWV0YWRhdGEgdG8gcHJvdmlkZSB2aWEgcnRlX2Zs b3dfZ2V0X3Jlc3RvcmVfaW5mbygpLg0KPiBUaGUgYXBwbGljYXRpb24gY2FuIHRoZW4gY2FsbCBp dCBvbmx5IHdoZW4gcmVxdWlyZWQuDQo+IA0KPiBMaW5rOiBodHRwOi8vaW5ib3guZHBkay5vcmcv ZGV2LzUyNDhjMmNhLWYyYTYtM2ZiMC0zOGI4LQ0KPiA3ZjY1OWJmYTQwZGVAb3ZuLm9yZy8NCj4g U2lnbmVkLW9mZi1ieTogRGF2aWQgTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+ DQo+IC0tLQ0KPiBOb3RlOiBJIGRpZCBub3QgdGVzdCB0aGlzIFJGQyBwYXRjaCB5ZXQgYnV0IEkg aG9wZSB3ZSBjYW4gcmVzdW1lIGFuZA0KPiBtYXliZSBjb25jbHVkZSBvbiB0aGUgZGlzY3Vzc2lv biBmb3IgdGhlIHR1bm5lbCBvZmZsb2FkaW5nIEFQSS4NCj4gDQoNCkkgdGhpbmsgeW91ciBhcHBy b2FjaCBoYXMgYSBnb29kIGJhc2UgYnV0IHdoYXQgaGFwcGVucyBpZiANCml0IGlzIG5vdCByZWxl dmFudCBmb3IgYWxsIGZsb3dzPyBJbiB0aGlzIGNhc2UgeW91ciBzb2x1dGlvbiB3aWxsIG5vdCB3 b3JrLg0KDQpJbiBhbnkgY2FzZSBJIHRoaW5rIHRoZXJlIGFyZSBzb21lIGlzc3VlcyB3aXRoIHRo ZSBpbXBsZW1lbnRhdGlvbi4NCg0KDQo+IC0tLQ0KPiAgYXBwL3Rlc3QtcG1kL3V0aWwuYyAgICAg ICAgICAgICAgfCAgOSArKysrKy0tLS0NCj4gIGRyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV9v cy5jIHwgMTQgKysrKysrKysrKy0tLS0NCj4gIGRyaXZlcnMvbmV0L21seDUvbWx4NS5oICAgICAg ICAgIHwgIDMgKystDQo+ICBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jICAgICB8IDI2ICsr KysrKysrKysrKysrKysrKysrLS0tLS0tDQo+ICBkcml2ZXJzL25ldC9tbHg1L21seDVfcnguYyAg ICAgICB8ICAyICstDQo+ICBkcml2ZXJzL25ldC9tbHg1L21seDVfcnguaCAgICAgICB8ICAxICsN Cj4gIGRyaXZlcnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmMgIHwgIDQgKystLQ0KPiAgZHJpdmVy cy9uZXQvc2ZjL3NmY19kcC5jICAgICAgICAgfCAgOSArKy0tLS0tLS0NCj4gIGxpYi9ldGhkZXYv ZXRoZGV2X2RyaXZlci5oICAgICAgIHwgIDggKysrKysrKysNCj4gIGxpYi9ldGhkZXYvcnRlX2Zs b3cuYyAgICAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIGxp Yi9ldGhkZXYvcnRlX2Zsb3cuaCAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrLQ0K PiAgbGliL2V0aGRldi92ZXJzaW9uLm1hcCAgICAgICAgICAgfCAgNCArKysrDQo+ICAxMiBmaWxl cyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZm IC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL3V0aWwuYyBiL2FwcC90ZXN0LXBtZC91dGlsLmMNCj4gaW5k ZXggZjlkZjVmNjllZi4uNWFhNjllZDU0NSAxMDA2NDQNCj4gLS0tIGEvYXBwL3Rlc3QtcG1kL3V0 aWwuYw0KPiArKysgYi9hcHAvdGVzdC1wbWQvdXRpbC5jDQo+IEBAIC04OCwxOCArODgsMjAgQEAg ZHVtcF9wa3RfYnVyc3QodWludDE2X3QgcG9ydF9pZCwgdWludDE2X3QgcXVldWUsDQo+IHN0cnVj dCBydGVfbWJ1ZiAqcGt0c1tdLA0KPiAgCWNoYXIgcHJpbnRfYnVmW01BWF9TVFJJTkdfTEVOXTsN Cj4gIAlzaXplX3QgYnVmX3NpemUgPSBNQVhfU1RSSU5HX0xFTjsNCj4gIAlzaXplX3QgY3VyX2xl biA9IDA7DQo+ICsJdWludDY0X3QgcmVzdG9yZV9pbmZvX2R5bmZsYWc7DQo+IA0KPiAgCWlmICgh bmJfcGt0cykNCj4gIAkJcmV0dXJuOw0KPiArCXJlc3RvcmVfaW5mb19keW5mbGFnID0gcnRlX2Zs b3dfcmVzdG9yZV9pbmZvX2R5bmZsYWcoKTsNCj4gIAlNS0RVTVBTVFIocHJpbnRfYnVmLCBidWZf c2l6ZSwgY3VyX2xlbiwNCj4gIAkJICAicG9ydCAldS9xdWV1ZSAldTogJXMgJXUgcGFja2V0c1xu IiwgcG9ydF9pZCwgcXVldWUsDQo+ICAJCSAgaXNfcnggPyAicmVjZWl2ZWQiIDogInNlbnQiLCAo dW5zaWduZWQgaW50KSBuYl9wa3RzKTsNCj4gIAlmb3IgKGkgPSAwOyBpIDwgbmJfcGt0czsgaSsr KSB7DQo+IC0JCWludCByZXQ7DQo+ICAJCXN0cnVjdCBydGVfZmxvd19lcnJvciBlcnJvcjsNCj4g IAkJc3RydWN0IHJ0ZV9mbG93X3Jlc3RvcmVfaW5mbyBpbmZvID0geyAwLCB9Ow0KPiANCj4gIAkJ bWIgPSBwa3RzW2ldOw0KPiArCQlvbF9mbGFncyA9IG1iLT5vbF9mbGFnczsNCj4gIAkJaWYgKHJ4 cV9zaGFyZSA+IDApDQo+ICAJCQlNS0RVTVBTVFIocHJpbnRfYnVmLCBidWZfc2l6ZSwgY3VyX2xl biwgInBvcnQgJXUsICIsDQo+ICAJCQkJICBtYi0+cG9ydCk7DQo+IEBAIC0xMDcsOCArMTA5LDgg QEAgZHVtcF9wa3RfYnVyc3QodWludDE2X3QgcG9ydF9pZCwgdWludDE2X3QgcXVldWUsDQo+IHN0 cnVjdCBydGVfbWJ1ZiAqcGt0c1tdLA0KPiAgCQlldGhfdHlwZSA9IFJURV9CRV9UT19DUFVfMTYo ZXRoX2hkci0+ZXRoZXJfdHlwZSk7DQo+ICAJCXBhY2tldF90eXBlID0gbWItPnBhY2tldF90eXBl Ow0KPiAgCQlpc19lbmNhcHN1bGF0aW9uID0gUlRFX0VUSF9JU19UVU5ORUxfUEtUKHBhY2tldF90 eXBlKTsNCj4gLQkJcmV0ID0gcnRlX2Zsb3dfZ2V0X3Jlc3RvcmVfaW5mbyhwb3J0X2lkLCBtYiwg JmluZm8sICZlcnJvcik7DQo+IC0JCWlmICghcmV0KSB7DQo+ICsJCWlmICgob2xfZmxhZ3MgJiBy ZXN0b3JlX2luZm9fZHluZmxhZykgIT0gMCAmJg0KPiArCQkJCXJ0ZV9mbG93X2dldF9yZXN0b3Jl X2luZm8ocG9ydF9pZCwgbWIsICZpbmZvLA0KPiAmZXJyb3IpID09IDApIHsNCj4gIAkJCU1LRFVN UFNUUihwcmludF9idWYsIGJ1Zl9zaXplLCBjdXJfbGVuLA0KPiAgCQkJCSAgInJlc3RvcmUgaW5m bzoiKTsNCj4gIAkJCWlmIChpbmZvLmZsYWdzICYgUlRFX0ZMT1dfUkVTVE9SRV9JTkZPX1RVTk5F TCkgew0KPiBAQCAtMTUzLDcgKzE1NSw2IEBAIGR1bXBfcGt0X2J1cnN0KHVpbnQxNl90IHBvcnRf aWQsIHVpbnQxNl90IHF1ZXVlLA0KPiBzdHJ1Y3QgcnRlX21idWYgKnBrdHNbXSwNCj4gIAkJCSAg IiAtIHBvb2w9JXMgLSB0eXBlPTB4JTA0eCAtIGxlbmd0aD0ldSAtDQo+IG5iX3NlZ3M9JWQiLA0K PiAgCQkJICBtYi0+cG9vbC0+bmFtZSwgZXRoX3R5cGUsICh1bnNpZ25lZCBpbnQpIG1iLQ0KPiA+ cGt0X2xlbiwNCj4gIAkJCSAgKGludCltYi0+bmJfc2Vncyk7DQo+IC0JCW9sX2ZsYWdzID0gbWIt Pm9sX2ZsYWdzOw0KPiAgCQlpZiAob2xfZmxhZ3MgJiBSVEVfTUJVRl9GX1JYX1JTU19IQVNIKSB7 DQo+ICAJCQlNS0RVTVBTVFIocHJpbnRfYnVmLCBidWZfc2l6ZSwgY3VyX2xlbiwNCj4gIAkJCQkg ICIgLSBSU1MgaGFzaD0weCV4IiwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUvbGlu dXgvbWx4NV9vcy5jDQo+IGIvZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X29zLmMNCj4gaW5k ZXggOTgwMjM0ZTJhYy4uZTZlMzc4NDAxMyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4 NS9saW51eC9tbHg1X29zLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X29z LmMNCj4gQEAgLTU3NSwxMSArNTc1LDE3IEBAIG1seDVfYWxsb2Nfc2hhcmVkX2RyKHN0cnVjdCBt bHg1X3ByaXYgKnByaXYpDQo+ICAJCWdvdG8gZXJyb3I7DQo+ICAJfQ0KPiAgI2VuZGlmDQo+IC0J aWYgKCFzaC0+dHVubmVsX2h1YiAmJiBzaC0+Y29uZmlnLmR2X21pc3NfaW5mbykNCj4gKwlpZiAo IXNoLT50dW5uZWxfaHViICYmIHNoLT5jb25maWcuZHZfbWlzc19pbmZvKSB7DQo+ICsJCWVyciA9 IG1seDVfZmxvd19yZXN0b3JlX2luZm9fcmVnaXN0ZXIoKTsNCj4gKwkJaWYgKGVycikgew0KPiAr CQkJRFJWX0xPRyhFUlIsICJDb3VsZCBub3QgcmVnaXN0ZXIgbWJ1ZiBkeW5mbGFnIGZvcg0KPiBy dGVfZmxvd19nZXRfcmVzdG9yZV9pbmZvIik7DQo+ICsJCQlnb3RvIGVycm9yOw0KPiArCQl9DQo+ ICAJCWVyciA9IG1seDVfYWxsb2NfdHVubmVsX2h1YihzaCk7DQo+IC0JaWYgKGVycikgew0KPiAt CQlEUlZfTE9HKEVSUiwgIm1seDVfYWxsb2NfdHVubmVsX2h1YiBmYWlsZWQgZXJyPSVkIiwgZXJy KTsNCj4gLQkJZ290byBlcnJvcjsNCj4gKwkJaWYgKGVycikgew0KPiArCQkJRFJWX0xPRyhFUlIs ICJtbHg1X2FsbG9jX3R1bm5lbF9odWIgZmFpbGVkDQo+IGVycj0lZCIsIGVycik7DQo+ICsJCQln b3RvIGVycm9yOw0KPiArCQl9DQo+ICAJfQ0KPiAgCWlmIChzaC0+Y29uZmlnLnJlY2xhaW1fbW9k ZSA9PSBNTFg1X1JDTV9BR0dSKSB7DQo+ICAJCW1seDVfZ2x1ZS0+ZHJfcmVjbGFpbV9kb21haW5f bWVtb3J5KHNoLT5yeF9kb21haW4sIDEpOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4 NS9tbHg1LmggYi9kcml2ZXJzL25ldC9tbHg1L21seDUuaA0KPiBpbmRleCA5ZWFlNjkyMDM3Li43 N2NkYzgwMmRhIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDUuaA0KPiArKysg Yi9kcml2ZXJzL25ldC9tbHg1L21seDUuaA0KPiBAQCAtMjExNiw3ICsyMTE2LDggQEAgaW50IG1s eDVfZmxvd19xdWVyeV9jb3VudGVyKHN0cnVjdCBydGVfZXRoX2Rldg0KPiAqZGV2LCBzdHJ1Y3Qg cnRlX2Zsb3cgKmZsb3csDQo+ICBpbnQgbWx4NV9mbG93X2Rldl9kdW1wX2lwb29sKHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QgcnRlX2Zsb3cNCj4gKmZsb3csDQo+ICAJCUZJTEUgKmZp bGUsIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiAgI2VuZGlmDQo+IC12b2lkIG1s eDVfZmxvd19yeHFfZHluZl9tZXRhZGF0YV9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0K PiAraW50IG1seDVfZmxvd19yZXN0b3JlX2luZm9fcmVnaXN0ZXIodm9pZCk7DQo+ICt2b2lkIG1s eDVfZmxvd19yeHFfZHluZl9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0KPiAgaW50IG1s eDVfZmxvd19nZXRfYWdlZF9mbG93cyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdm9pZCAqKmNv bnRleHRzLA0KPiAgCQkJdWludDMyX3QgbmJfY29udGV4dHMsIHN0cnVjdCBydGVfZmxvd19lcnJv ciAqZXJyb3IpOw0KPiAgaW50IG1seDVfdmFsaWRhdGVfYWN0aW9uX2N0KHN0cnVjdCBydGVfZXRo X2RldiAqZGV2LA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYyBi L2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmMNCj4gaW5kZXggZDAyNzVmZGQwMC4uNzE1Yjdk MzI3ZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYw0KPiArKysg Yi9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jDQo+IEBAIC0xNzc5LDYgKzE3NzksMjAgQEAg Zmxvd19yeHFfZmxhZ3NfY2xlYXIoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAJcHJpdi0+ c2gtPnNoYXJlZF9tYXJrX2VuYWJsZWQgPSAwOw0KPiAgfQ0KPiANCj4gK3N0YXRpYyB1aW50NjRf dCBtbHg1X3Jlc3RvcmVfaW5mb19keW5mbGFnOw0KPiArDQo+ICtpbnQNCj4gK21seDVfZmxvd19y ZXN0b3JlX2luZm9fcmVnaXN0ZXIodm9pZCkNCj4gK3sNCj4gKwlpbnQgZXJyID0gMDsNCj4gKw0K PiArCWlmIChtbHg1X3Jlc3RvcmVfaW5mb19keW5mbGFnID09IDApIHsNCj4gKwkJaWYNCj4gKHJ0 ZV9mbG93X3Jlc3RvcmVfaW5mb19keW5mbGFnX3JlZ2lzdGVyKCZtbHg1X3Jlc3RvcmVfaW5mb19k eW5mbGFnKSA8IDApDQo+ICsJCQllcnIgPSBFTk9NRU07DQo+ICsJfQ0KPiArCXJldHVybiBlcnI7 DQo+ICt9DQo+ICsNCj4gIC8qKg0KPiAgICogU2V0IHRoZSBSeCBxdWV1ZSBkeW5hbWljIG1ldGFk YXRhIChtYXNrIGFuZCBvZmZzZXQpIGZvciBhIGZsb3cNCj4gICAqDQo+IEBAIC0xNzg2LDcgKzE4 MDAsNyBAQCBmbG93X3J4cV9mbGFnc19jbGVhcihzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4g ICAqICAgUG9pbnRlciB0byB0aGUgRXRoZXJuZXQgZGV2aWNlIHN0cnVjdHVyZS4NCj4gICAqLw0K PiAgdm9pZA0KPiAtbWx4NV9mbG93X3J4cV9keW5mX21ldGFkYXRhX3NldChzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldikNCj4gK21seDVfZmxvd19yeHFfZHluZl9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpDQoNCldoeSBkaWQgeW91IGNoYW5nZSB0aGUgbmFtZT8NCg0KPiAgew0KPiAgCXN0cnVj dCBtbHg1X3ByaXYgKnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiAgCXVuc2lnbmVk IGludCBpOw0KPiBAQCAtMTgwOSw2ICsxODIzLDkgQEAgbWx4NV9mbG93X3J4cV9keW5mX21ldGFk YXRhX3NldChzdHJ1Y3QNCj4gcnRlX2V0aF9kZXYgKmRldikNCj4gIAkJCWRhdGEtPmZsb3dfbWV0 YV9vZmZzZXQgPQ0KPiBydGVfZmxvd19keW5mX21ldGFkYXRhX29mZnM7DQo+ICAJCQlkYXRhLT5m bG93X21ldGFfcG9ydF9tYXNrID0gcHJpdi0+c2gtDQo+ID5kdl9tZXRhX21hc2s7DQo+ICAJCX0N Cj4gKwkJZGF0YS0+bWFya19mbGFnID0gUlRFX01CVUZfRl9SWF9GRElSX0lEOw0KPiArCQlpZiAo aXNfdHVubmVsX29mZmxvYWRfYWN0aXZlKGRldikpDQo+ICsJCQlkYXRhLT5tYXJrX2ZsYWcgfD0g bWx4NV9yZXN0b3JlX2luZm9fZHluZmxhZzsNCj4gIAl9DQo+ICB9DQo+IA0KPiBAQCAtMTE0NTMs MTEgKzExNDcwLDggQEAgbWx4NV9mbG93X3R1bm5lbF9nZXRfcmVzdG9yZV9pbmZvKHN0cnVjdA0K PiBydGVfZXRoX2RldiAqZGV2LA0KPiAgCWNvbnN0IHN0cnVjdCBtbHg1X2Zsb3dfdGJsX2RhdGFf ZW50cnkgKnRibGU7DQo+ICAJY29uc3QgdWludDY0X3QgbWFzayA9IFJURV9NQlVGX0ZfUlhfRkRJ UiB8DQo+IFJURV9NQlVGX0ZfUlhfRkRJUl9JRDsNCj4gDQo+IC0JaWYgKCFpc190dW5uZWxfb2Zm bG9hZF9hY3RpdmUoZGV2KSkgew0KPiAtCQlpbmZvLT5mbGFncyA9IDA7DQo+IC0JCXJldHVybiAw Ow0KPiAtCX0NCj4gLQ0KPiArCWlmICgob2xfZmxhZ3MgJiBtbHg1X3Jlc3RvcmVfaW5mb19keW5m bGFnKSA9PSAwKQ0KPiArCQlnb3RvIGVycjsNCj4gIAlpZiAoKG9sX2ZsYWdzICYgbWFzaykgIT0g bWFzaykNCj4gIAkJZ290byBlcnI7DQo+ICAJdGJsZSA9IHR1bm5lbF9tYXJrX2RlY29kZShkZXYs IG0tPmhhc2guZmRpci5oaSk7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg1L21seDVf cnguYyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5jDQo+IGluZGV4IGEyYmU1MjNlOWUuLjcx YzQ2MzgyNTEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5jDQo+ICsr KyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5jDQo+IEBAIC04NTcsNyArODU3LDcgQEAgcnhx X2NxX3RvX21idWYoc3RydWN0IG1seDVfcnhxX2RhdGEgKnJ4cSwgc3RydWN0DQo+IHJ0ZV9tYnVm ICpwa3QsDQo+ICAJCWlmIChNTFg1X0ZMT1dfTUFSS19JU19WQUxJRChtYXJrKSkgew0KPiAgCQkJ cGt0LT5vbF9mbGFncyB8PSBSVEVfTUJVRl9GX1JYX0ZESVI7DQo+ICAJCQlpZiAobWFyayAhPSBS VEVfQkUzMihNTFg1X0ZMT1dfTUFSS19ERUZBVUxUKSkgew0KPiAtCQkJCXBrdC0+b2xfZmxhZ3Mg fD0gUlRFX01CVUZfRl9SWF9GRElSX0lEOw0KPiArCQkJCXBrdC0+b2xfZmxhZ3MgfD0gcnhxLT5t YXJrX2ZsYWc7DQo+ICAJCQkJcGt0LT5oYXNoLmZkaXIuaGkgPQ0KPiBtbHg1X2Zsb3dfbWFya19n ZXQobWFyayk7DQo+ICAJCQl9DQo+ICAJCX0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21s eDUvbWx4NV9yeC5oIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmgNCj4gaW5kZXggNTJjMzVj ODNmOC4uMzUxNGVkZDg0ZSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4 LmgNCj4gKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmgNCj4gQEAgLTEzNiw2ICsxMzYs NyBAQCBzdHJ1Y3QgbWx4NV9yeHFfZGF0YSB7DQo+ICAJc3RydWN0IG1seDVfdWFyX2RhdGEgdWFy X2RhdGE7IC8qIENRIGRvb3JiZWxsLiAqLw0KPiAgCXVpbnQzMl90IGNxbjsgLyogQ1EgbnVtYmVy LiAqLw0KPiAgCXVpbnQ4X3QgY3FfYXJtX3NuOyAvKiBDUSBhcm0gc2VxIG51bWJlci4gKi8NCj4g Kwl1aW50NjRfdCBtYXJrX2ZsYWc7IC8qIG9sX2ZsYWdzIHRvIHNldCB3aXRoIG1hcmtzLiAqLw0K PiAgCXVpbnQzMl90IHR1bm5lbDsgLyogVHVubmVsIGluZm9ybWF0aW9uLiAqLw0KPiAgCWludCB0 aW1lc3RhbXBfb2Zmc2V0OyAvKiBEeW5hbWljIG1idWYgZmllbGQgZm9yIHRpbWVzdGFtcC4gKi8N Cj4gIAl1aW50NjRfdCB0aW1lc3RhbXBfcnhfZmxhZzsgLyogRHluYW1pYyBtYnVmIGZsYWcgZm9y IHRpbWVzdGFtcC4gKi8NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV90cmln Z2VyLmMgYi9kcml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dlci5jDQo+IGluZGV4IGJiYWE3ZDJh YTAuLjdiZGI4OTc2MTIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV90cmln Z2VyLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3RyaWdnZXIuYw0KPiBAQCAtMTI4 Miw4ICsxMjgyLDggQEAgbWx4NV9kZXZfc3RhcnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ ICAJCQlkZXYtPmRhdGEtPnBvcnRfaWQpOw0KPiAgCQlnb3RvIGVycm9yOw0KPiAgCX0NCj4gLQkv KiBTZXQgYSBtYXNrIGFuZCBvZmZzZXQgb2YgZHluYW1pYyBtZXRhZGF0YSBmbG93cyBpbnRvIFJ4 IHF1ZXVlcy4NCj4gKi8NCj4gLQltbHg1X2Zsb3dfcnhxX2R5bmZfbWV0YWRhdGFfc2V0KGRldik7 DQo+ICsJLyogU2V0IGR5bmFtaWMgZmllbGRzIGFuZCBmbGFncyBpbnRvIFJ4IHF1ZXVlcy4gKi8N Cj4gKwltbHg1X2Zsb3dfcnhxX2R5bmZfc2V0KGRldik7DQo+ICAJLyogU2V0IGZsYWdzIGFuZCBj b250ZXh0IHRvIGNvbnZlcnQgUnggdGltZXN0YW1wcy4gKi8NCj4gIAltbHg1X3J4cV90aW1lc3Rh bXBfc2V0KGRldik7DQo+ICAJLyogU2V0IGEgbWFzayBhbmQgb2Zmc2V0IG9mIHNjaGVkdWxpbmcg b24gdGltZXN0YW1wIGludG8gVHggcXVldWVzLg0KPiAqLw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvc2ZjL3NmY19kcC5jIGIvZHJpdmVycy9uZXQvc2ZjL3NmY19kcC5jDQo+IGluZGV4IDlm MjA5M2IzNTMuLjhiMmRiZWEzMjUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3NmYy9zZmNf ZHAuYw0KPiArKysgYi9kcml2ZXJzL25ldC9zZmMvc2ZjX2RwLmMNCj4gQEAgLTExLDYgKzExLDcg QEANCj4gICNpbmNsdWRlIDxzdHJpbmcuaD4NCj4gICNpbmNsdWRlIDxlcnJuby5oPg0KPiANCj4g KyNpbmNsdWRlIDxldGhkZXZfZHJpdmVyLmg+DQo+ICAjaW5jbHVkZSA8cnRlX2xvZy5oPg0KPiAg I2luY2x1ZGUgPHJ0ZV9tYnVmX2R5bi5oPg0KPiANCj4gQEAgLTEzNSwxMiArMTM2LDggQEAgc2Zj X2RwX2Z0X2N0eF9pZF9yZWdpc3Rlcih2b2lkKQ0KPiAgCQkuc2l6ZSA9IHNpemVvZih1aW50OF90 KSwNCj4gIAkJLmFsaWduID0gX19hbGlnbm9mX18odWludDhfdCksDQo+ICAJfTsNCj4gLQlzdGF0 aWMgY29uc3Qgc3RydWN0IHJ0ZV9tYnVmX2R5bmZsYWcgZnRfY3R4X2lkX3ZhbGlkID0gew0KPiAt CQkubmFtZSA9ICJydGVfbmV0X3NmY19keW5mbGFnX2Z0X2N0eF9pZF92YWxpZCIsDQo+IC0JfTsN Cj4gDQo+ICAJaW50IGZpZWxkX29mZnNldDsNCj4gLQlpbnQgZmxhZzsNCj4gDQo+ICAJU0ZDX0dF TkVSSUNfTE9HKElORk8sICIlcygpIGVudHJ5IiwgX19mdW5jX18pOw0KPiANCj4gQEAgLTE1Niwx NSArMTUzLDEzIEBAIHNmY19kcF9mdF9jdHhfaWRfcmVnaXN0ZXIodm9pZCkNCj4gIAkJcmV0dXJu IC0xOw0KPiAgCX0NCj4gDQo+IC0JZmxhZyA9IHJ0ZV9tYnVmX2R5bmZsYWdfcmVnaXN0ZXIoJmZ0 X2N0eF9pZF92YWxpZCk7DQo+IC0JaWYgKGZsYWcgPCAwKSB7DQo+ICsJaWYgKHJ0ZV9mbG93X3Jl c3RvcmVfaW5mb19keW5mbGFnX3JlZ2lzdGVyKCZzZmNfZHBfZnRfY3R4X2lkX3ZhbGlkKSA8DQo+ IDApIHsNCj4gIAkJU0ZDX0dFTkVSSUNfTE9HKEVSUiwgIiVzKCkgZmFpbGVkIHRvIHJlZ2lzdGVy IGZ0X2N0eF9pZA0KPiBkeW5mbGFnIiwNCj4gIAkJCQlfX2Z1bmNfXyk7DQo+ICAJCXJldHVybiAt MTsNCj4gIAl9DQo+IA0KPiAgCXNmY19kcF9mdF9jdHhfaWRfb2Zmc2V0ID0gZmllbGRfb2Zmc2V0 Ow0KPiAtCXNmY19kcF9mdF9jdHhfaWRfdmFsaWQgPSBVSU5UNjRfQygxKSA8PCBmbGFnOw0KPiAN Cj4gIAlTRkNfR0VORVJJQ19MT0coSU5GTywgIiVzKCkgZG9uZSIsIF9fZnVuY19fKTsNCj4gDQo+ IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuaCBiL2xpYi9ldGhkZXYvZXRo ZGV2X2RyaXZlci5oDQo+IGluZGV4IDJjOWQ2MTVmYjUuLjZjMTdkODRkMWIgMTAwNjQ0DQo+IC0t LSBhL2xpYi9ldGhkZXYvZXRoZGV2X2RyaXZlci5oDQo+ICsrKyBiL2xpYi9ldGhkZXYvZXRoZGV2 X2RyaXZlci5oDQo+IEBAIC0xOTQ5LDYgKzE5NDksMTQgQEAgX19ydGVfaW50ZXJuYWwNCj4gIGlu dA0KPiAgcnRlX2V0aF9pcF9yZWFzc2VtYmx5X2R5bmZpZWxkX3JlZ2lzdGVyKGludCAqZmllbGRf b2Zmc2V0LCBpbnQgKmZsYWcpOw0KPiANCj4gKy8qKg0KPiArICogQGludGVybmFsDQo+ICsgKiBS ZWdpc3RlciBtYnVmIGR5bmFtaWMgZmxhZyBmb3IgcnRlX2Zsb3dfZ2V0X3Jlc3RvcmVfaW5mby4N Cj4gKyAqLw0KPiArX19ydGVfaW50ZXJuYWwNCj4gK2ludA0KPiArcnRlX2Zsb3dfcmVzdG9yZV9p bmZvX2R5bmZsYWdfcmVnaXN0ZXIodWludDY0X3QgKmZsYWcpOw0KPiArDQo+IA0KPiAgLyoNCj4g ICAqIExlZ2FjeSBldGhkZXYgQVBJIHVzZWQgaW50ZXJuYWxseSBieSBkcml2ZXJzLg0KPiBkaWZm IC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZmxvdy5jIGIvbGliL2V0aGRldi9ydGVfZmxvdy5jDQo+ IGluZGV4IDY5ZTZlNzQ5ZjcuLjEwY2Q5ZDEyYmEgMTAwNjQ0DQo+IC0tLSBhL2xpYi9ldGhkZXYv cnRlX2Zsb3cuYw0KPiArKysgYi9saWIvZXRoZGV2L3J0ZV9mbG93LmMNCj4gQEAgLTE0MDEsNiAr MTQwMSwzNSBAQCBydGVfZmxvd19nZXRfcmVzdG9yZV9pbmZvKHVpbnQxNl90IHBvcnRfaWQsDQo+ ICAJCQkJICBOVUxMLCBydGVfc3RyZXJyb3IoRU5PVFNVUCkpOw0KPiAgfQ0KPiANCj4gK3N0YXRp YyBzdHJ1Y3Qgew0KPiArCWNvbnN0IHN0cnVjdCBydGVfbWJ1Zl9keW5mbGFnIGRlc2M7DQo+ICsJ dWludDY0X3QgdmFsdWU7DQo+ICt9IGZsb3dfcmVzdG9yZV9pbmZvX2R5bmZsYWcgPSB7DQo+ICsJ LmRlc2MgPSB7IC5uYW1lID0gIlJURV9NQlVGX0ZfUlhfUkVTVE9SRV9JTkZPIiwgfSwNCj4gK307 DQoNCldoeSBub3QgaGF2ZSB0aGlzIHN0cnVjdHVyZSBpbiB0aGUgcmVnaXN0ZXIgZnVuY3Rpb24/ DQoNCj4gKw0KPiArdWludDY0X3QNCj4gK3J0ZV9mbG93X3Jlc3RvcmVfaW5mb19keW5mbGFnKHZv aWQpDQo+ICt7DQo+ICsJcmV0dXJuIGZsb3dfcmVzdG9yZV9pbmZvX2R5bmZsYWcudmFsdWU7DQo+ ICt9DQo+ICsNCj4gK2ludA0KPiArcnRlX2Zsb3dfcmVzdG9yZV9pbmZvX2R5bmZsYWdfcmVnaXN0 ZXIodWludDY0X3QgKmZsYWcpDQo+ICt7DQo+ICsJaWYgKGZsb3dfcmVzdG9yZV9pbmZvX2R5bmZs YWcudmFsdWUgPT0gMCkgew0KPiArCQlpbnQgb2Zmc2V0ID0NCj4gcnRlX21idWZfZHluZmxhZ19y ZWdpc3RlcigmZmxvd19yZXN0b3JlX2luZm9fZHluZmxhZy5kZXNjKTsNCj4gKw0KPiArCQlpZiAo b2Zmc2V0IDwgMCkNCj4gKwkJCXJldHVybiAtMTsNCj4gKwkJZmxvd19yZXN0b3JlX2luZm9fZHlu ZmxhZy52YWx1ZSA9IFJURV9CSVQ2NChvZmZzZXQpOw0KPiArCX0NCj4gKwlpZiAoKmZsYWcpDQo+ ICsJCSpmbGFnID0gcnRlX2Zsb3dfcmVzdG9yZV9pbmZvX2R5bmZsYWcoKTsNCj4gKw0KPiArCXJl dHVybiAwOw0KPiArfQ0KPiArDQo+ICBpbnQNCj4gIHJ0ZV9mbG93X3R1bm5lbF9hY3Rpb25fZGVj YXBfcmVsZWFzZSh1aW50MTZfdCBwb3J0X2lkLA0KPiAgCQkJCSAgICAgc3RydWN0IHJ0ZV9mbG93 X2FjdGlvbiAqYWN0aW9ucywNCj4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaCBi L2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiBpbmRleCA3MTNiYThiNjVjLi41Y2UyZGI0YmJkIDEw MDY0NA0KPiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gKysrIGIvbGliL2V0aGRldi9y dGVfZmxvdy5oDQo+IEBAIC00OTE4LDcgKzQ5MTgsMjQgQEAgcnRlX2Zsb3dfdHVubmVsX21hdGNo KHVpbnQxNl90IHBvcnRfaWQsDQo+ICAJCSAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJy b3IpOw0KPiANCj4gIC8qKg0KPiAtICogUG9wdWxhdGUgdGhlIGN1cnJlbnQgcGFja2V0IHByb2Nl c3Npbmcgc3RhdGUsIGlmIGV4aXN0cywgZm9yIHRoZSBnaXZlbiBtYnVmLg0KPiArICogT24gcmVj ZXB0aW9uIG9mIGEgbWJ1ZiBmcm9tIEhXLCBhIGNhbGwgdG8gcnRlX2Zsb3dfZ2V0X3Jlc3RvcmVf aW5mbygpDQo+IG1heSBiZQ0KPiArICogcmVxdWlyZWQgdG8gcmV0cmlldmUgc29tZSBtZXRhZGF0 YS4NCj4gKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgYXNzb2NpYXRlZCBtYnVmIG9sX2Zs YWdzLg0KPiArICoNCj4gKyAqIE5vdGU6IHRoZSBkeW5hbWljIGZsYWcgaXMgcmVnaXN0ZXJlZCBk dXJpbmcgdGhlIHByb2Jpbmcgb2YgdGhlIGZpcnN0IGRldmljZQ0KPiArICogdGhhdCByZXF1aXJl cyBpdC4gSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgbm9uIDAgdmFsdWUsIHRoaXMgdmFsdWUg d29uJ3QNCj4gKyAqIGNoYW5nZSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGxpZmUgb2YgdGhlIGFwcGxp Y2F0aW9uLg0KPiArICoNCj4gKyAqIEByZXR1cm4NCj4gKyAqICAgVGhlIG9mZmxvYWQgZmxhZyBp bmRpY2F0aW5nIHJ0ZV9mbG93X2dldF9yZXN0b3JlX2luZm8oKSBtdXN0IGJlIGNhbGxlZC4NCj4g KyAqLw0KPiArX19ydGVfZXhwZXJpbWVudGFsDQo+ICt1aW50NjRfdA0KPiArcnRlX2Zsb3dfcmVz dG9yZV9pbmZvX2R5bmZsYWcodm9pZCk7DQo+ICsNCj4gKy8qKg0KPiArICogSWYgYSBtYnVmIGNv bnRhaW5zIHRoZSBydGVfZmxvd19yZXN0b3JlX2luZm9fZHluZmxhZygpIGZsYWcgaW4gb2xfZmxh Z3MsDQo+ICsgKiBwb3B1bGF0ZSB0aGUgY3VycmVudCBwYWNrZXQgcHJvY2Vzc2luZyBzdGF0ZS4N Cj4gICAqDQo+ICAgKiBPbmUgc2hvdWxkIG5lZ290aWF0ZSB0dW5uZWwgbWV0YWRhdGEgZGVsaXZl cnkgZnJvbSB0aGUgTklDIHRvIHRoZSBIVy4NCj4gICAqIEBzZWUgcnRlX2V0aF9yeF9tZXRhZGF0 YV9uZWdvdGlhdGUoKQ0KPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi92ZXJzaW9uLm1hcCBiL2xp Yi9ldGhkZXYvdmVyc2lvbi5tYXANCj4gaW5kZXggMzU3ZDFhODhjMC4uYmY1NjY4ZTkyOCAxMDA2 NDQNCj4gLS0tIGEvbGliL2V0aGRldi92ZXJzaW9uLm1hcA0KPiArKysgYi9saWIvZXRoZGV2L3Zl cnNpb24ubWFwDQo+IEBAIC0yOTksNiArMjk5LDkgQEAgRVhQRVJJTUVOVEFMIHsNCj4gIAlydGVf Zmxvd19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZTsNCj4gIAlydGVfZmxvd19hc3luY19hY3Rp b25faGFuZGxlX3F1ZXJ5X3VwZGF0ZTsNCj4gIAlydGVfZmxvd19hc3luY19jcmVhdGVfYnlfaW5k ZXg7DQo+ICsNCj4gKwkjIGFkZGVkIGluIDIzLjA3DQo+ICsJcnRlX2Zsb3dfcmVzdG9yZV9pbmZv X2R5bmZsYWc7DQo+ICB9Ow0KPiANCj4gIElOVEVSTkFMIHsNCj4gQEAgLTMyOCw0ICszMzEsNSBA QCBJTlRFUk5BTCB7DQo+ICAJcnRlX2V0aF9yZXByZXNlbnRvcl9pZF9nZXQ7DQo+ICAJcnRlX2V0 aF9zd2l0Y2hfZG9tYWluX2FsbG9jOw0KPiAgCXJ0ZV9ldGhfc3dpdGNoX2RvbWFpbl9mcmVlOw0K PiArCXJ0ZV9mbG93X3Jlc3RvcmVfaW5mb19keW5mbGFnX3JlZ2lzdGVyOw0KPiAgfTsNCj4gLS0N Cj4gMi40MC4wDQoNCkJlc3QsDQpPcmkNCg0K