From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4B08FC43461 for ; Tue, 15 Sep 2020 11:51:10 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 45049208E4 for ; Tue, 15 Sep 2020 11:51:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="pRzirKwD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 45049208E4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3D9481BE8E; Tue, 15 Sep 2020 13:51:08 +0200 (CEST) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by dpdk.org (Postfix) with ESMTP id 9C652E07 for ; Tue, 15 Sep 2020 13:51:06 +0200 (CEST) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 15 Sep 2020 04:48:43 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 15 Sep 2020 04:51:04 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 15 Sep 2020 04:51:04 -0700 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 15 Sep 2020 11:50:53 +0000 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.176) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 15 Sep 2020 11:50:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KSbxv+Ka2HDJmc3q2lY+XOeWTbsRvEkqZlm6euW+rbtFnirWBDgDjMySXwundGQ1SyLT0RLA5lSdOaQ3MZATK6+MuQ+vu0G+ZpDcreaBzR20VMZQtpRZ1wobiTsqL5ABv9JObUhv5fW/UNNo04tuo/CtYTFgJVgkUPIUtAgsH5QU7TquFDE75osTZf7IICb/uL4hRp5w/8mCjLlmH++L6hP8kRMGBdNOhHFIBVoT2K89bIztlTKObWn3m1ms3oiEalODVLnvQwMHxX5RuvVBCgLvZYuz3cxtGHo8IYDhUu4+KaGFdHImofLXwb55ov6M7A0IrnQmQRMsPSoy7sbZhw== 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=rCcsGFbwRUjzY901DedOu2MvrGsxU2rsLSuv0t9wEX0=; b=CKKSPzPw4YgIbJ7OqkESRcl2oiaN23Pf+9OU87oL4bB+BmAbPFFdACWDBqWJEXjiN21hMoupnlbSejoOFMUXX1NGplx2N5EqY5FhNyVs5EM6IChvawqze5BTstlD5Zau/bB1CBNkbsFrjklkanVYVWTeJrb2pRTz9a71yE1EsH1VzmkCVQ6C45yGzLRJztwW3TWpEeXV168J6KYUCfwhnk6lokYnr6ghsRxycTzguQ3GcW2UKEloSPGy+OWZKoBFX21dvDuESORVdCeIOnfNrr5j29e2MLguTLOm8gwHHdlHIpjRTymr6Q1m+HipBVgbXGkDUWYHwXIiiEz1t66oSA== 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 Received: from MWHPR1201MB2525.namprd12.prod.outlook.com (2603:10b6:300:e0::19) by MW3PR12MB4460.namprd12.prod.outlook.com (2603:10b6:303:2f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Tue, 15 Sep 2020 11:50:51 +0000 Received: from MWHPR1201MB2525.namprd12.prod.outlook.com ([fe80::3ccb:ec09:9346:54b1]) by MWHPR1201MB2525.namprd12.prod.outlook.com ([fe80::3ccb:ec09:9346:54b1%7]) with mapi id 15.20.3370.019; Tue, 15 Sep 2020 11:50:51 +0000 From: Andrey Vesnovaty To: Ajit Khaparde , NBU-Contact-Thomas Monjalon , Ori Kam , Slava Ovsiienko , "jerinj@marvell.com" , "Andrew Rybchenko" CC: dpdk-dev , "jer@marvell.com" , Jerin Jacob , NBU-Contact-Thomas Monjalon , Ferruh Yigit , Stephen Hemminger , Bruce Richardson , Ori Kam , Viacheslav Ovsiienko , "andrey.vesnovaty@gmail.com" , Ray Kinsella , Neil Horman , Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH v2 1/6] ethdev: add flow shared action API Thread-Index: AQHWac+xdJPDU/OvwEKNpRAY5MGzB6lkgkQAgAVRfgA= Date: Tue, 15 Sep 2020 11:50:51 +0000 Message-ID: References: <20200702120511.16315-1-andreyv@mellanox.com> <20200708213946.30108-1-andreyv@mellanox.com> <20200708213946.30108-2-andreyv@mellanox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: broadcom.com; dkim=none (message not signed) header.d=none;broadcom.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [87.71.167.214] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2b60b7ba-1c91-4547-49d6-08d8596d9880 x-ms-traffictypediagnostic: MW3PR12MB4460: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2331; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1uChMnGEid9oBmRFkX6zkTgE8zQh+lg/QfbeGBpC6KgfIe+Ffy/nmpn136k+c10SSsNzttEjwJcgW7pdeqFSImOIAx/oRCDqNq1JBeIS3s8DpiQHlkvSvEcY8cpoKR+IEDacKf/C308D8DIfUf3UnWRjpKLf5VMciw5txwWbny+L8eUT6YcIHzKi3/I8iRWbX9DSbtwh9VQz0kbhH/v6eBO3qJDkcq8vxUW3Z9ARQ3N1q2A+fZ50IyGl8nb4G4/70KTmZZNurfeCA3RpaNBuneh2Hr1NTH9gVR7yhFDv8wy2el93+PrbzZOnr2ZunEHpAZGxl4PmGd16v6nuGRswmQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR1201MB2525.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(376002)(346002)(39860400002)(136003)(6506007)(478600001)(4326008)(8936002)(316002)(86362001)(53546011)(76116006)(83380400001)(54906003)(66946007)(66476007)(64756008)(66446008)(30864003)(107886003)(110136005)(66556008)(26005)(186003)(8676002)(71200400001)(9686003)(2906002)(33656002)(7416002)(5660300002)(55016002)(52536014)(7696005)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: OV4opXCuJ4dxgbEZKmpfySfFSISfUH6YK1pPHgdijXBSTk0Xn7ItOYWfRrKERGAv9zrQdyvzQEP5fXT8t3zvI76QPIZ8DN9rSrdCXAzIKab5aZGEVhwH0ruCwhf6Jm5cKeN1cEFd6TZ2FklmM5XPU9YLOKFyNy2vcKiQ/dg/K6B+2CU0YiFEi5Nyaf8y9Y0H1Lz205uNX8BgOHEbDegv5OMeDHmjtCxZXQErm0NY+ZFGavDiJffL+i4sITD39SBeGqYtVJGvUF7HMpR9j9Fq9kI8fZTmfU6+Jt9lRFMjOb58BHlC+viSTxYb0sbG6mUk6E0Z+eqXagstNqakn3WgaPDe+Cms08F/6tX5blsduiDDyYKNKkgGP+AK9CJRjv+RCEj13n9URybMDfk1Ird5D03vENjd2tRePJJg35Tmt7FTy/EnYjbTpPuyQtDMJ46zZ6yL9xQCVl/KqGVTpxRFTS11bCHRXEucrrFN0OQ0DGY24sGR/eXos7MfllLVQwNKYgu2g1RdGnvYin7bvC3apypXpu/ov2iiBmhreYwOO81YqQdqNVzi3gneahc29mNn6ZhhcuNoJnteNX17MC9d3SWvC1l02a1Xpi3EsY25aSjjNZaxt95+kx3nNRomsAoKmoKoKAUTK3K7DzXRyUw2ew== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR1201MB2525.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b60b7ba-1c91-4547-49d6-08d8596d9880 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2020 11:50:51.5567 (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: C9Phjx3GfXu1QmVOoq5Q+pQH8a4H7jdDKKgPH852M6a34ycXlZdxFoomoJcRP1lczUysBja5Or7/dl8HlNMdnw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4460 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1600170523; bh=rCcsGFbwRUjzY901DedOu2MvrGsxU2rsLSuv0t9wEX0=; h=X-PGP-Universal:ARC-Seal:ARC-Message-Signature: ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic: Thread-Index:Date:Message-ID:References:In-Reply-To: Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=pRzirKwDjtvq2fsomlruVATh1wHcnVu9RrACCv/dyS2n6LeLiPy4BGMNu+95q1sV/ f/PL8eFUllOdsImFas4na5YAK3txwBMnlQlqE65KCYnxl4X3UfTkDJjBiP3ZQjukgy yJW2SYIdVpDUTvNpLt7Be6P5waNFw5pQssbpO6KBC+4CpV5BujEmAv2T33PuqY7p00 Y4SOS7/iUER9Y33qyOHviAiS5WTp7ETShb+jTZDIOzUo49w+2eeKb6+HrE8pkU/+/r Xd27BX/N/uZGpSi+WSbA3ygN/mcHeDTYxEwHRGSxYs+5HQ/4jlsxgZRvnH8SqGXlEW 8bwj32YqRzedQ== Subject: Re: [dpdk-dev] [PATCH v2 1/6] ethdev: add flow shared action API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgQWppdCwgUFNCLg0KDQpUaGFua3MsDQpBbmRyZXkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBBaml0IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNv bT4NCj4gU2VudDogU2F0dXJkYXksIFNlcHRlbWJlciAxMiwgMjAyMCA1OjE4IEFNDQo+IFRvOiBB bmRyZXkgVmVzbm92YXR5IDxhbmRyZXl2QG1lbGxhbm94LmNvbT4NCj4gQ2M6IGRwZGstZGV2IDxk ZXZAZHBkay5vcmc+OyBqZXJAbWFydmVsbC5jb207IEplcmluIEphY29iDQo+IDxqZXJpbmphY29i a0BnbWFpbC5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Btb25q YWxvbi5uZXQ+OyBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBTdGVwaGVu DQo+IEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBCcnVjZSBSaWNoYXJk c29uDQo+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IE9yaSBLYW0gPG9yaWthQG1lbGxh bm94LmNvbT47IFZpYWNoZXNsYXYNCj4gT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BtZWxsYW5veC5j b20+OyBhbmRyZXkudmVzbm92YXR5QGdtYWlsLmNvbTsgUmF5DQo+IEtpbnNlbGxhIDxtZHJAYXNo cm9lLmV1PjsgTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT47IEFuZHJldw0KPiBS eWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBk ay1kZXZdIFtQQVRDSCB2MiAxLzZdIGV0aGRldjogYWRkIGZsb3cgc2hhcmVkIGFjdGlvbiBBUEkN Cj4gDQo+IA0KPiANCj4gT24gV2VkLCBKdWwgOCwgMjAyMCBhdCAyOjQwIFBNIEFuZHJleSBWZXNu b3ZhdHkgPGFuZHJleXZAbWVsbGFub3guY29tDQo+IDxtYWlsdG86YW5kcmV5dkBtZWxsYW5veC5j b20+ID4gd3JvdGU6DQo+IA0KPiANCj4gCUZyb206IEFuZHJleSBWZXNub3ZhdHkgPGFuZHJleS52 ZXNub3ZhdHlAZ21haWwuY29tDQo+IDxtYWlsdG86YW5kcmV5LnZlc25vdmF0eUBnbWFpbC5jb20+ ID4NCj4gDQo+IAlUaGlzIGNvbW1pdCBpbnRyb2R1Y2VzIGV4dGVuc2lvbiBvZiBEUERLIGZsb3cg YWN0aW9uIEFQSSBlbmFibGluZw0KPiAJc2hhcmluZyBvZiBzaW5nbGUgcnRlX2Zsb3dfYWN0aW9u IGluIG11bHRpcGxlIGZsb3dzLiBUaGUgQVBJIGludGVuZGVkIGZvcg0KPiAJUE1EcyB3aGVyZSBt dWx0aXBsZSBIVyBvZmZsb2FkZWQgZmxvd3MgY2FuIHJldXNlIHRoZSBzYW1lIEhXDQo+IAllc3Nl bmNlL29iamVjdCByZXByZXNlbnRpbmcgZmxvdyBhY3Rpb24gYW5kIG1vZGlmaWNhdGlvbiBvZiBz dWNoIGFuDQo+IAllc3NlbmNlL29iamVjdCBlZmZlY3RzIGFsbCB0aGUgcnVsZXMgdXNpbmcgaXQu DQo+IA0KPiAJTW90aXZhdGlvbiBhbmQgZXhhbXBsZQ0KPiAJPT09DQo+IAlBZGRpbmcgb3IgcmVt b3Zpbmcgb25lIG9yIG1vcmUgcXVldWVzIHRvIFJTUyB1c2VkIGJ5IG11bHRpcGxlIGZsb3cNCj4g cnVsZXMNCj4gCWltcG9zZXMgcGVyIHJ1bGUgdG9sbCBmb3IgY3VycmVudCBEUERLIGZsb3cgQVBJ OyB0aGUgc2NlbmFyaW8gcmVxdWlyZXMNCj4gCWZvciBlYWNoIGZsb3cgc2hhcmluZyBjbG9uZWQg UlNTIGFjdGlvbjoNCj4gCS0gY2FsbCBgcnRlX2Zsb3dfZGVzdHJveSgpYA0KPiAJLSBjYWxsIGBy dGVfZmxvd19jcmVhdGUoKWAgd2l0aCBtb2RpZmllZCBSU1MgYWN0aW9uDQo+IA0KPiAJQVBJIGZv ciBzaGFyaW5nIGFjdGlvbiBhbmQgaXRzIGluLXBsYWNlIHVwZGF0ZSBiZW5lZml0czoNCj4gCS0g cmVkdWNlIHRoZSBvdmVyaGVhZCBvZiBtdWx0aXBsZSBSU1MgZmxvdyBydWxlcyByZWNvbmZpZ3Vy YXRpb24NCj4gCS0gb3B0aW1pemUgcmVzb3VyY2UgdXRpbGl6YXRpb24gYnkgc2hhcmluZyBhY3Rp b24gYWNyb3NzIG9mIG11bHRpcGxlDQo+IAkgIGZsb3dzDQo+IA0KPiAJQ2hhbmdlIGRlc2NyaXB0 aW9uDQo+IAk9PT0NCj4gDQo+IAlTaGFyZWQgYWN0aW9uDQo+IAk9PT0NCj4gCUluIG9yZGVyIHRv IHJlcHJlc2VudCBmbG93IGFjdGlvbiBzaGFyZWQgYnkgbXVsdGlwbGUgZmxvd3MgbmV3IGFjdGlv bg0KPiAJdHlwZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TSEFSRUQgaXMgaW50cm9kdWNlZCAoc2Vl IGBlbnVtDQo+IAlydGVfZmxvd19hY3Rpb25fdHlwZWApLg0KPiAJQWN0dWFsbHkgdGhlIGludHJv ZHVjZWQgQVBJIGRlY291cGxlcyBhY3Rpb24gZnJvbSBhbnkgc3BlY2lmaWMgZmxvdyBhbmQNCj4g CWVuYWJsZXMgc2hhcmluZyBvZiBzaW5nbGUgYWN0aW9uIGJ5IGl0cyBoYW5kbGUgYWNyb3NzIG11 bHRpcGxlIGZsb3dzLg0KPiANCj4gCVNoYXJlZCBhY3Rpb24gY3JlYXRlL3VzZS9kZXN0cm95DQo+ IAk9PT0NCj4gCVNoYXJlZCBhY3Rpb24gbWF5IGJlIHJldXNlZCBieSBzb21lIG9yIG5vbmUgZmxv dyBydWxlcyBhdCBhbnkgZ2l2ZW4NCj4gCW1vbWVudCwgaS5lLiBzaGFyZWQgYWN0aW9uIHJlc2lk ZSBvdXRzaWRlIG9mIHRoZSBjb250ZXh0IG9mIGFueSBmbG93Lg0KPiAJU2hhcmVkIGFjdGlvbiBy ZXByZXNlbnQgSFcgcmVzb3VyY2VzL29iamVjdHMgdXNlZCBmb3IgYWN0aW9uDQo+IG9mZmxvYWRp bmcNCj4gCWltcGxlbWVudGF0aW9uLg0KPiAJQVBJIGZvciBzaGFyZWQgYWN0aW9uIGNyZWF0ZSAo c2VlIGBydGVfZmxvd19zaGFyZWRfYWN0aW9uX2NyZWF0ZSgpYCk6DQo+IAktIHNob3VsZCBhbGxv Y2F0ZSBIVyByZXNvdXJjZXMgYW5kIG1ha2UgcmVsYXRlZCBpbml0aWFsaXphdGlvbnMgcmVxdWly ZWQNCj4gCSAgZm9yIHNoYXJlZCBhY3Rpb24gaW1wbGVtZW50YXRpb24uDQo+IAktIG1ha2UgbmVj ZXNzYXJ5IHByZXBhcmF0aW9ucyB0byBtYWludGFpbiBzaGFyZWQgYWNjZXNzIHRvDQo+IAkgIHRo ZSBhY3Rpb24gcmVzb3VyY2VzLCBjb25maWd1cmF0aW9uIGFuZCBzdGF0ZS4NCj4gCUFQSSBmb3Ig c2hhcmVkIGFjdGlvbiBkZXN0cm95IChzZWUgYHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb25fZGVzdHJv eSgpYCkNCj4gCXNob3VsZCByZWxlYXNlIEhXIHJlc291cmNlcyBhbmQgbWFrZSByZWxhdGVkIGNs ZWFudXBzIHJlcXVpcmVkIGZvcg0KPiBzaGFyZWQNCj4gCWFjdGlvbiBpbXBsZW1lbnRhdGlvbi4N Cj4gDQo+IAlJbiBvcmRlciB0byBzaGFyZSBzb21lIGZsb3cgYWN0aW9uIHJldXNlIHRoZSBoYW5k bGUgb2YgdHlwZQ0KPiAJYHN0cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0aW9uYCByZXR1cm5lZCBi eQ0KPiAJcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9jcmVhdGUoKSBhcyBhIGBjb25mYCBmaWVsZCBv Zg0KPiAJYHN0cnVjdCBydGVfZmxvd19hY3Rpb25gIChzZWUgImV4YW1wbGUiIHNlY3Rpb24pLg0K PiANCj4gCUlmIHNvbWUgc2hhcmVkIGFjdGlvbiBub3QgdXNlZCBieSBhbnkgZmxvdyBydWxlIGFs bCByZXNvdXJjZXMgYWxsb2NhdGVkDQo+IAlieSB0aGUgc2hhcmVkIGFjdGlvbiBjYW4gYmUgcmVs ZWFzZWQgYnkNCj4gcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9kZXN0cm95KCkNCj4gCShzZWUgImV4 YW1wbGUiIHNlY3Rpb24pLiBUaGUgc2hhcmVkIGFjdGlvbiBoYW5kbGUgcGFzc2VkIGFzIGFyZ3Vt ZW50DQo+IHRvDQo+IAlkZXN0cm95IEFQSSBzaG91bGQgbm90IGJlIHVzZWQgYW55IGZ1cnRoZXIg aS5lLiByZXN1bHQgb2YgdGhlIHVzYWdlIGlzDQo+IAl1bmRlZmluZWQuDQo+IA0KPiAJU2hhcmVk IGFjdGlvbiByZS1jb25maWd1cmF0aW9uDQo+IAk9PT0NCj4gCVNoYXJlZCBhY3Rpb24gYmVoYXZp b3IgZGVmaW5lZCBieSBpdHMgY29uZmlndXJhdGlvbiBjYW4gYmUgdXBkYXRlZCB2aWENCj4gCXJ0 ZV9mbG93X3NoYXJlZF9hY3Rpb25fdXBkYXRlKCkgKHNlZSAiZXhhbXBsZSIgc2VjdGlvbikuIFRo ZSBzaGFyZWQNCj4gCWFjdGlvbiB1cGRhdGUgb3BlcmF0aW9uIG1vZGlmaWVzIEhXIHJlbGF0ZWQg cmVzb3VyY2VzL29iamVjdHMNCj4gYWxsb2NhdGVkDQo+IAlvbiB0aGUgYWN0aW9uIGNyZWF0aW9u LiBUaGUgbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyZm9ybWVkIGJ5IHRoZQ0KPiB1cGRhdGUNCj4g CW9wZXJhdGlvbiBzaG91bGQgbm90IGJlIGRlcGVuZGVudCBvbiBudW1iZXIgb2YgZmxvd3Mgc2hh cmluZyB0aGUNCj4gcmVsYXRlZA0KPiAJYWN0aW9uLiBPbiByZXR1cm4gb2Ygc2hhcmVkIGFjdGlv biB1cGRhdGUgQVBJIGFjdGlvbiBiZWhhdmlvciBzaG91bGQgYmUNCj4gCWFjY29yZGluZyB0byB1 cGRhdGVkIGNvbmZpZ3VyYXRpb24gZm9yIGFsbCBmbG93cyBzaGFyaW5nIHRoZSBhY3Rpb24uDQo+ IA0KPiAJU2hhcmVkIGFjdGlvbiBxdWVyeQ0KPiAJPT09DQo+IAlQcm92aWRlIHNlcGFyYXRlIEFQ SSB0byBxdWVyeSBzaGFyZWQgYWN0aW9uIHNhdGUgKHNlZQ0KPiAJcnRlX2Zsb3dfc2hhcmVkX2Fj dGlvbl91cGRhdGUoKSkuIFRha2luZyBhIGNvdW50ZXIgYXMgYW4gZXhhbXBsZToNCj4gcXVlcnkN Cj4gCXJldHVybnMgdmFsdWUgYWdncmVnYXRpbmcgYWxsIGNvdW50ZXIgaW5jcmVtZW50cyBhY3Jv c3MgYWxsIGZsb3cgcnVsZXMNCj4gCXNoYXJpbmcgdGhlIGNvdW50ZXIuDQo+IA0KPiAJUE1EIHN1 cHBvcnQNCj4gCT09PQ0KPiAJVGhlIHN1cHBvcnQgb2YgaW50cm9kdWNlZCBBUEkgaXMgcHVyZSBQ TUQgc3BlY2lmaWMgZGVzaWduIGFuZA0KPiAJcmVzcG9uc2liaWxpdHkgZm9yIGVhY2ggYWN0aW9u IHR5cGUgKHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfb3BzKS4NCj4gDQo+IAl0ZXN0cG1kDQo+IAk9PT0N Cj4gCUluIG9yZGVyIHRvIHV0aWxpemUgaW50cm9kdWNlZCBBUEkgdGVzdHBtZCBjbGkgbWF5IGlt cGxlbWVudCBmb2xsb3dpbmcNCj4gCWV4dGVuc2lvbg0KPiAJY3JlYXRlL3VwZGF0ZS9kZXN0cm95 L3F1ZXJ5IHNoYXJlZCBhY3Rpb24gYWNjb3JkaW5nbHkNCj4gDQo+IAlmbG93IHNoYXJlZF9hY3Rp b24gY3JlYXRlIHtwb3J0X2lkfSBbaW5kZXhdIHthY3Rpb259DQo+IAlmbG93IHNoYXJlZF9hY3Rp b24gdXBkYXRlIHtwb3J0X2lkfSB7aW5kZXh9IHthY3Rpb259DQo+IAlmbG93IHNoYXJlZF9hY3Rp b24gZGVzdHJveSB7cG9ydF9pZH0ge2luZGV4fQ0KPiAJZmxvdyBzaGFyZWRfYWN0aW9uIHF1ZXJ5 IHtwb3J0X2lkfSB7aW5kZXh9DQo+IA0KPiAJdGVzdHBtZCBleGFtcGxlDQo+IAk9PT0NCj4gDQo+ IAljb25maWd1cmUgcnNzIHRvIHF1ZXVlcyAxICYgMg0KPiANCj4gCXRlc3RwbWQ+IGZsb3cgc2hh cmVkX2FjdGlvbiBjcmVhdGUgMCAxMDAgcnNzIDEgMg0KPiANCj4gCWNyZWF0ZSBmbG93IHJ1bGUg dXRpbGl6aW5nIHNoYXJlZCBhY3Rpb24NCj4gDQo+IAl0ZXN0cG1kPiBmbG93IGNyZWF0ZSAwIGlu Z3Jlc3MgXA0KPiAJICAgIHBhdHRlcm4gZXRoIGRzdCBpcyAwYzo0MjphMToxNTpmZDphYyAvIGlw djYgLyB0Y3AgLyBlbmQgXA0KPiAJICBhY3Rpb25zIHNoYXJlZCAxMDAgZW5kIC8gZW5kDQo+IA0K PiAJYWRkIDIgbW9yZSBxdWV1ZXMNCj4gDQo+IAl0ZXN0cG1kPiBmbG93IHNoYXJlZF9hY3Rpb24g bW9kaWZ5IDAgMTAwIHJzcyAxIDIgMyA0DQo+IA0KPiAJZXhhbXBsZQ0KPiAJPT09DQo+IA0KPiAJ c3RydWN0IHJ0ZV9mbG93X2FjdGlvbiBhY3Rpb25zWzJdOw0KPiAJc3RydWN0IHJ0ZV9mbG93X2Fj dGlvbiBhY3Rpb247DQo+IAkvKiBza2lwcGVkOiBpbml0aWFsaXplIGFjdGlvbiAqLw0KPiAJc3Ry dWN0IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb24gKmhhbmRsZSA9DQo+IHJ0ZV9mbG93X3NoYXJlZF9h Y3Rpb25fY3JlYXRlKA0KPiAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBvcnRfaWQsICZhY3Rpb24sICZlcnJvcik7DQo+IAlhY3Rpb25zWzBdLnR5cGUgPSBSVEVfRkxP V19BQ1RJT05fVFlQRV9TSEFSRUQ7DQo+IAlhY3Rpb25zWzBdLmNvbmYgPSBoYW5kbGU7DQo+IAlh Y3Rpb25zWzFdLnR5cGUgPSBSVEVfRkxPV19BQ1RJT05fVFlQRV9FTkQ7DQo+IAkvKiBza2lwcGVk OiBpbml0IGF0dHIwICYgcGF0dGVybjAgYXJncyAqLw0KPiAJc3RydWN0IHJ0ZV9mbG93ICpmbG93 MCA9IHJ0ZV9mbG93X2NyZWF0ZShwb3J0X2lkLCAmYXR0cjAsIHBhdHRlcm4wLA0KPiAJICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMsIGVycm9yKTsNCj4gCS8q IGNyZWF0ZSBtb3JlIHJ1bGVzIHJldXNpbmcgc2hhcmVkIGFjdGlvbiAqLw0KPiAJc3RydWN0IHJ0 ZV9mbG93ICpmbG93MSA9IHJ0ZV9mbG93X2NyZWF0ZShwb3J0X2lkLCAmYXR0cjEsIHBhdHRlcm4x LA0KPiAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMsIGVy cm9yKTsNCj4gCS8qIHNraXBwZWQ6IGZvciBmbG93cyAyIHRpbGwgTiAqLw0KPiAJc3RydWN0IHJ0 ZV9mbG93ICpmbG93TiA9IHJ0ZV9mbG93X2NyZWF0ZShwb3J0X2lkLCAmYXR0ck4sIHBhdHRlcm5O LA0KPiAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMsIGVy cm9yKTsNCj4gCS8qIHVwZGF0ZSBzaGFyZWQgYWN0aW9uICovDQo+IAlzdHJ1Y3QgcnRlX2Zsb3df YWN0aW9uIHVwZGF0ZWRfYWN0aW9uOw0KPiAJLyoNCj4gCSAqIHNraXBwZWQ6IGluaXRpYWxpemUg dXBkYXRlZF9hY3Rpb24gYWNjb3JkaW5nIHRvIGRlc2lyZWQgYWN0aW9uDQo+IAkgKiBjb25maWd1 cmF0aW9uIGNoYW5nZQ0KPiAJICovDQo+IAlydGVfZmxvd19zaGFyZWRfYWN0aW9uX3VwZGF0ZShw b3J0X2lkLCBoYW5kbGUsICZ1cGRhdGVkX2FjdGlvbiwNCj4gZXJyb3IpOw0KPiAJLyoNCj4gCSAq IGZyb20gbm93IG9uIGFsbCBmbG93cyAxIHRpbGwgTiB3aWxsIGFjdCBhY2NvcmRpbmcgdG8gY29u ZmlndXJhdGlvbiBvZg0KPiAJICogdXBkYXRlZF9hY3Rpb24NCj4gCSAqLw0KPiAJLyogc2tpcHBl ZDogZGVzdHJveSBhbGwgZmxvd3MgMSB0aWxsIE4gKi8NCj4gCXJ0ZV9mbG93X3NoYXJlZF9hY3Rp b25fZGVzdHJveShwb3J0X2lkLCBoYW5kbGUsIGVycm9yKTsNCj4gDQo+IAlTaWduZWQtb2ZmLWJ5 OiBBbmRyZXkgVmVzbm92YXR5IDxhbmRyZXl2QG1lbGxhbm94LmNvbQ0KPiA8bWFpbHRvOmFuZHJl eXZAbWVsbGFub3guY29tPiA+DQo+IAktLS0NCj4gCSBsaWIvbGlicnRlX2V0aGRldi9ydGVfZXRo ZGV2X3ZlcnNpb24ubWFwIHwgICA2ICsNCj4gCSBsaWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5j ICAgICAgICAgICAgIHwgIDgxICsrKysrKysrKysrKysNCj4gCSBsaWIvbGlicnRlX2V0aGRldi9y dGVfZmxvdy5oICAgICAgICAgICAgIHwgMTQ4ICsrKysrKysrKysrKysrKysrKysrKystDQo+IAkg bGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3dfZHJpdmVyLmggICAgICB8ICAyMiArKysrDQo+IAkg NCBmaWxlcyBjaGFuZ2VkLCAyNTYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiANCj4g CWRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2X3ZlcnNpb24ubWFwDQo+ IGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl92ZXJzaW9uLm1hcA0KPiAJaW5kZXggNzE1 NTA1NjA0NS4uMTE5ZDg0OTc2YSAxMDA2NDQNCj4gCS0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0 ZV9ldGhkZXZfdmVyc2lvbi5tYXANCj4gCSsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhk ZXZfdmVyc2lvbi5tYXANCj4gCUBAIC0yNDEsNCArMjQxLDEwIEBAIEVYUEVSSU1FTlRBTCB7DQo+ IAkgICAgICAgIF9fcnRlX2V0aGRldl90cmFjZV9yeF9idXJzdDsNCj4gCSAgICAgICAgX19ydGVf ZXRoZGV2X3RyYWNlX3R4X2J1cnN0Ow0KPiAJICAgICAgICBydGVfZmxvd19nZXRfYWdlZF9mbG93 czsNCj4gCSsNCj4gCSsgICAgICAgIyBhZGRlZCBpbiAyMC4wOA0KPiAJKyAgICAgICBydGVfZmxv d19zaGFyZWRfYWN0aW9uX2NyZWF0ZTsNCj4gCSsgICAgICAgcnRlX2Zsb3dfc2hhcmVkX2FjdGlv bl9kZXN0cm95Ow0KPiAJKyAgICAgICBydGVfZmxvd19zaGFyZWRfYWN0aW9uX3VwZGF0ZTsNCj4g CSsgICAgICAgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9xdWVyeTsNCj4gCSB9Ow0KPiAJZGlmZiAt LWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmMgYi9saWIvbGlicnRlX2V0aGRldi9y dGVfZmxvdy5jDQo+IAlpbmRleCAxNjg1YmU1ZjczLi4wYWM0ZDMxYTEzIDEwMDY0NA0KPiAJLS0t IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuYw0KPiAJKysrIGIvbGliL2xpYnJ0ZV9ldGhk ZXYvcnRlX2Zsb3cuYw0KPiAJQEAgLTEyNTAsMyArMTI1MCw4NCBAQCBydGVfZmxvd19nZXRfYWdl ZF9mbG93cyh1aW50MTZfdCBwb3J0X2lkLA0KPiB2b2lkICoqY29udGV4dHMsDQo+IAkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0ZMT1dfRVJST1JfVFlQRV9VTlNQRUNJRklF RCwNCj4gCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBydGVfc3RyZXJy b3IoRU5PVFNVUCkpOw0KPiAJIH0NCj4gCSsNCj4gCStzdHJ1Y3QgcnRlX2Zsb3dfc2hhcmVkX2Fj dGlvbiAqDQo+IAkrcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9jcmVhdGUodWludDE2X3QgcG9ydF9p ZCwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZmxv d19hY3Rpb24gKmFjdGlvbiwNCj4gDQo+IA0KPiBJdCB3aWxsIGJlIGdvb2QgdG8gaGF2ZSBhbiBh dHRyaWJ1dGVzIGFyZ3VtZW50IGhlcmUuDQo+IFNvbWUgaGFyZHdhcmUgZGV2aWNlcyBtYXkgaGF2 ZSBpbmdyZXNzIGFuZCBlZ3Jlc3MgcmVzb3VyY2UgcG9vbHMuDQo+IFNvIGEgJ2RpcmVjdGlvbicg YXR0cmlidXRlIGNhbiBoZWxwIHNoYXJlIHRoZSByZXNvdXJjZSBlZmZlY3RpdmVseS4NCg0KSSB1 bmRlcnN0YW5kIHRoZSBpZGVhIG9mIEhXIGluZ3Jlc3MvZWdyZXNzIHJlc291cmNlIHNlcGFyYXRp b24uDQpVbmZvcnR1bmF0ZWx5IG9uIHNoYXJlZCBhY3Rpb24gY3JlYXRpb24gaXQncyBub3QgZGVm aW5lZCBpZiBpdCB3aWxsIGJlIHVzZWQNCmluIGluZ3Jlc3Mgb3IgZWdyZXNzIGZsb3cgb3IgYm90 aC4NCklzIHRoZSBzdWdnZXN0aW9uIGlzIHRvIHJlc3RyaWN0IHVzYWdlIG9mIHNoYXJlZCBhY3Rp b24gdG8gc2luZ2xlIGRpcmVjdGlvbj8gDQoNCj4gDQo+IA0KPiANCj4gCSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpDQo+IAkrew0KPiAJ KyAgICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9ICZydGVfZXRoX2RldmljZXNbcG9ydF9p ZF07DQo+IAkrICAgICAgIHN0cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0aW9uICpzaGFyZWRfYWN0 aW9uOw0KPiAJKyAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfb3BzICpvcHMgPSBydGVfZmxv d19vcHNfZ2V0KHBvcnRfaWQsIGVycm9yKTsNCj4gCSsNCj4gCSsgICAgICAgaWYgKHVubGlrZWx5 KCFvcHMpKQ0KPiAJKyAgICAgICAgICAgICAgIHJldHVybiBOVUxMOw0KPiAJKyAgICAgICBpZiAo bGlrZWx5KCEhb3BzLT5zaGFyZWRfYWN0aW9uX2NyZWF0ZSkpIHsNCj4gCSsgICAgICAgICAgICAg ICBzaGFyZWRfYWN0aW9uID0gb3BzLT5zaGFyZWRfYWN0aW9uX2NyZWF0ZShkZXYsIGFjdGlvbiwN Cj4gZXJyb3IpOw0KPiAJKyAgICAgICAgICAgICAgIGlmIChzaGFyZWRfYWN0aW9uID09IE5VTEwp DQo+IAkrICAgICAgICAgICAgICAgICAgICAgICBmbG93X2Vycihwb3J0X2lkLCAtcnRlX2Vycm5v LCBlcnJvcik7DQo+IAkrICAgICAgICAgICAgICAgcmV0dXJuIHNoYXJlZF9hY3Rpb247DQo+IAkr ICAgICAgIH0NCj4gCSsgICAgICAgcnRlX2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFTk9TWVMsDQo+ IFJURV9GTE9XX0VSUk9SX1RZUEVfVU5TUEVDSUZJRUQsDQo+IAkrICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMLCBydGVfc3RyZXJyb3IoRU5PU1lTKSk7DQo+IAkrICAgICAgIHJldHVybiBO VUxMOw0KPiAJK30NCj4gCSsNCj4gCStpbnQNCj4gCStydGVfZmxvd19zaGFyZWRfYWN0aW9uX2Rl c3Ryb3kodWludDE2X3QgcG9ydF9pZCwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0aW9uICphY3Rpb24sDQo+IAkrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKQ0KPiAJK3sNCj4g CSsgICAgICAgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3BvcnRf aWRdOw0KPiAJKyAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfb3BzICpvcHMgPSBydGVfZmxv d19vcHNfZ2V0KHBvcnRfaWQsIGVycm9yKTsNCj4gCSsNCj4gCSsgICAgICAgaWYgKHVubGlrZWx5 KCFvcHMpKQ0KPiAJKyAgICAgICAgICAgICAgIHJldHVybiAtcnRlX2Vycm5vOw0KPiAJKyAgICAg ICBpZiAobGlrZWx5KCEhb3BzLT5zaGFyZWRfYWN0aW9uX2Rlc3Ryb3kpKQ0KPiAJKyAgICAgICAg ICAgICAgIHJldHVybiBmbG93X2Vycihwb3J0X2lkLA0KPiAJKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBvcHMtPnNoYXJlZF9hY3Rpb25fZGVzdHJveShkZXYsIGFjdGlvbiwgZXJyb3Ip LA0KPiAJKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik7DQo+IAkrICAgICAg IHJldHVybiBydGVfZmxvd19lcnJvcl9zZXQoZXJyb3IsIEVOT1NZUywNCj4gCSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfRkxPV19FUlJPUl9UWVBFX1VOU1BFQ0lGSUVELA0K PiAJKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIHJ0ZV9zdHJlcnJvcihF Tk9TWVMpKTsNCj4gCSt9DQo+IAkrDQo+IAkraW50DQo+IAkrcnRlX2Zsb3dfc2hhcmVkX2FjdGlv bl91cGRhdGUodWludDE2X3QgcG9ydF9pZCwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0aW9uICphY3Rpb24sDQo+IAkrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uICp1cGRhdGUs DQo+IAkrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3Ig KmVycm9yKQ0KPiAJK3sNCj4gCSsgICAgICAgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYgPSAmcnRl X2V0aF9kZXZpY2VzW3BvcnRfaWRdOw0KPiAJKyAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3df b3BzICpvcHMgPSBydGVfZmxvd19vcHNfZ2V0KHBvcnRfaWQsIGVycm9yKTsNCj4gCSsNCj4gCSsg ICAgICAgaWYgKHVubGlrZWx5KCFvcHMpKQ0KPiAJKyAgICAgICAgICAgICAgIHJldHVybiAtcnRl X2Vycm5vOw0KPiAJKyAgICAgICBpZiAobGlrZWx5KCEhb3BzLT5zaGFyZWRfYWN0aW9uX3VwZGF0 ZSkpDQo+IAkrICAgICAgICAgICAgICAgcmV0dXJuIGZsb3dfZXJyKHBvcnRfaWQsIG9wcy0+c2hh cmVkX2FjdGlvbl91cGRhdGUoZGV2LA0KPiBhY3Rpb24sDQo+IAkrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVwZGF0ZSwgZXJyb3IpLA0KPiAJKyAgICAgICAgICAgICAgICAgICAgICAg ZXJyb3IpOw0KPiAJKyAgICAgICByZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFTk9T WVMsDQo+IAkrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0ZMT1dfRVJST1Jf VFlQRV9VTlNQRUNJRklFRCwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMLCBydGVfc3RyZXJyb3IoRU5PU1lTKSk7DQo+IAkrfQ0KPiAJKw0KPiAJK2ludA0KPiAJK3J0 ZV9mbG93X3NoYXJlZF9hY3Rpb25fcXVlcnkodWludDE2X3QgcG9ydF9pZCwNCj4gCSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb24g KmFjdGlvbiwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwNCj4g CSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJv cikNCj4gCSt7DQo+IAkrICAgICAgIHN0cnVjdCBydGVfZXRoX2RldiAqZGV2ID0gJnJ0ZV9ldGhf ZGV2aWNlc1twb3J0X2lkXTsNCj4gCSsgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X29wcyAq b3BzID0gcnRlX2Zsb3dfb3BzX2dldChwb3J0X2lkLCBlcnJvcik7DQo+IAkrDQo+IAkrICAgICAg IGlmICh1bmxpa2VseSghb3BzKSkNCj4gCSsgICAgICAgICAgICAgICByZXR1cm4gLXJ0ZV9lcnJu bzsNCj4gCSsgICAgICAgaWYgKGxpa2VseSghIW9wcy0+c2hhcmVkX2FjdGlvbl9xdWVyeSkpDQo+ IAkrICAgICAgICAgICAgICAgcmV0dXJuIGZsb3dfZXJyKHBvcnRfaWQsIG9wcy0+c2hhcmVkX2Fj dGlvbl9xdWVyeShkZXYsDQo+IGFjdGlvbiwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YSwgZXJyb3IpLA0KPiAJKyAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IpOw0K PiAJKyAgICAgICByZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFTk9TWVMsDQo+IAkr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0ZMT1dfRVJST1JfVFlQRV9VTlNQ RUNJRklFRCwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBydGVf c3RyZXJyb3IoRU5PU1lTKSk7DQo+IAkrfQ0KPiAJZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRo ZGV2L3J0ZV9mbG93LmggYi9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oDQo+IAlpbmRleCBi MGU0MTk5MTkyLi4yNTc0NTZiMTRhIDEwMDY0NA0KPiAJLS0tIGEvbGliL2xpYnJ0ZV9ldGhkZXYv cnRlX2Zsb3cuaA0KPiAJKysrIGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaA0KPiAJQEAg LTE2ODEsNyArMTY4MSw4IEBAIGVudW0gcnRlX2Zsb3dfYWN0aW9uX3R5cGUgew0KPiAJICAgICAg ICAvKioNCj4gCSAgICAgICAgICogRW5hYmxlcyBjb3VudGVycyBmb3IgdGhpcyBmbG93IHJ1bGUu DQo+IAkgICAgICAgICAqDQo+IAktICAgICAgICAqIFRoZXNlIGNvdW50ZXJzIGNhbiBiZSByZXRy aWV2ZWQgYW5kIHJlc2V0IHRocm91Z2gNCj4gcnRlX2Zsb3dfcXVlcnkoKSwNCj4gCSsgICAgICAg ICogVGhlc2UgY291bnRlcnMgY2FuIGJlIHJldHJpZXZlZCBhbmQgcmVzZXQgdGhyb3VnaA0KPiBy dGVfZmxvd19xdWVyeSgpIG9yDQo+IAkrICAgICAgICAqIHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb25f cXVlcnkoKSBpZiB0aGUgYWN0aW9uIHByb3ZpZGVkIHZpYQ0KPiBoYW5kbGUsDQo+IAkgICAgICAg ICAqIHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfcXVlcnlfY291bnQuDQo+IAkgICAgICAgICAqDQo+IAkg ICAgICAgICAqIFNlZSBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX2NvdW50Lg0KPiAJQEAgLTIwOTks NiArMjEwMCwxNCBAQCBlbnVtIHJ0ZV9mbG93X2FjdGlvbl90eXBlIHsNCj4gCSAgICAgICAgICog c2VlIGVudW0gUlRFX0VUSF9FVkVOVF9GTE9XX0FHRUQNCj4gCSAgICAgICAgICovDQo+IAkgICAg ICAgIFJURV9GTE9XX0FDVElPTl9UWVBFX0FHRSwNCj4gCSsNCj4gCSsgICAgICAgLyoqDQo+IAkr ICAgICAgICAqIERlc2NyaWJlcyBhY3Rpb24gc2hhcmVkIGEgY3Jvc3MgbXVsdGlwbGUgZmxvdyBy dWxlcy4NCj4gCSsgICAgICAgICoNCj4gCSsgICAgICAgICogRW5hYmxlcyBtdWx0aXBsZSBydWxl cyByZWZlcmVuY2UgdGhlIHNhbWUgYWN0aW9uIGJ5IGhhbmRsZSAoc2VlDQo+IAkrICAgICAgICAq IHN0cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0aW9uKS4NCj4gCSsgICAgICAgICovDQo+IAkrICAg ICAgIFJURV9GTE9XX0FDVElPTl9UWVBFX1NIQVJFRCwNCj4gCSB9Ow0KPiANCj4gCSAvKioNCj4g CUBAIC0yNjYwLDYgKzI2NjksMjAgQEAgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9zZXRfZHNjcCB7 DQo+IAkgICAgICAgIHVpbnQ4X3QgZHNjcDsNCj4gCSB9Ow0KPiANCj4gCSsNCj4gCSsvKioNCj4g CSsgKiBSVEVfRkxPV19BQ1RJT05fVFlQRV9TSEFSRUQNCj4gCSsgKg0KPiAJKyAqIE9wYXF1ZSB0 eXBlIHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBjcmVhdGluZyBhIHNoYXJlZCBhY3Rpb24u DQo+IAkrICoNCj4gCSsgKiBUaGlzIGhhbmRsZSBjYW4gYmUgdXNlZCB0byBtYW5hZ2UgYW5kIHF1 ZXJ5IHRoZSByZWxhdGVkIGFjdGlvbjoNCj4gCSsgKiAtIHNoYXJlIGl0IGEgY3Jvc3MgbXVsdGlw bGUgZmxvdyBydWxlcw0KPiAJKyAqIC0gdXBkYXRlIGFjdGlvbiBjb25maWd1cmF0aW9uDQo+IAkr ICogLSBxdWVyeSBhY3Rpb24gZGF0YQ0KPiAJKyAqIC0gZGVzdHJveSBhY3Rpb24NCj4gCSsgKi8N Cj4gCStzdHJ1Y3QgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbjsNCj4gCSsNCj4gCSAvKiBNYnVmIGR5 bmFtaWMgZmllbGQgb2Zmc2V0IGZvciBtZXRhZGF0YS4gKi8NCj4gCSBleHRlcm4gaW50MzJfdCBy dGVfZmxvd19keW5mX21ldGFkYXRhX29mZnM7DQo+IA0KPiAJQEAgLTMzMjQsNiArMzM0NywxMjkg QEAgaW50DQo+IAkgcnRlX2Zsb3dfZ2V0X2FnZWRfZmxvd3ModWludDE2X3QgcG9ydF9pZCwgdm9p ZCAqKmNvbnRleHRzLA0KPiAJICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbmJfY29u dGV4dHMsIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiANCj4gCSsvKioNCj4gCSsg KiBAd2FybmluZw0KPiAJKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3 aXRob3V0IHByaW9yIG5vdGljZS4NCj4gCSsgKg0KPiAJKyAqIENyZWF0ZSBzaGFyZWQgYWN0aW9u IGZvciByZXVzZSBpbiBtdWx0aXBsZSBmbG93IHJ1bGVzLg0KPiAJKyAqDQo+IAkrICogQHBhcmFt W2luXSBwb3J0X2lkDQo+IAkrICogICAgVGhlIHBvcnQgaWRlbnRpZmllciBvZiB0aGUgRXRoZXJu ZXQgZGV2aWNlLg0KPiAJKyAqIEBwYXJhbVtpbl0gYWN0aW9uDQo+IAkrICogICBBY3Rpb24gY29u ZmlndXJhdGlvbiBmb3Igc2hhcmVkIGFjdGlvbiBjcmVhdGlvbi4NCj4gCSsgKiBAcGFyYW1bb3V0 XSBlcnJvcg0KPiAJKyAqICAgUGVyZm9ybSB2ZXJib3NlIGVycm9yIHJlcG9ydGluZyBpZiBub3Qg TlVMTC4gUE1EcyBpbml0aWFsaXplIHRoaXMNCj4gCSsgKiAgIHN0cnVjdHVyZSBpbiBjYXNlIG9m IGVycm9yIG9ubHkuDQo+IAkrICogQHJldHVybg0KPiAJKyAqICAgQSB2YWxpZCBoYW5kbGUgaW4g Y2FzZSBvZiBzdWNjZXNzLCBOVUxMIG90aGVyd2lzZSBhbmQgcnRlX2Vycm5vIGlzDQo+IHNldA0K PiAJKyAqICAgdG8gb25lIG9mIHRoZSBlcnJvciBjb2RlcyBkZWZpbmVkOg0KPiAJKyAqICAgLSAo RU5PU1lTKSBpZiB1bmRlcmx5aW5nIGRldmljZSBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgZnVuY3Rp b25hbGl0eS4NCj4gCSsgKiAgIC0gKEVJTykgaWYgdW5kZXJseWluZyBkZXZpY2UgaXMgcmVtb3Zl ZC4NCj4gCSsgKiAgIC0gKEVJTlZBTCkgaWYgKmFjdGlvbiogaW52YWxpZC4NCj4gCSsgKiAgIC0g KEVOT1RTVVApIGlmICphY3Rpb24qIHZhbGlkIGJ1dCB1bnN1cHBvcnRlZC4NCj4gCSsgKi8NCj4g CStfX3J0ZV9leHBlcmltZW50YWwNCj4gCStzdHJ1Y3QgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbiAq DQo+IAkrcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9jcmVhdGUodWludDE2X3QgcG9ydF9pZCwNCj4g CSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZmxvd19hY3Rp b24gKmFjdGlvbiwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVf Zmxvd19lcnJvciAqZXJyb3IpOw0KPiAJKw0KPiAJKy8qKg0KPiAJKyAqIEB3YXJuaW5nDQo+IAkr ICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90 aWNlLg0KPiAJKyAqDQo+IAkrICogRGVzdHJveXMgdGhlIHNoYXJlZCBhY3Rpb24gYnkgaGFuZGxl Lg0KPiAJKyAqDQo+IAkrICogQHBhcmFtW2luXSBwb3J0X2lkDQo+IAkrICogICAgVGhlIHBvcnQg aWRlbnRpZmllciBvZiB0aGUgRXRoZXJuZXQgZGV2aWNlLg0KPiAJKyAqIEBwYXJhbVtpbl0gYWN0 aW9uDQo+IAkrICogICBIYW5kbGUgZm9yIHRoZSBzaGFyZWQgYWN0aW9uIHRvIGJlIGRlc3Ryb3ll ZC4NCj4gCSsgKiBAcGFyYW1bb3V0XSBlcnJvcg0KPiAJKyAqICAgUGVyZm9ybSB2ZXJib3NlIGVy cm9yIHJlcG9ydGluZyBpZiBub3QgTlVMTC4gUE1EcyBpbml0aWFsaXplIHRoaXMNCj4gCSsgKiAg IHN0cnVjdHVyZSBpbiBjYXNlIG9mIGVycm9yIG9ubHkuDQo+IAkrICogQHJldHVybg0KPiAJKyAq ICAgLSAoMCkgaWYgc3VjY2Vzcy4NCj4gCSsgKiAgIC0gKC1FTk9TWVMpIGlmIHVuZGVybHlpbmcg ZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBmdW5jdGlvbmFsaXR5Lg0KPiAJKyAqICAgLSAo LUVJTykgaWYgdW5kZXJseWluZyBkZXZpY2UgaXMgcmVtb3ZlZC4NCj4gCSsgKiAgIC0gKC1FTk9F TlQpIGlmIGFjdGlvbiBwb2ludGVkIGJ5ICphY3Rpb24qIGhhbmRsZSB3YXMgbm90IGZvdW5kLg0K PiAJKyAqICAgLSAoLUVUT09NQU5ZUkVGUykgaWYgYWN0aW9uIHBvaW50ZWQgYnkgKmFjdGlvbiog aGFuZGxlIHN0aWxsIHVzZWQNCj4gYnkgb25lIG9yDQo+IAkrICogICAgIG1vcmUgcnVsZXMNCj4g CSsgKiAgIHJ0ZV9lcnJubyBpcyBhbHNvIHNldC4NCj4gCSsgKi8NCj4gCStfX3J0ZV9leHBlcmlt ZW50YWwNCj4gCStpbnQNCj4gCStydGVfZmxvd19zaGFyZWRfYWN0aW9uX2Rlc3Ryb3kodWludDE2 X3QgcG9ydF9pZCwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVf Zmxvd19zaGFyZWRfYWN0aW9uICphY3Rpb24sDQo+IAkrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4gCSsNCj4gCSsvKioNCj4gCSsg KiBAd2FybmluZw0KPiAJKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3 aXRob3V0IHByaW9yIG5vdGljZS4NCj4gCSsgKg0KPiAJKyAqIFVwZGF0ZXMgaW5wbGFjZSB0aGUg c2hhcmVkIGFjdGlvbiBjb25maWd1cmF0aW9uIHBvaW50ZWQgYnkgKmFjdGlvbioNCj4gaGFuZGxl DQo+IAkrICogd2l0aCB0aGUgY29uZmlndXJhdGlvbiBwcm92aWRlZCBhcyAqdXBkYXRlKiBhcmd1 bWVudC4NCj4gCSsgKiBUaGUgdXBkYXRlIG9mIHRoZSBzaGFyZWQgYWN0aW9uIGNvbmZpZ3VyYXRp b24gZWZmZWN0cyBhbGwgZmxvdyBydWxlcw0KPiByZXVzaW5nDQo+IAkrICogdGhlIGFjdGlvbiB2 aWEgaGFuZGxlLg0KPiAJKyAqDQo+IAkrICogQHBhcmFtW2luXSBwb3J0X2lkDQo+IAkrICogICAg VGhlIHBvcnQgaWRlbnRpZmllciBvZiB0aGUgRXRoZXJuZXQgZGV2aWNlLg0KPiAJKyAqIEBwYXJh bVtpbl0gYWN0aW9uDQo+IAkrICogICBIYW5kbGUgZm9yIHRoZSBzaGFyZWQgYWN0aW9uIHRvIGJl IHVwZGF0ZWQuDQo+IAkrICogQHBhcmFtW2luXSB1cGRhdGUNCj4gCSsgKiAgIEFjdGlvbiBzcGVj aWZpY2F0aW9uIHVzZWQgdG8gbW9kaWZ5IHRoZSBhY3Rpb24gcG9pbnRlZCBieSBoYW5kbGUuDQo+ IAkrICogICAqdXBkYXRlKiBzaG91bGQgYmUgb2Ygc2FtZSB0eXBlIHdpdGggdGhlIGFjdGlvbiBw b2ludGVkIGJ5IHRoZQ0KPiAqYWN0aW9uKg0KPiAJKyAqICAgaGFuZGxlIGFyZ3VtZW50LCBvdGhl cndpc2UgY29uc2lkZXJlZCBhcyBpbnZhbGlkLg0KPiAJKyAqIEBwYXJhbVtvdXRdIGVycm9yDQo+ IAkrICogICBQZXJmb3JtIHZlcmJvc2UgZXJyb3IgcmVwb3J0aW5nIGlmIG5vdCBOVUxMLiBQTURz IGluaXRpYWxpemUgdGhpcw0KPiAJKyAqICAgc3RydWN0dXJlIGluIGNhc2Ugb2YgZXJyb3Igb25s eS4NCj4gCSsgKiBAcmV0dXJuDQo+IAkrICogICAtICgwKSBpZiBzdWNjZXNzLg0KPiAJKyAqICAg LSAoLUVOT1NZUykgaWYgdW5kZXJseWluZyBkZXZpY2UgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGZ1 bmN0aW9uYWxpdHkuDQo+IAkrICogICAtICgtRUlPKSBpZiB1bmRlcmx5aW5nIGRldmljZSBpcyBy ZW1vdmVkLg0KPiAJKyAqICAgLSAoLUVJTlZBTCkgaWYgKnVwZGF0ZSogaW52YWxpZC4NCj4gCSsg KiAgIC0gKC1FTk9UU1VQKSBpZiAqdXBkYXRlKiB2YWxpZCBidXQgdW5zdXBwb3J0ZWQuDQo+IAkr ICogICAtICgtRU5PRU5UKSBpZiBhY3Rpb24gcG9pbnRlZCBieSAqY3R4KiB3YXMgbm90IGZvdW5k Lg0KPiAJKyAqICAgcnRlX2Vycm5vIGlzIGFsc28gc2V0Lg0KPiAJKyAqLw0KPiAJK19fcnRlX2V4 cGVyaW1lbnRhbA0KPiAJK2ludA0KPiAJK3J0ZV9mbG93X3NoYXJlZF9hY3Rpb25fdXBkYXRlKHVp bnQxNl90IHBvcnRfaWQsDQo+IAkrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg cnRlX2Zsb3dfc2hhcmVkX2FjdGlvbiAqYWN0aW9uLA0KPiAJKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbiAqdXBkYXRlLA0KPiAJKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ IAkrDQo+IAkrLyoqDQo+IAkrICogQHdhcm5pbmcNCj4gCSsgKiBAYiBFWFBFUklNRU5UQUw6IHRo aXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+IAkrICoNCj4gCSsgKiBR dWVyeSB0aGUgc2hhcmVkIGFjdGlvbiBieSBoYW5kbGUuDQo+IAkrICoNCj4gCSsgKiBUaGlzIGZ1 bmN0aW9uIGFsbG93cyByZXRyaWV2aW5nIGFjdGlvbi1zcGVjaWZpYyBkYXRhIHN1Y2ggYXMgY291 bnRlcnMuDQo+IAkrICogRGF0YSBpcyBnYXRoZXJlZCBieSBzcGVjaWFsIGFjdGlvbiB3aGljaCBt YXkgYmUgcHJlc2VudC9yZWZlcmVuY2VkDQo+IGluDQo+IAkrICogbW9yZSB0aGFuIG9uZSBmbG93 IHJ1bGUgZGVmaW5pdGlvbi4NCj4gCSsgKg0KPiAJKyAqIFxzZWUgUlRFX0ZMT1dfQUNUSU9OX1RZ UEVfQ09VTlQNCj4gCSsgKg0KPiAJKyAqIEBwYXJhbSBwb3J0X2lkDQo+IAkrICogICBQb3J0IGlk ZW50aWZpZXIgb2YgRXRoZXJuZXQgZGV2aWNlLg0KPiAJKyAqIEBwYXJhbVtpbl0gYWN0aW9uDQo+ IAkrICogICBIYW5kbGUgZm9yIHRoZSBzaGFyZWQgYWN0aW9uIHRvIHF1ZXJ5Lg0KPiAJKyAqIEBw YXJhbVtpbiwgb3V0XSBkYXRhDQo+IAkrICogICBQb2ludGVyIHRvIHN0b3JhZ2UgZm9yIHRoZSBh c3NvY2lhdGVkIHF1ZXJ5IGRhdGEgdHlwZS4NCj4gCSsgKiBAcGFyYW1bb3V0XSBlcnJvcg0KPiAJ KyAqICAgUGVyZm9ybSB2ZXJib3NlIGVycm9yIHJlcG9ydGluZyBpZiBub3QgTlVMTC4gUE1EcyBp bml0aWFsaXplIHRoaXMNCj4gCSsgKiAgIHN0cnVjdHVyZSBpbiBjYXNlIG9mIGVycm9yIG9ubHku DQo+IAkrICoNCj4gCSsgKiBAcmV0dXJuDQo+IAkrICogICAwIG9uIHN1Y2Nlc3MsIGEgbmVnYXRp dmUgZXJybm8gdmFsdWUgb3RoZXJ3aXNlIGFuZCBydGVfZXJybm8gaXMgc2V0Lg0KPiAJKyAqLw0K PiAJK19fcnRlX2V4cGVyaW1lbnRhbA0KPiAJK2ludA0KPiAJK3J0ZV9mbG93X3NoYXJlZF9hY3Rp b25fcXVlcnkodWludDE2X3QgcG9ydF9pZCwNCj4gCSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb24gKmFjdGlvbiwNCj4gCSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwNCj4gCSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+IAkrDQo+IAkgI2lm ZGVmIF9fY3BsdXNwbHVzDQo+IAkgfQ0KPiAJICNlbmRpZg0KPiAJZGlmZiAtLWdpdCBhL2xpYi9s aWJydGVfZXRoZGV2L3J0ZV9mbG93X2RyaXZlci5oDQo+IGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRl X2Zsb3dfZHJpdmVyLmgNCj4gCWluZGV4IDg4MWNjNDY5YjcuLmEyY2FlMWI1M2MgMTAwNjQ0DQo+ IAktLS0gYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvd19kcml2ZXIuaA0KPiAJKysrIGIvbGli L2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3dfZHJpdmVyLmgNCj4gCUBAIC0xMDcsNiArMTA3LDI4IEBA IHN0cnVjdCBydGVfZmxvd19vcHMgew0KPiAJICAgICAgICAgICAgICAgICB2b2lkICoqY29udGV4 dCwNCj4gCSAgICAgICAgICAgICAgICAgdWludDMyX3QgbmJfY29udGV4dHMsDQo+IAkgICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyKTsNCj4gCSsgICAgICAgLyoqIFNl ZSBydGVfZmxvd19zaGFyZWRfYWN0aW9uX2NyZWF0ZSgpICovDQo+IAkrICAgICAgIHN0cnVjdCBy dGVfZmxvd19zaGFyZWRfYWN0aW9uICooKnNoYXJlZF9hY3Rpb25fY3JlYXRlKQ0KPiAJKyAgICAg ICAgICAgICAgIChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gCSsgICAgICAgICAgICAgICBj b25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uICphY3Rpb24sDQo+IAkrICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+IAkrICAgICAgIC8qKiBTZWUgcnRlX2Zs b3dfc2hhcmVkX2FjdGlvbl9kZXN0cm95KCkgKi8NCj4gCSsgICAgICAgaW50ICgqc2hhcmVkX2Fj dGlvbl9kZXN0cm95KQ0KPiAJKyAgICAgICAgICAgICAgIChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl diwNCj4gCSsgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb24gKnNo YXJlZF9hY3Rpb24sDQo+IAkrICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAq ZXJyb3IpOw0KPiAJKyAgICAgICAvKiogU2VlIHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb25fdXBkYXRl KCkgKi8NCj4gCSsgICAgICAgaW50ICgqc2hhcmVkX2FjdGlvbl91cGRhdGUpDQo+IAkrICAgICAg ICAgICAgICAgKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiAJKyAgICAgICAgICAgICAgICBz dHJ1Y3QgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbiAqc2hhcmVkX2FjdGlvbiwNCj4gCSsgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbiAqdXBkYXRlLA0KPiAJKyAgICAg ICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4gCSsgICAgICAgLyoq IFNlZSBydGVfZmxvd19zaGFyZWRfYWN0aW9uX3F1ZXJ5KCkgKi8NCj4gCSsgICAgICAgaW50ICgq c2hhcmVkX2FjdGlvbl9xdWVyeSkNCj4gCSsgICAgICAgICAgICAgICAoc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXYsDQo+IAkrICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZmxvd19zaGFy ZWRfYWN0aW9uICpzaGFyZWRfYWN0aW9uLA0KPiAJKyAgICAgICAgICAgICAgICB2b2lkICpkYXRh LA0KPiAJKyAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4g CSB9Ow0KPiANCj4gCSAvKioNCj4gCS0tDQo+IAkyLjI2LjINCj4gDQo+IA0KDQo=