From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 565C4A0526; Fri, 24 Jul 2020 16:20:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 05F181C027; Fri, 24 Jul 2020 16:20:06 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 8B62F1BFE5 for ; Fri, 24 Jul 2020 16:20:03 +0200 (CEST) IronPort-SDR: uOp3eqI4+i4ZNl83jXOyE5A+93e/VUFjq0m/3SalxZoKfYxZdxmP0ugM/Ucpe5QLgK6V8WyDoI 4wusaA8YgEdw== X-IronPort-AV: E=McAfee;i="6000,8403,9691"; a="215300251" X-IronPort-AV: E=Sophos;i="5.75,391,1589266800"; d="scan'208";a="215300251" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jul 2020 07:20:02 -0700 IronPort-SDR: 7qkkOuM15PksDZoqEzqa/j83Dv7nN+XmnfjtOjB9Qnxl/YSB/uLqrJR70pjGF1Y2jHsnZeANmv OhUeWQTdW8yg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,391,1589266800"; d="scan'208";a="463245457" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga005.jf.intel.com with ESMTP; 24 Jul 2020 07:20:02 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 24 Jul 2020 07:20:01 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 24 Jul 2020 07:20:01 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 24 Jul 2020 07:20:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ga/eDLNhnNHuHUE+2zAgE6Ctn+y0bfUWg7m0Mo+jqyie3u3UA2vnmk7pfPsnfZ2+sXcZ0kPMXqkfZP7T5Lvc0JR6XLxj1v3CYHzMDbdhOzhRd2+XwMmHvSMMSri64M/KqJoEI1oz0RCp9LTA+KjS95lfXE8v9e4xOdgaPFm+bcwX5Duie12eVZusGg8VJJY2o4lMb+darchvYMJtXj38te5nEuacZ1G6zwgKH85j2beGM2Ueb+ccbAap15egcLziJ6/pKO1atBITzpwQ+DRzNlUsW6mt3Q896sjAQ1wj8eLuisute3M6NjIO8xoUUBgKF7tLXkTy53fl+kw2N/DV4g== 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=hGlwCzzs+K6LPf/4AbbbN1CSb6cPCE0lENhyI4h/VI8=; b=HEMLp706DoJ8h3VpYAauWtgJuybHaeY9rw5CR+7zwFMHQbu8vyT70i4Fzz+aMCs3nr7BazRvCUYPpp0z882OstB7UJ3GriUp57QoGmr85L0mGaaeiDk57tSaso1MzIFcHFJc8jI9nLAWKtRRypbyA+eIy8dpte9js9SBDGCXjyC2Bqaj8bqDMxMPx01b/ZDLNB61rpJChNiKZa/qqE0/OfamEKSD4dVjRsAa31WFR5vnGNJuXWPACbzce9JjIQCwBrGUEWWkeG7RCPC4D8B2al9ZLeaHn24R9F9vJRKOslgbEWXGs1QrNPinfWl13xSjIdRDxpCXMiKdFAN0z3aITw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hGlwCzzs+K6LPf/4AbbbN1CSb6cPCE0lENhyI4h/VI8=; b=HXO479leCMCJY71a+0Hr2Ss9A+fxEqjXRzRsVC0xqam7QNLBMBigkH14lIRi3085lthQYsgSXRvj/LNCdrs+Cl1qLtFr/CGrgaCF14zMR1/WhHeOln5fTC37DliWwt6EB3Beq5dHj3bVN9xfTeRFt6jpFqY4IhPjCkLUvoM6rl8= Received: from BL0PR11MB3380.namprd11.prod.outlook.com (2603:10b6:208:69::12) by BL0PR11MB3106.namprd11.prod.outlook.com (2603:10b6:208:7a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.24; Fri, 24 Jul 2020 14:19:58 +0000 Received: from BL0PR11MB3380.namprd11.prod.outlook.com ([fe80::71fd:6797:4389:da64]) by BL0PR11MB3380.namprd11.prod.outlook.com ([fe80::71fd:6797:4389:da64%2]) with mapi id 15.20.3216.024; Fri, 24 Jul 2020 14:19:58 +0000 From: "Su, Simei" To: "Guo, Jia" , "Zhang, Qi Z" , "Xing, Beilei" CC: "dev@dpdk.org" Thread-Topic: [PATCH] net/ice: fix GTPU down/uplink and extension conflict Thread-Index: AQHWYWAHtkMy0a00mkKDT+or5oXbbqkWUQSAgAB0XJA= Date: Fri, 24 Jul 2020 14:19:57 +0000 Message-ID: References: <1595556601-87800-1-git-send-email-simei.su@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.211] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 25a65ea6-86d5-4d57-119d-08d82fdca505 x-ms-traffictypediagnostic: BL0PR11MB3106: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:81; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: prxYmwxUZNZLzboP1JY04G21ETXHd7tgUrYml5rw29blfQfaDDCzfZBu04iGr19EuXw5H30loxJyxiO8P73523o4vxvUo+PYuf97vE93NkTSQIdiPuAPIjxrSoqf3ItFxLPv9jjnBYNj5SzvoHdrhxMG4ChIVZHFV3pCvy02AaVtQ6I8VhCizHYKo9n+iTnxmBjQqugtRCQl7EnPSq3EQ1kGXv/gqiCFvdNsU97kmg1+Kpf7ZYyOcV53X0zVaajK0EDMovFAtCyuZMgH16C8EP0xsPIO+YllfV5UHZCtPldhR9R2nN4BhpX/tYuKRrTJ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR11MB3380.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(346002)(396003)(39860400002)(366004)(376002)(26005)(71200400001)(86362001)(478600001)(53546011)(316002)(4326008)(6506007)(186003)(55016002)(83380400001)(9686003)(52536014)(66556008)(66476007)(30864003)(66446008)(8936002)(33656002)(110136005)(2906002)(7696005)(5660300002)(6636002)(8676002)(66946007)(76116006)(64756008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 0g3pn7zwvl1yxG4C9WTwCtcwLrgtwxkRlartiFf/yBC7f3O0dNvuFQF3r93S8REWkI6PlTSjC5jHAPsc+0EKMVJIfTDV/VBSU9lFRPxiM955tiD4kxo9ln8O5/C4tKUNKxgPBnZtKjQ0hch5GEHZt2KGAUHMzSRQnFRxOBLFLHmAnElbCswrYqujTyrpkLWsCh8ZcI64qxv7p/8PXI//IQZn7VYS7c6kUEMgfObNZR7eQZGD1mgK176jjp3NNXSt+fTwCtTuowPjaAF5RoW7cBqMXkeDsJVHeze2toGkNhtST7hhspuHJghFxkVJyRQGZ5sDMAlSW2c/SKUOUmioSt7+4gdGk37Av+TVhHRJo+goOve/RcI5/9d773AXvbba0+VYMAN1upF0PSE91RDKXTCQPRY35uFlKX7F0O8isYV2GDeCrxNx+mHqjiDNO0Ko3ZPL8nMQWsHNkxeq2j5ZAmCFljUTr83KDNrkujglTVqVEXQRq9xYXYgixMEy2Bww 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: BL0PR11MB3380.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25a65ea6-86d5-4d57-119d-08d82fdca505 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2020 14:19:57.7480 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: M7Ow8+v4Lg08REIcbFc+f3zv3MQX7mihefnpLWv4WL/e67tpKahfgf/cc562+1xdQ6wo0zEPop+PRjryN/ROLg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3106 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] net/ice: fix GTPU down/uplink and extension conflict 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" SGksIEd1b2ppYQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEd1bywg SmlhIDxqaWEuZ3VvQGludGVsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBKdWx5IDI0LCAyMDIwIDM6 MTMgUE0NCj4gVG86IFN1LCBTaW1laSA8c2ltZWkuc3VAaW50ZWwuY29tPjsgWmhhbmcsIFFpIFog PHFpLnouemhhbmdAaW50ZWwuY29tPjsgWGluZywNCj4gQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRl bC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gbmV0L2lj ZTogZml4IEdUUFUgZG93bi91cGxpbmsgYW5kIGV4dGVuc2lvbiBjb25mbGljdA0KPiANCj4gaGks IHNpbWVpDQo+IA0KPiBPbiA3LzI0LzIwMjAgMTA6MTAgQU0sIFNpbWVpIFN1IHdyb3RlOg0KPiA+ IFdoZW4gYWRkaW5nIGEgUlNTIHJ1bGUgd2l0aCBHVFBVX0RXTi9VUCwgaXQgd2lsbCBzZWFyY2gg cHJvZmlsZSB0YWJsZQ0KPiA+IGZyb20gdGhlIHRvcCBpbmRleC4gSWYgYSBSU1MgcnVsZSB3aXRo IEdUUFVfRUggYWxyZWFkeSBleGlzdHMsIHRoZW4NCj4gPiBHVFBVX0RXTi9VUCBwYWNrZXQgd2ls bCBtYXRjaCBHVFBVX0VIIHByb2ZpbGUuIFRoaXMgcGF0Y2ggc29sdmVzIHRoaXMNCj4gPiBpc3N1 ZSBieSByZW1vdmluZyBleGlzdGVkIEdUUFVfRUggcnVsZSBiZWZvcmUgY3JlYXRpbmcgYSBuZXcN Cj4gPiBHVFBVX0RXTi9VUCBydWxlLg0KPiANCj4gDQo+IFN1Z2dlc3QgaW50ZXJwcmV0IHRoZSBy ZWxhdGlvbiBzaGlwIGJldHR3ZWVuIEdUUFVfRUhfVVBMSU5LL0RXTkxJTksgd2l0aA0KPiBHVFBV X0VIIHRvIGhlbHAga25vd2xlZGdlIHRoZSByZWFzb24uDQoNCiBPaywgSSB3aWxsIHJlZmluZSB0 aGUgY29tbWl0IG1lc3NhZ2UuDQoNCj4gDQo+IA0KPiA+IEZpeGVzOiAyZTI4MTBmYzE4NjggKCJu ZXQvaWNlOiBmaXggR1RQVSBSU1MiKQ0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogU2ltZWkgU3Ug PHNpbWVpLnN1QGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgIGRyaXZlcnMvbmV0L2ljZS9pY2Vf ZXRoZGV2LmMgfCAgNDcgKysrKysrKysrKysrKysrDQo+ID4gICBkcml2ZXJzL25ldC9pY2UvaWNl X2V0aGRldi5oIHwgIDE1ICsrKysrDQo+ID4gICBkcml2ZXJzL25ldC9pY2UvaWNlX2hhc2guYyAg IHwgMTM5DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4g PiAgIDMgZmlsZXMgY2hhbmdlZCwgMjAxIGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5jIGIvZHJpdmVycy9uZXQvaWNlL2ljZV9l dGhkZXYuYw0KPiA+IGluZGV4IGE0YTAzOTAuLjg4MzkxNDYgMTAwNjQ0DQo+ID4gLS0tIGEvZHJp dmVycy9uZXQvaWNlL2ljZV9ldGhkZXYuYw0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2ljZS9pY2Vf ZXRoZGV2LmMNCj4gPiBAQCAtMjUzOCw2ICsyNTM4LDExIEBAIHN0YXRpYyBpbnQgaWNlX3BhcnNl X2RldmFyZ3Moc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYpDQo+ID4gICAJCWlmIChyZXQpDQo+ ID4gICAJCQlQTURfRFJWX0xPRyhFUlIsICIlcyBHVFBVX0VIX0lQVjQgcnNzIGZsb3cgZmFpbCAl ZCIsDQo+ID4gICAJCQkJICAgIF9fZnVuY19fLCByZXQpOw0KPiANCj4gDQo+IEEgYmxhbmsgbGlu ZSBuZWVkLg0KDQogT2suDQoNCj4gDQo+IA0KPiA+ICsJCS8qIFN0b3JlIGhhc2ggZmllbGQgYW5k IGhlYWRlciBmb3IgZ3RwdV9laCBpcHY0ICovDQo+ID4gKwkJcGYtPmd0cHVfZWguaXB2NC5oYXNo X2ZsZCA9IElDRV9GTE9XX0hBU0hfSVBWNDsNCj4gPiArCQlwZi0+Z3RwdV9laC5pcHY0LnBrdF9o ZHIgPSBJQ0VfRkxPV19TRUdfSERSX0dUUFVfRUggfA0KPiA+ICsJCQkJCSAgIElDRV9GTE9XX1NF R19IRFJfSVBWNCB8DQo+ID4gKwkJCQkJICAgSUNFX0ZMT1dfU0VHX0hEUl9JUFZfT1RIRVI7DQo+ ID4NCj4gPiAgIAkJcmV0ID0gaWNlX2FkZF9yc3NfY2ZnKGh3LCB2c2ktPmlkeCwgSUNFX0ZMT1df SEFTSF9JUFY0LA0KPiA+ICAgCQkJCUlDRV9GTE9XX1NFR19IRFJfUFBQT0UgfA0KPiA+IEBAIC0y NTY0LDYgKzI1NjksMTEgQEAgc3RhdGljIGludCBpY2VfcGFyc2VfZGV2YXJncyhzdHJ1Y3QgcnRl X2V0aF9kZXYNCj4gKmRldikNCj4gPiAgIAkJaWYgKHJldCkNCj4gPiAgIAkJCVBNRF9EUlZfTE9H KEVSUiwgIiVzIEdUUFVfRUhfSVBWNiByc3MgZmxvdyBmYWlsICVkIiwNCj4gPiAgIAkJCQkgICAg X19mdW5jX18sIHJldCk7DQo+ID4gKwkJLyogU3RvcmUgaGFzaCBmaWVsZCBhbmQgaGVhZGVyIGZv ciBndHB1X2VoIGlwdjYgKi8NCj4gPiArCQlwZi0+Z3RwdV9laC5pcHY2Lmhhc2hfZmxkID0gSUNF X0ZMT1dfSEFTSF9JUFY2Ow0KPiA+ICsJCXBmLT5ndHB1X2VoLmlwdjYucGt0X2hkciA9IElDRV9G TE9XX1NFR19IRFJfR1RQVV9FSCB8DQo+ID4gKwkJCQkJICAgSUNFX0ZMT1dfU0VHX0hEUl9JUFY2 IHwNCj4gPiArCQkJCQkgICBJQ0VfRkxPV19TRUdfSERSX0lQVl9PVEhFUjsNCj4gPg0KPiA+ICAg CQlyZXQgPSBpY2VfYWRkX3Jzc19jZmcoaHcsIHZzaS0+aWR4LCBJQ0VfRkxPV19IQVNIX0lQVjYs DQo+ID4gICAJCQkJSUNFX0ZMT1dfU0VHX0hEUl9QUFBPRSB8DQo+ID4gQEAgLTI1ODYsNiArMjU5 Niw5IEBAIHN0YXRpYyBpbnQgaWNlX3BhcnNlX2RldmFyZ3Moc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ ICpkZXYpDQo+ID4gICAJCWlmIChyZXQpDQo+ID4gICAJCQlQTURfRFJWX0xPRyhFUlIsICIlcyBH VFBVX0VIX0lQVjRfVURQIHJzcyBmbG93IGZhaWwgJWQiLA0KPiA+ICAgCQkJCSAgICBfX2Z1bmNf XywgcmV0KTsNCj4gPiArCQkvKiBTdG9yZSBoYXNoIGZpZWxkIGFuZCBoZWFkZXIgZm9yIGd0cHVf ZWggaXB2NF91ZHAgKi8NCj4gPiArCQlwZi0+Z3RwdV9laC5pcHY0X3VkcC5oYXNoX2ZsZCA9IElD RV9IQVNIX1VEUF9JUFY0Ow0KPiA+ICsJCXBmLT5ndHB1X2VoLmlwdjRfdWRwLnBrdF9oZHIgPSBJ Q0VfRkxPV19TRUdfSERSX0dUUFVfRUg7DQo+ID4NCj4gPiAgIAkJcmV0ID0gaWNlX2FkZF9yc3Nf Y2ZnKGh3LCB2c2ktPmlkeCwgSUNFX0hBU0hfVURQX0lQVjQsDQo+ID4gICAJCQkJSUNFX0ZMT1df U0VHX0hEUl9QUFBPRSwgMCk7DQo+ID4gQEAgLTI2MDYsNiArMjYxOSw5IEBAIHN0YXRpYyBpbnQg aWNlX3BhcnNlX2RldmFyZ3Moc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYpDQo+ID4gICAJCWlm IChyZXQpDQo+ID4gICAJCQlQTURfRFJWX0xPRyhFUlIsICIlcyBHVFBVX0VIX0lQVjZfVURQIHJz cyBmbG93IGZhaWwgJWQiLA0KPiA+ICAgCQkJCSAgICBfX2Z1bmNfXywgcmV0KTsNCj4gPiArCQkv KiBTdG9yZSBoYXNoIGZpZWxkIGFuZCBoZWFkZXIgZm9yIGd0cHVfZWggaXB2Nl91ZHAgKi8NCj4g PiArCQlwZi0+Z3RwdV9laC5pcHY2X3VkcC5oYXNoX2ZsZCA9IElDRV9IQVNIX1VEUF9JUFY2Ow0K PiA+ICsJCXBmLT5ndHB1X2VoLmlwdjZfdWRwLnBrdF9oZHIgPSBJQ0VfRkxPV19TRUdfSERSX0dU UFVfRUg7DQo+ID4NCj4gPiAgIAkJcmV0ID0gaWNlX2FkZF9yc3NfY2ZnKGh3LCB2c2ktPmlkeCwg SUNFX0hBU0hfVURQX0lQVjYsDQo+ID4gICAJCQkJSUNFX0ZMT1dfU0VHX0hEUl9QUFBPRSwgMCk7 DQo+ID4gQEAgLTI2MjYsNiArMjY0Miw5IEBAIHN0YXRpYyBpbnQgaWNlX3BhcnNlX2RldmFyZ3Mo c3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYpDQo+ID4gICAJCWlmIChyZXQpDQo+ID4gICAJCQlQ TURfRFJWX0xPRyhFUlIsICIlcyBHVFBVX0VIX0lQVjRfVENQIHJzcyBmbG93IGZhaWwgJWQiLA0K PiA+ICAgCQkJCSAgICBfX2Z1bmNfXywgcmV0KTsNCj4gPiArCQkvKiBTdG9yZSBoYXNoIGZpZWxk IGFuZCBoZWFkZXIgZm9yIGd0cHVfZWggaXB2NF90Y3AgKi8NCj4gPiArCQlwZi0+Z3RwdV9laC5p cHY0X3RjcC5oYXNoX2ZsZCA9IElDRV9IQVNIX1RDUF9JUFY0Ow0KPiA+ICsJCXBmLT5ndHB1X2Vo LmlwdjRfdGNwLnBrdF9oZHIgPSBJQ0VfRkxPV19TRUdfSERSX0dUUFVfRUg7DQo+ID4NCj4gPiAg IAkJcmV0ID0gaWNlX2FkZF9yc3NfY2ZnKGh3LCB2c2ktPmlkeCwgSUNFX0hBU0hfVENQX0lQVjQs DQo+ID4gICAJCQkJSUNFX0ZMT1dfU0VHX0hEUl9QUFBPRSwgMCk7DQo+ID4gQEAgLTI2NDYsNiAr MjY2NSw5IEBAIHN0YXRpYyBpbnQgaWNlX3BhcnNlX2RldmFyZ3Moc3RydWN0IHJ0ZV9ldGhfZGV2 DQo+ICpkZXYpDQo+ID4gICAJCWlmIChyZXQpDQo+ID4gICAJCQlQTURfRFJWX0xPRyhFUlIsICIl cyBHVFBVX0VIX0lQVjZfVENQIHJzcyBmbG93IGZhaWwgJWQiLA0KPiA+ICAgCQkJCSAgICBfX2Z1 bmNfXywgcmV0KTsNCj4gPiArCQkvKiBTdG9yZSBoYXNoIGZpZWxkIGFuZCBoZWFkZXIgZm9yIGd0 cHVfZWggaXB2Nl90Y3AgKi8NCj4gPiArCQlwZi0+Z3RwdV9laC5pcHY2X3RjcC5oYXNoX2ZsZCA9 IElDRV9IQVNIX1RDUF9JUFY2Ow0KPiA+ICsJCXBmLT5ndHB1X2VoLmlwdjZfdGNwLnBrdF9oZHIg PSBJQ0VfRkxPV19TRUdfSERSX0dUUFVfRUg7DQo+ID4NCj4gPiAgIAkJcmV0ID0gaWNlX2FkZF9y c3NfY2ZnKGh3LCB2c2ktPmlkeCwgSUNFX0hBU0hfVENQX0lQVjYsDQo+ID4gICAJCQkJSUNFX0ZM T1dfU0VHX0hEUl9QUFBPRSwgMCk7DQo+ID4gQEAgLTI2OTUsNiArMjcxNywyOCBAQCBzdGF0aWMg aW50IGljZV9wYXJzZV9kZXZhcmdzKHN0cnVjdCBydGVfZXRoX2Rldg0KPiAqZGV2KQ0KPiA+ICAg CX0NCj4gPiAgIH0NCj4gPg0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ICtpY2VfcnNzX2N0eF9pbml0 KHN0cnVjdCBpY2VfcGYgKnBmKQ0KPiA+ICt7DQo+ID4gKwlwZi0+Z3RwdV9laC5pcHY0Lmhhc2hf ZmxkID0gMDsNCj4gPiArCXBmLT5ndHB1X2VoLmlwdjQucGt0X2hkciA9IDA7DQo+ID4gKw0KPiA+ ICsJcGYtPmd0cHVfZWguaXB2Ni5oYXNoX2ZsZCA9IDA7DQo+ID4gKwlwZi0+Z3RwdV9laC5pcHY2 LnBrdF9oZHIgPSAwOw0KPiA+ICsNCj4gPiArCXBmLT5ndHB1X2VoLmlwdjRfdWRwLmhhc2hfZmxk ID0gMDsNCj4gPiArCXBmLT5ndHB1X2VoLmlwdjRfdWRwLnBrdF9oZHIgPSAwOw0KPiA+ICsNCj4g PiArCXBmLT5ndHB1X2VoLmlwdjZfdWRwLmhhc2hfZmxkID0gMDsNCj4gPiArCXBmLT5ndHB1X2Vo LmlwdjZfdWRwLnBrdF9oZHIgPSAwOw0KPiA+ICsNCj4gPiArCXBmLT5ndHB1X2VoLmlwdjRfdGNw Lmhhc2hfZmxkID0gMDsNCj4gPiArCXBmLT5ndHB1X2VoLmlwdjRfdGNwLnBrdF9oZHIgPSAwOw0K PiA+ICsNCj4gPiArCXBmLT5ndHB1X2VoLmlwdjZfdGNwLmhhc2hfZmxkID0gMDsNCj4gPiArCXBm LT5ndHB1X2VoLmlwdjZfdGNwLnBrdF9oZHIgPSAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAgc3Rh dGljIGludCBpY2VfaW5pdF9yc3Moc3RydWN0IGljZV9wZiAqcGYpDQo+ID4gICB7DQo+ID4gICAJ c3RydWN0IGljZV9odyAqaHcgPSBJQ0VfUEZfVE9fSFcocGYpOw0KPiA+IEBAIC0yNzU1LDYgKzI3 OTksOSBAQCBzdGF0aWMgaW50IGljZV9pbml0X3JzcyhzdHJ1Y3QgaWNlX3BmICpwZikNCj4gPiAg IAkJKDEgPDwgVlNJUUZfSEFTSF9DVExfSEFTSF9TQ0hFTUVfUyk7DQo+ID4gICAJSUNFX1dSSVRF X1JFRyhodywgVlNJUUZfSEFTSF9DVEwodnNpLT52c2lfaWQpLCByZWcpOw0KPiA+DQo+ID4gKwkv KiBJbml0aWFsaXplIFJTUyBjb250ZXh0IGZvciBndHB1X2VoICovDQo+ID4gKwlpY2VfcnNzX2N0 eF9pbml0KHBmKTsNCj4gPiArDQo+ID4gICAJLyogUlNTIGhhc2ggY29uZmlndXJhdGlvbiAqLw0K PiA+ICAgCWljZV9yc3NfaGFzaF9zZXQocGYsIHJzc19jb25mLT5yc3NfaGYpOw0KPiA+DQo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2ljZS9pY2VfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9p Y2UvaWNlX2V0aGRldi5oDQo+ID4gaW5kZXggODc5ODRlZi4uMWJhZjBiNCAxMDA2NDQNCj4gPiAt LS0gYS9kcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5oDQo+ID4gKysrIGIvZHJpdmVycy9uZXQv aWNlL2ljZV9ldGhkZXYuaA0KPiA+IEBAIC0zNTgsNiArMzU4LDIwIEBAIHN0cnVjdCBpY2VfZmRp cl9pbmZvIHsNCj4gPiAgIAlzdHJ1Y3QgaWNlX2ZkaXJfY291bnRlcl9wb29sX2NvbnRhaW5lciBj b3VudGVyOw0KPiA+ICAgfTsNCj4gPg0KPiA+ICtzdHJ1Y3QgaWNlX2d0cHVfZWggew0KPiA+ICsJ dWludDMyX3QgcGt0X2hkcjsNCj4gPiArCXVpbnQ2NF90IGhhc2hfZmxkOw0KPiA+ICt9Ow0KPiA+ ICsNCj4gDQo+IA0KPiBUaGUgbmFtaW5nICJpY2VfZ3RwdV9laCIgaXMgbm90IGNsZWFyLCBpY2Vf aGFzaF9ndHB1X2VoX2N0eD8NCj4gDQogT2ssIEkgd2lsbCByZW5hbWUgaXQgdG8gbWFrZSBpdCBj bGVhci4NCg0KPiANCj4gPiArc3RydWN0IGljZV9oYXNoX2d0cHVfZWggew0KPiA+ICsJc3RydWN0 IGljZV9ndHB1X2VoIGlwdjQ7DQo+ID4gKwlzdHJ1Y3QgaWNlX2d0cHVfZWggaXB2NjsNCj4gPiAr CXN0cnVjdCBpY2VfZ3RwdV9laCBpcHY0X3VkcDsNCj4gPiArCXN0cnVjdCBpY2VfZ3RwdV9laCBp cHY2X3VkcDsNCj4gPiArCXN0cnVjdCBpY2VfZ3RwdV9laCBpcHY0X3RjcDsNCj4gPiArCXN0cnVj dCBpY2VfZ3RwdV9laCBpcHY2X3RjcDsNCj4gPiArfTsNCj4gPiArDQo+IA0KPiANCj4gSSB0aGlu ayB5b3UgZG9uJ3QgbmVlZCB0byBkZWZpbmUgc3RydWN0IGZvciBlYWNoIHBhdHRlcm4gYW5kIHNl dC91bnNldA0KPiB2YWx1ZSBmb3IgYWxsIG9mIHRoZW0sIHdoYXQgeW91IGNvbnNpZGF0ZSBqdXN0 IDMgaXRlbSwgdGhhdCBhcmUgaGRyLA0KPiBoYXNoIGZpbGVkIGFuZCB0aGUgcGF0dGVybiB0eXBl LCBzbyB5b3UgY291bGQganVzdCBkZWZpbmVkIGFzIGJlbG93DQo+IA0KPiBzdHJ1Y3QgaWNlX2hh c2hfZ3RwdV9laF9jdHggew0KPiANCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdWludDMyX3Qg cGt0X2hkcjsNCj4gDQo+ICDCoMKgwqAgdWludDY0X3QgaGFzaF9mbGQ7DQo+IA0KPiAgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50NjRfdCBoZHJfaGludDvCoMKgwqAgLy8gZm9yIGV4 YW1wbGU6IGhkciA9DQo+IElDRV9GTE9XX1NFR19IRFJfSVBWNCB8wqAgSUNFX0ZMT1dfU0VHX0hE Ul9VRFANCj4gDQo+IH0NCj4gDQo+IGFuZCB0aGVuIG9ubHkgY2hlY2sgdGhpcyBoZHJfaGludCB3 aGVuIHNldCB1cGxpbmsvZHdubGluaw0KPiANCj4gaWYoaGRyICYgcGYtPmd0cHVfZWhfY3R4LT5o ZHJfaGludCkNCj4gDQo+ICDCoMKgwqAgaWNlX3JlbV9yc3NfY2ZnDQoNCiAgQmVjYXVzZSB3ZSBz aG91bGQgYWxzbyByZW1lbWJlciBkZWZhdWx0IHJ1bGUgY29udGV4dCwgc28gd2Ugc3RpbGwgbmVl ZCB0byBkZWZpbmUgc3RydWN0dXJlIGZvciBlYWNoIHBhdHRlcm4uDQoNCj4gDQo+ID4gICBzdHJ1 Y3QgaWNlX3BmIHsNCj4gPiAgIAlzdHJ1Y3QgaWNlX2FkYXB0ZXIgKmFkYXB0ZXI7IC8qIFRoZSBh ZGFwdGVyIHRoaXMgUEYgYXNzb2NpYXRlIHRvICovDQo+ID4gICAJc3RydWN0IGljZV92c2kgKm1h aW5fdnNpOyAvKiBwb2ludGVyIHRvIG1haW4gVlNJIHN0cnVjdHVyZSAqLw0KPiA+IEBAIC0zODEs NiArMzk1LDcgQEAgc3RydWN0IGljZV9wZiB7DQo+ID4gICAJdWludDE2X3QgZmRpcl9uYl9xcHM7 IC8qIFRoZSBudW1iZXIgb2YgcXVldWUgcGFpcnMgb2YgRmxvdyBEaXJlY3RvciAqLw0KPiA+ICAg CXVpbnQxNl90IGZkaXJfcXBfb2Zmc2V0Ow0KPiA+ICAgCXN0cnVjdCBpY2VfZmRpcl9pbmZvIGZk aXI7IC8qIGZsb3cgZGlyZWN0b3IgaW5mbyAqLw0KPiA+ICsJc3RydWN0IGljZV9oYXNoX2d0cHVf ZWggZ3RwdV9laDsNCj4gPiAgIAl1aW50MTZfdCBod19wcm9mX2NudFtJQ0VfRkxUUl9QVFlQRV9N QVhdW0lDRV9GRF9IV19TRUdfTUFYXTsNCj4gPiAgIAl1aW50MTZfdCBmZGlyX2ZsdHJfY250W0lD RV9GTFRSX1BUWVBFX01BWF1bSUNFX0ZEX0hXX1NFR19NQVhdOw0KPiA+ICAgCXN0cnVjdCBpY2Vf aHdfcG9ydF9zdGF0cyBzdGF0c19vZmZzZXQ7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2ljZS9pY2VfaGFzaC5jIGIvZHJpdmVycy9uZXQvaWNlL2ljZV9oYXNoLmMNCj4gPiBpbmRleCBl NTM1ZTRiLi5kZDcwMzUzIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2ljZS9pY2VfaGFz aC5jDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvaWNlL2ljZV9oYXNoLmMNCj4gPiBAQCAtMTIzMiw2 ICsxMjMyLDExNyBAQCBzdHJ1Y3QgaWNlX2hhc2hfbWF0Y2hfdHlwZQ0KPiBpY2VfaGFzaF90eXBl X2xpc3RbXSA9IHsNCj4gPiAgIH0NCj4gPg0KPiA+ICAgc3RhdGljIGludA0KPiA+ICtpY2VfYWRk X3Jzc19jZmdfcHJlKHN0cnVjdCBpY2VfcGYgKnBmLCB1aW50MzJfdCBoZHIsIHVpbnQ2NF90IGZs ZCkNCj4gPiArew0KPiA+ICsJc3RydWN0IGljZV9odyAqaHcgPSBJQ0VfUEZfVE9fSFcocGYpOw0K PiA+ICsJc3RydWN0IGljZV92c2kgKnZzaSA9IHBmLT5tYWluX3ZzaTsNCj4gPiArCWludCByZXQ7 DQo+ID4gKw0KPiA+ICsJLyoqDQo+ID4gKwkgKiBJZiBoZWFkZXIgZmllbGQgY29udGFpbnMgR1RQ VV9FSCwgc3RvcmUgZ3RwdV9laCBjb250ZXh0Lg0KPiA+ICsJICogSWYgaGVhZGVyIGZpZWxkIGNv bnRhaW5zIEdUUFVfRFdOL1VQLCByZW1vdmUgZXhpc3RlZCBndHB1X2VoLg0KPiA+ICsJICovDQo+ ID4gKwlpZiAoKGhkciAmIElDRV9GTE9XX1NFR19IRFJfR1RQVV9FSCkgJiYNCj4gPiArCSAgICAo aGRyICYgKElDRV9GTE9XX1NFR19IRFJfR1RQVV9EV04gfA0KPiA+ICsJCSAgICBJQ0VfRkxPV19T RUdfSERSX0dUUFVfVVApKSA9PSAwKSB7DQo+IA0KPiANCj4gTm8gbmVlZCB0byBjaGVjayAhPURX Ti9VUCBoZXJlLCBFSC9EV04vVVAgYXJlIG11dHVhbCBleGNsdXNpb24sIHRoZXkNCj4gYWxzbyBo YW5kbGVyIHdoZW7CoCBwYXJzZSBwYXR0ZXJuLg0KDQogT2suIEkgdGhvdWdodCBFSCBhbmQgRFdO L1VQIGNvdWxkIGNvLWV4aXN0Lg0KDQo+IA0KPiANCj4gPiArCQlpZiAoKGhkciAmIElDRV9GTE9X X1NFR19IRFJfSVBWNCkgJiYNCj4gPiArCQkJKGhkciAmIElDRV9GTE9XX1NFR19IRFJfVURQKSkg ew0KPiANCj4gDQo+IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcy4gQmVs b3cgaXMgdGhlIHNhbWUuDQoNCiBPSy4NCg0KPiANCj4gDQo+ID4gKwkJCXBmLT5ndHB1X2VoLmlw djRfdWRwLnBrdF9oZHIgPSBoZHI7DQo+ID4gKwkJCXBmLT5ndHB1X2VoLmlwdjRfdWRwLmhhc2hf ZmxkID0gZmxkOw0KPiA+ICsJCX0gZWxzZSBpZiAoKGhkciAmIElDRV9GTE9XX1NFR19IRFJfSVBW NikgJiYNCj4gPiArCQkJKGhkciAmIElDRV9GTE9XX1NFR19IRFJfVURQKSkgew0KPiA+ICsJCQlw Zi0+Z3RwdV9laC5pcHY2X3VkcC5wa3RfaGRyID0gaGRyOw0KPiA+ICsJCQlwZi0+Z3RwdV9laC5p cHY2X3VkcC5oYXNoX2ZsZCA9IGZsZDsNCj4gPiArCQl9IGVsc2UgaWYgKChoZHIgJiBJQ0VfRkxP V19TRUdfSERSX0lQVjQpICYmDQo+ID4gKwkJCShoZHIgJiBJQ0VfRkxPV19TRUdfSERSX1RDUCkp IHsNCj4gPiArCQkJcGYtPmd0cHVfZWguaXB2NF90Y3AucGt0X2hkciA9IGhkcjsNCj4gPiArCQkJ cGYtPmd0cHVfZWguaXB2NF90Y3AuaGFzaF9mbGQgPSBmbGQ7DQo+ID4gKwkJfSBlbHNlIGlmICgo aGRyICYgSUNFX0ZMT1dfU0VHX0hEUl9JUFY2KSAmJg0KPiA+ICsJCQkoaGRyICYgSUNFX0ZMT1df U0VHX0hEUl9UQ1ApKSB7DQo+ID4gKwkJCXBmLT5ndHB1X2VoLmlwdjZfdGNwLnBrdF9oZHIgPSBo ZHI7DQo+ID4gKwkJCXBmLT5ndHB1X2VoLmlwdjZfdGNwLmhhc2hfZmxkID0gZmxkOw0KPiA+ICsJ CX0gZWxzZSBpZiAoKGhkciAmIElDRV9GTE9XX1NFR19IRFJfSVBWNCkgJiYNCj4gPiArCQkJKGhk ciAmIChJQ0VfRkxPV19TRUdfSERSX1VEUCB8DQo+ID4gKwkJCQlJQ0VfRkxPV19TRUdfSERSX1RD UCkpID09IDApIHsNCj4gPiArCQkJcGYtPmd0cHVfZWguaXB2NC5wa3RfaGRyID0gaGRyOw0KPiA+ ICsJCQlwZi0+Z3RwdV9laC5pcHY0Lmhhc2hfZmxkID0gZmxkOw0KPiA+ICsJCX0gZWxzZSBpZiAo KGhkciAmIElDRV9GTE9XX1NFR19IRFJfSVBWNikgJiYNCj4gPiArCQkJKGhkciAmIChJQ0VfRkxP V19TRUdfSERSX1VEUCB8DQo+ID4gKwkJCQlJQ0VfRkxPV19TRUdfSERSX1RDUCkpID09IDApIHsN Cj4gPiArCQkJcGYtPmd0cHVfZWguaXB2Ni5wa3RfaGRyID0gaGRyOw0KPiA+ICsJCQlwZi0+Z3Rw dV9laC5pcHY2Lmhhc2hfZmxkID0gZmxkOw0KPiA+ICsJCX0NCj4gPiArCX0gZWxzZSBpZiAoaGRy ICYgKElDRV9GTE9XX1NFR19IRFJfR1RQVV9EV04gfA0KPiA+ICsJCSAgIElDRV9GTE9XX1NFR19I RFJfR1RQVV9VUCkpIHsNCj4gPiArCQlpZiAoKGhkciAmIElDRV9GTE9XX1NFR19IRFJfSVBWNCkg JiYNCj4gPiArCQkJKGhkciAmIElDRV9GTE9XX1NFR19IRFJfVURQKSkgew0KPiA+ICsJCQlpZiAo cGYtPmd0cHVfZWguaXB2NF91ZHAuaGFzaF9mbGQgJiYNCj4gPiArCQkJCXBmLT5ndHB1X2VoLmlw djRfdWRwLnBrdF9oZHIpIHsNCj4gPiArCQkJCXJldCA9IGljZV9yZW1fcnNzX2NmZyhodywgdnNp LT5pZHgsDQo+ID4gKwkJCQkJcGYtPmd0cHVfZWguaXB2NF91ZHAuaGFzaF9mbGQsDQo+ID4gKwkJ CQkJcGYtPmd0cHVfZWguaXB2NF91ZHAucGt0X2hkcik7DQo+ID4gKwkJCQlpZiAocmV0KQ0KPiA+ ICsJCQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ICsJCQl9DQo+IA0KPiANCj4gSXMgaXQgYmV0 dGVyIHRvIHVzZSBhIGxvY2FsIHZhcmlhYmxlIGFuZCB0aGVuIGNhbGwgaWNlX3JlbV9yc3NfY2Zn IG9uZQ0KPiB0aW1lIGFmdGVyIGlmLWVsc2U/DQoNCiBZZXMsIHlvdSBhcmUgcmlnaHQuIEkgd2ls bCBjbGVhbiBjb2RlIGluIG5leHQgdmVyc2lvbi4gVGhhbmtzLg0KDQpCcg0KU2ltZWkNCg0KPiAN Cj4gDQo+ID4gKwkJfSBlbHNlIGlmICgoaGRyICYgSUNFX0ZMT1dfU0VHX0hEUl9JUFY2KSAmJg0K PiA+ICsJCQkoaGRyICYgSUNFX0ZMT1dfU0VHX0hEUl9VRFApKSB7DQo+ID4gKwkJCWlmIChwZi0+ Z3RwdV9laC5pcHY2X3VkcC5oYXNoX2ZsZCAmJg0KPiA+ICsJCQkJcGYtPmd0cHVfZWguaXB2Nl91 ZHAucGt0X2hkcikgew0KPiA+ICsJCQkJcmV0ID0gaWNlX3JlbV9yc3NfY2ZnKGh3LCB2c2ktPmlk eCwNCj4gPiArCQkJCQlwZi0+Z3RwdV9laC5pcHY2X3VkcC5oYXNoX2ZsZCwNCj4gPiArCQkJCQlw Zi0+Z3RwdV9laC5pcHY2X3VkcC5wa3RfaGRyKTsNCj4gPiArCQkJCWlmIChyZXQpDQo+ID4gKwkJ CQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gKwkJCX0NCj4gPiArCQl9IGVsc2UgaWYgKChoZHIg JiBJQ0VfRkxPV19TRUdfSERSX0lQVjQpICYmDQo+ID4gKwkJCShoZHIgJiBJQ0VfRkxPV19TRUdf SERSX1RDUCkpIHsNCj4gPiArCQkJaWYgKHBmLT5ndHB1X2VoLmlwdjRfdGNwLmhhc2hfZmxkICYm DQo+ID4gKwkJCQlwZi0+Z3RwdV9laC5pcHY0X3RjcC5wa3RfaGRyKSB7DQo+ID4gKwkJCQlyZXQg PSBpY2VfcmVtX3Jzc19jZmcoaHcsIHZzaS0+aWR4LA0KPiA+ICsJCQkJCXBmLT5ndHB1X2VoLmlw djRfdGNwLmhhc2hfZmxkLA0KPiA+ICsJCQkJCXBmLT5ndHB1X2VoLmlwdjRfdGNwLnBrdF9oZHIp Ow0KPiA+ICsJCQkJaWYgKHJldCkNCj4gPiArCQkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiAr CQkJfQ0KPiA+ICsJCX0gZWxzZSBpZiAoKGhkciAmIElDRV9GTE9XX1NFR19IRFJfSVBWNikgJiYN Cj4gPiArCQkJKGhkciAmIElDRV9GTE9XX1NFR19IRFJfVENQKSkgew0KPiA+ICsJCQlpZiAocGYt Pmd0cHVfZWguaXB2Nl90Y3AuaGFzaF9mbGQgJiYNCj4gPiArCQkJCXBmLT5ndHB1X2VoLmlwdjZf dGNwLnBrdF9oZHIpIHsNCj4gPiArCQkJCXJldCA9IGljZV9yZW1fcnNzX2NmZyhodywgdnNpLT5p ZHgsDQo+ID4gKwkJCQkJcGYtPmd0cHVfZWguaXB2Nl90Y3AuaGFzaF9mbGQsDQo+ID4gKwkJCQkJ cGYtPmd0cHVfZWguaXB2Nl90Y3AucGt0X2hkcik7DQo+ID4gKwkJCQlpZiAocmV0KQ0KPiA+ICsJ CQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ICsJCQl9DQo+ID4gKwkJfSBlbHNlIGlmICgoaGRy ICYgSUNFX0ZMT1dfU0VHX0hEUl9JUFY0KSAmJg0KPiA+ICsJCQkoaGRyICYgKElDRV9GTE9XX1NF R19IRFJfVURQIHwNCj4gPiArCQkJCUlDRV9GTE9XX1NFR19IRFJfVENQKSkgPT0gMCkgew0KPiA+ ICsJCQlpZiAocGYtPmd0cHVfZWguaXB2NC5oYXNoX2ZsZCAmJg0KPiA+ICsJCQkJcGYtPmd0cHVf ZWguaXB2NC5wa3RfaGRyKSB7DQo+ID4gKwkJCQlyZXQgPSBpY2VfcmVtX3Jzc19jZmcoaHcsIHZz aS0+aWR4LA0KPiA+ICsJCQkJCXBmLT5ndHB1X2VoLmlwdjQuaGFzaF9mbGQsDQo+ID4gKwkJCQkJ cGYtPmd0cHVfZWguaXB2NC5wa3RfaGRyKTsNCj4gPiArCQkJCWlmIChyZXQpDQo+ID4gKwkJCQkJ cmV0dXJuIC1ydGVfZXJybm87DQo+ID4gKwkJCX0NCj4gPiArCQl9IGVsc2UgaWYgKChoZHIgJiBJ Q0VfRkxPV19TRUdfSERSX0lQVjYpICYmDQo+ID4gKwkJCShoZHIgJiAoSUNFX0ZMT1dfU0VHX0hE Ul9VRFAgfA0KPiA+ICsJCQkJSUNFX0ZMT1dfU0VHX0hEUl9UQ1ApKSA9PSAwKSB7DQo+ID4gKwkJ CWlmIChwZi0+Z3RwdV9laC5pcHY2Lmhhc2hfZmxkICYmDQo+ID4gKwkJCQlwZi0+Z3RwdV9laC5p cHY2LnBrdF9oZHIpIHsNCj4gPiArCQkJCXJldCA9IGljZV9yZW1fcnNzX2NmZyhodywgdnNpLT5p ZHgsDQo+ID4gKwkJCQkJcGYtPmd0cHVfZWguaXB2Ni5oYXNoX2ZsZCwNCj4gPiArCQkJCQlwZi0+ Z3RwdV9laC5pcHY2LnBrdF9oZHIpOw0KPiA+ICsJCQkJaWYgKHJldCkNCj4gPiArCQkJCQlyZXR1 cm4gLXJ0ZV9lcnJubzsNCj4gPiArCQkJfQ0KPiA+ICsJCX0NCj4gPiArCX0NCj4gPiArDQo+ID4g KwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludA0KPiA+ICAgaWNlX2hh c2hfY3JlYXRlKHN0cnVjdCBpY2VfYWRhcHRlciAqYWQsDQo+ID4gICAJCXN0cnVjdCBydGVfZmxv dyAqZmxvdywNCj4gPiAgIAkJdm9pZCAqbWV0YSwNCj4gPiBAQCAtMTI0OCw2ICsxMzU5LDEwIEBA IHN0cnVjdCBpY2VfaGFzaF9tYXRjaF90eXBlIGljZV9oYXNoX3R5cGVfbGlzdFtdDQo+ID0gew0K PiA+ICAgCXVpbnQ2NF90IGhhc2hfZmllbGQgPSAoKHN0cnVjdCByc3NfbWV0YSAqKW1ldGEpLT5o YXNoX2ZsZHM7DQo+ID4gICAJdWludDhfdCBoYXNoX2Z1bmN0aW9uID0gKChzdHJ1Y3QgcnNzX21l dGEgKiltZXRhKS0+aGFzaF9mdW5jdGlvbjsNCj4gPg0KPiA+ICsJcmV0ID0gaWNlX2FkZF9yc3Nf Y2ZnX3ByZShwZiwgaGVhZGVybWFzaywgaGFzaF9maWVsZCk7DQo+ID4gKwlpZiAocmV0KQ0KPiA+ ICsJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ICsNCj4gPiAgIAlmaWx0ZXJfcHRyID0gcnRlX3pt YWxsb2MoImljZV9yc3NfZmlsdGVyIiwNCj4gPiAgIAkJCQlzaXplb2Yoc3RydWN0IGljZV9oYXNo X2Zsb3dfY2ZnKSwgMCk7DQo+ID4gICAJaWYgKCFmaWx0ZXJfcHRyKSB7DQo+ID4gQEAgLTEyOTcs NiArMTQxMiwyOCBAQCBzdHJ1Y3QgaWNlX2hhc2hfbWF0Y2hfdHlwZSBpY2VfaGFzaF90eXBlX2xp c3RbXQ0KPiA9IHsNCj4gPiAgIAlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiAgIH0NCj4gPg0KPiA+ ICtzdGF0aWMgdm9pZA0KPiA+ICtpY2VfcmVtX3Jzc19jZmdfcG9zdChzdHJ1Y3QgaWNlX3BmICpw ZikNCj4gPiArew0KPiA+ICsJcGYtPmd0cHVfZWguaXB2NC5oYXNoX2ZsZCA9IDA7DQo+ID4gKwlw Zi0+Z3RwdV9laC5pcHY0LnBrdF9oZHIgPSAwOw0KPiA+ICsNCj4gPiArCXBmLT5ndHB1X2VoLmlw djYuaGFzaF9mbGQgPSAwOw0KPiA+ICsJcGYtPmd0cHVfZWguaXB2Ni5wa3RfaGRyID0gMDsNCj4g PiArDQo+ID4gKwlwZi0+Z3RwdV9laC5pcHY0X3VkcC5oYXNoX2ZsZCA9IDA7DQo+ID4gKwlwZi0+ Z3RwdV9laC5pcHY0X3VkcC5wa3RfaGRyID0gMDsNCj4gPiArDQo+ID4gKwlwZi0+Z3RwdV9laC5p cHY2X3VkcC5oYXNoX2ZsZCA9IDA7DQo+ID4gKwlwZi0+Z3RwdV9laC5pcHY2X3VkcC5wa3RfaGRy ID0gMDsNCj4gPiArDQo+ID4gKwlwZi0+Z3RwdV9laC5pcHY0X3RjcC5oYXNoX2ZsZCA9IDA7DQo+ ID4gKwlwZi0+Z3RwdV9laC5pcHY0X3RjcC5wa3RfaGRyID0gMDsNCj4gPiArDQo+ID4gKwlwZi0+ Z3RwdV9laC5pcHY2X3RjcC5oYXNoX2ZsZCA9IDA7DQo+ID4gKwlwZi0+Z3RwdV9laC5pcHY2X3Rj cC5wa3RfaGRyID0gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgIHN0YXRpYyBpbnQNCj4gPiAgIGlj ZV9oYXNoX2Rlc3Ryb3koc3RydWN0IGljZV9hZGFwdGVyICphZCwNCj4gPiAgIAkJc3RydWN0IHJ0 ZV9mbG93ICpmbG93LA0KPiA+IEBAIC0xMzM0LDYgKzE0NzEsOCBAQCBzdHJ1Y3QgaWNlX2hhc2hf bWF0Y2hfdHlwZSBpY2VfaGFzaF90eXBlX2xpc3RbXQ0KPiA9IHsNCj4gPiAgIAkJfQ0KPiA+ICAg CX0NCj4gPg0KPiA+ICsJaWNlX3JlbV9yc3NfY2ZnX3Bvc3QocGYpOw0KPiA+ICsNCj4gPiAgIAly dGVfZnJlZShmaWx0ZXJfcHRyKTsNCj4gPiAgIAlyZXR1cm4gMDsNCj4gPg0K