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 78AFE4284C; Mon, 27 Mar 2023 07:31:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1193840ED8; Mon, 27 Mar 2023 07:31:14 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 83C4740ED5; Mon, 27 Mar 2023 07:31:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679895072; x=1711431072; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=CU3tZ9T1WKuCxonE66FBKBFtkQGBd0mqoalCznt0EEM=; b=KmjksMAaTAN0jMpwVUNleLuy7c39hIw78QJg0WzHRSAnSIZhA2FmitJS 476MaoIyM3mIsFPV6+CKm1mYD9G4gM2GNb9JR1YfG4bijyl2PrUxAdmE5 xfklXyUu5REOnMTjfnR+W9y6Zod78iRKUtv6R1nb7M6LwJRWMww4zKzyF B6N5L/y+iPdzvd++c10G6PNhgMlnK0E5BPMHtu4WFFNS/V2jWwTFF/86k THYOjpy4rDFyLCpVh9f+yf4GS7U+xPGsOZUOzaeOqOlay11WrfKrv+eBa GEAiErPsg4M0Y8epd1xHMmjthWrxBEiqGm+RTplHsX54VWTdcb8XmrdSI Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10661"; a="341756889" X-IronPort-AV: E=Sophos;i="5.98,293,1673942400"; d="scan'208";a="341756889" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Mar 2023 22:31:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10661"; a="676833564" X-IronPort-AV: E=Sophos;i="5.98,293,1673942400"; d="scan'208";a="676833564" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP; 26 Mar 2023 22:31:11 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Sun, 26 Mar 2023 22:31:11 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Sun, 26 Mar 2023 22:31:11 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.170) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Sun, 26 Mar 2023 22:31:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X1VRdm/W16jNz175u8V1AcOwOtpgjB6pSwTR6S3ILXmYgevN0/7ort66FwFxpjx2MyI1SiXaegnfcvUVAR/9XcpJz0E3Ry1Fp8ZuMOkFOnpsnW3hLPUcvl/lW/JklrO2INdxM7QgriimXDnXS7lZOgO4/2WwZE1I3N5yhbeM6VNGlthpdIcXtrzhHba9Baj3LrHblDnPuWTZ+GxsBaBp6T2mVBZDpgBTnNsxGD0rTlB5HG1+p6CHfuS/7YHx1D1HKh1rtPqRMprkvavxJZuHutjSw1TPEeDZZB+cWJpWw+S4twGabrlBUgSpNraj6EMl+H+B5W0ziWw7vT559yeLjA== 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=CU3tZ9T1WKuCxonE66FBKBFtkQGBd0mqoalCznt0EEM=; b=nZAYzWncP1xGFdV72h8ZJJTX3V4I0D7zUngWkxxXhSs2Cxf9dkVpfh8mGKe/LDUw9/r5bg0Bu1w2reRVVfjWYOiYlxkRfiMPQ+zvrSaadCInagMmAX6L2Ozs/N3+nwP0asQy/a+vpnm7uHJXRzKBKkXswf733pGokTdp2BtsMn0L2NcQgCb0G4kNu4ykdsjL88od+CSOA+0H2p+KWcG1m41gidC+u2mjdBuiBIKNZACRiEGM5S1JsJ4slbxQuuflQTFSsjypuWXsl4L0B9OWDRjnd2ZCu7up7P7rnbsg5JHoMY3woUN3zIy0tDKFNgvfNG/Dzky9jxvt6FE+EJkSmw== 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 Received: from SN6PR11MB2911.namprd11.prod.outlook.com (2603:10b6:805:d2::33) by PH7PR11MB6608.namprd11.prod.outlook.com (2603:10b6:510:1b3::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar 2023 05:31:07 +0000 Received: from SN6PR11MB2911.namprd11.prod.outlook.com ([fe80::6a42:d331:9d1e:dec0]) by SN6PR11MB2911.namprd11.prod.outlook.com ([fe80::6a42:d331:9d1e:dec0%6]) with mapi id 15.20.6178.041; Mon, 27 Mar 2023 05:31:06 +0000 From: "Deng, KaiwenX" To: Ferruh Yigit , "dev@dpdk.org" CC: "stable@dpdk.org" , "Yang, Qiming" , "Zhou, YidingX" , "Chas Williams" , "Min Hu (Connor)" , "Wu, Jingjing" , "Xing, Beilei" , Mike Pattrick , "Zhang, Qi Z" , "Doherty, Declan" , "Mrzyglod, Daniel T" , Dapeng Yu Subject: RE: [PATCH v3] net/iavf: fix iavf query stats in intr thread Thread-Topic: [PATCH v3] net/iavf: fix iavf query stats in intr thread Thread-Index: AQHZXJQHR5SkzTBC30aFA7rxtJ2YFa8IghcAgAWdr2A= Date: Mon, 27 Mar 2023 05:31:06 +0000 Message-ID: References: <20230307025533.1950861-1-kaiwenx.deng@intel.com> <20230322072615.179196-1-kaiwenx.deng@intel.com> <0f1ae3b9-f378-9a75-65f7-fcd6e2630414@amd.com> In-Reply-To: <0f1ae3b9-f378-9a75-65f7-fcd6e2630414@amd.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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB2911:EE_|PH7PR11MB6608:EE_ x-ms-office365-filtering-correlation-id: 0967d550-d747-4bea-00ca-08db2e84769b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mH5/wqSHBS5UBerSXhryPDw4laBHzGshtV7NzJjRy4/Wj8gbpRSW6pQ1EVSKzConoT3CZJn+mAXvdOlLV8eh41yiW911OST2oXzbp0VGLCWVFHUN4r0Ca3FceGg6ZT9BsUrFdJQ1yoz60qbLac/BG6P1cj73sxZJdHOOwhxIbiGG9bnFtnoYuM7ZVMNQrsPUS3gnqKrZ9c8BHK9lMDsKCag6wFYzdfpgMeBy/v7lohVuYQFIoOwgCAQu0zZcMsV9Yid4lXi/OwoLY2aZbiEes20FPbgGN/39O1nnbkbLQdVGjgKqmvEQr02EoLSGl0Vh+QHRSeKb5B4m34I/LeadzvkuOa9KQo4ngrbA3DzlsYyf5gLuITMUuYzfLsAJ/dANMFXG8d3b8bJDFL1g68ANg316uBUZCiXcvtPT1pIPl0xVVSMrdmMEa5Tj4nn2mDOIl51zBphBsSjvTS9+yib2VOpyeg8cifCMvSVmmlxTv03U3vj9Vusoglb1XjE+b4AFfzlhz6EHkb2EUojT7M8XqOzLWT/Jm9bLUFWS2b9lpoSMB6c3RDKVd4K1vpyHyUw5+SmXHnyZ/wHavsYtNPcdapPW2AhoV7H8Qrb2kbghxsSc+Uge84mhT+mCNLcaClsQ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB2911.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(366004)(396003)(376002)(346002)(39860400002)(451199021)(9686003)(6506007)(26005)(53546011)(41300700001)(186003)(55016003)(107886003)(7696005)(71200400001)(83380400001)(478600001)(54906003)(316002)(110136005)(4326008)(38100700002)(33656002)(2906002)(66476007)(66446008)(64756008)(8676002)(66556008)(66946007)(76116006)(52536014)(82960400001)(86362001)(38070700005)(5660300002)(8936002)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VnUwbU9VUUtvZHUxcmQ2VFk3L3JGTklaZDk5N2VmT09hZWI4dlh2U0k2dm9z?= =?utf-8?B?ZDEvMXhGOWZESTdLQlg2bHlUc3RwQ3FQL0JmRVN3eXBxc0JFUGxKckRmUWY1?= =?utf-8?B?QUp5NGZYZ1h5TzhaYWcxb1lPeHJEWlYwL29maGY4clJVWHB2UEN3V1ZYWWNi?= =?utf-8?B?KzhDYWNxWUtITTltTnkyNWpWMDE4Mnd5V29kR2NhQWFxRjVZNnpsYmJCOTlP?= =?utf-8?B?d1BQaENRRExiUXBteDlrOVFHTy9jOTF1alhGUXFFakl0MlE5UmdrV09LVWww?= =?utf-8?B?bVRPYTRNRWQzR21KTmtZdGJFNXpaU29rYUVaRk9RcFN1b3hKZ20zUThxalNZ?= =?utf-8?B?dlZNVjE4bmYyc0hNQkhzL0lMeWNheXFSYjRsOVVEVGRxcVZOc2dRRWJmaDBJ?= =?utf-8?B?VnVFWnptallpQlNpOTAvclcrL0ZCeHhyM1FuRDFYbkxETzFCVWFKTXByV0Jo?= =?utf-8?B?VEhBT3pxYWljNVJ6OFN6MWM0M0orSGdTeDdVYmxGa2plVmxTMWc3MkY5M2Ri?= =?utf-8?B?Mm9Gd2JObnN0WUNPMnhhbnh0NW4yTEtjOFhRV1hWbkU0RXZaQ1NYaSszTE4y?= =?utf-8?B?dDdOOThVUGFVM3NPNHhXMy9GMWtOTTZEdHp3U2xOdHhKVUo5ZE9uM3hoT0x1?= =?utf-8?B?WWVCeGJWMG11Vk5zY3NHTTBOcVg3OW9vS2Y2Z2l6bHc5dTJ3SytQQ0VzaUMw?= =?utf-8?B?VHJ3VWt0ZE4yd1hCaU5pU1FuVnRCUGpOTjlpZHJ4UFJpTldDeU9sd1Y1MCty?= =?utf-8?B?Y3hCcnduZjIzRGkrSlYzN29tSHY1NVI2YWdwcldhSENmS2s2MEhENDY5RERp?= =?utf-8?B?VUtOV2srVVJZcnBzZW5MQkxPYzUvMk9Ya3dlZFE3WEIva2ZaQXBuczZBL0po?= =?utf-8?B?aG5nQnUwU1J0bzVNMmtKRjhEaHRBVlUyNWxpbjR0UFI0cmJWQU1vRHJ5RlRr?= =?utf-8?B?MDRsVW5CUkozUkZTU1FsSFRXVWpCaXE5am9IWVdIRDJTMFlvRW03QzhZVTh6?= =?utf-8?B?M3BsNFRqUUExTzF3U3VRdmZ1dHpsVXZRY2dFb2tuWDJBek9SUkNNeW5SSzY3?= =?utf-8?B?TlVzcEdjcGRvN21VazdJY2FoNGd6cHFwcDdmeTdWR2ZTaHFpaW1FS2ZTa0c1?= =?utf-8?B?c1Z0MU1ONy9ud2MySGx2Z1ZCelZFM1pSVEswRU5jVVI5TGx6Qkp3R05VV2pr?= =?utf-8?B?ZmcvbHFBODBTYmRjRU42a1VVcjFvY0o3YzVablVGZGxJWXp6d0hkTTJSSStZ?= =?utf-8?B?dUU1Z1pxSENrWnQ2cTdlb01JS0Vub3h3cmkrS1J4MGNMbzVaTDh0S00rbW1M?= =?utf-8?B?V3ZsQzA5MHZFVitDYnZkUHh4dFFZME0yYUJWQm1LVHZzV1kwN3BrUzdSMVpE?= =?utf-8?B?bUhkdVhqQkthMSt1OGdQdENwQTdsbHArUmw5TUp3TWFnVEtna2lBSEhMdkkw?= =?utf-8?B?VnJmYzRBWmpzQ1BBTmk2L0tRYVNNNlQrSy92amhQc3A5M3BNbDNMeCtsc0Vz?= =?utf-8?B?dGxxcU15MmJMOFNiVWxpMWY0UFBScEZXRERYczhOSDNzYzJqVllPWCtpR01i?= =?utf-8?B?cEdGZnUrUVJqZVo5WldmNjUwWlY4UWNkWDQvRE1mdVJPWUpEUUdlY0g3NXdL?= =?utf-8?B?aWVTYW4zbVlEY2hkQmpvV0doNmRienRmTG10QVhxcllSZGU4aFBlNFFDakJh?= =?utf-8?B?dkhzZWw1STZ5NFoyeEpvdUZzNVo3YllSR3dIMHRWcWpZRGQwWFVzZ1BqYmwv?= =?utf-8?B?L1czMVVtZWZJRmpKWEc2cWREK3ZXNGVWYjQvZXEzRkhYbG5maDZ5N29HUk5j?= =?utf-8?B?SVNXWGpVTzBDZkRkbkQ5aGtCQnFYeWdBblVTY0RiaE1raW5OV1ZNSkZaU2ti?= =?utf-8?B?cFh6Tno0UzNhQWx4M3NNdmdKa1VRU0l3OEVKUm1PS0FCZWJMaTFGbldmL3pq?= =?utf-8?B?NXc5YklaZDVNTTBTVU82dlZqeHNndVZjY3FnaUl6WjJFbmNLbUhLV2xTaC8z?= =?utf-8?B?L2wxQ1J4Z2o4R1RycGJtZjFUdmU0ak9ZVFF5WUFiVm5ReHlJRGFoNVJQdjFJ?= =?utf-8?B?em5DMS8vTWswNm1yODhscVJEL05NYXI4emxuMnVQYlNOeXpNWUJWSDJZbDBt?= =?utf-8?Q?KjP9i9s0M9ZoAoGvpxoAHmyA2?= 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: SN6PR11MB2911.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0967d550-d747-4bea-00ca-08db2e84769b X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2023 05:31:06.3175 (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: /gYfSmWVzWuNnE3HfxkCtH5ku8523rUeQsxf+M0TDIbDdcBiTVrl4qU/cFEd1R23OGZ1hRsLH4ienLh+eLwp1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6608 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIE1hcmNoIDIzLCAyMDIzIDEx OjM5IFBNDQo+IFRvOiBEZW5nLCBLYWl3ZW5YIDxrYWl3ZW54LmRlbmdAaW50ZWwuY29tPjsgZGV2 QGRwZGsub3JnDQo+IENjOiBzdGFibGVAZHBkay5vcmc7IFlhbmcsIFFpbWluZyA8cWltaW5nLnlh bmdAaW50ZWwuY29tPjsgWmhvdSwgWWlkaW5nWA0KPiA8eWlkaW5neC56aG91QGludGVsLmNvbT47 IENoYXMgV2lsbGlhbXMgPGNoYXMzQGF0dC5jb20+OyBNaW4gSHUgKENvbm5vcikNCj4gPGh1bWlu MjlAaHVhd2VpLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsgWGlu ZywgQmVpbGVpDQo+IDxiZWlsZWkueGluZ0BpbnRlbC5jb20+OyBNaWtlIFBhdHRyaWNrIDxta3BA cmVkaGF0LmNvbT47IFpoYW5nLCBRaSBaDQo+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IERvaGVy dHksIERlY2xhbiA8ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tPjsNCj4gTXJ6eWdsb2QsIERhbmll bCBUIDxkYW5pZWwudC5tcnp5Z2xvZEBpbnRlbC5jb20+OyBEYXBlbmcgWXUNCj4gPGRhcGVuZ3gu eXVAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzXSBuZXQvaWF2ZjogZml4IGlh dmYgcXVlcnkgc3RhdHMgaW4gaW50ciB0aHJlYWQNCj4gDQo+IE9uIDMvMjIvMjAyMyA3OjI2IEFN LCBLYWl3ZW4gRGVuZyB3cm90ZToNCj4gPiBXaGVuIGlhdmYgc2VuZCBxdWVyeS1zdGF0cyBjb21t YW5kIGluIGVhbC1pbnRyLXRocmVhZCB0aHJvdWdoIHZpcnR1YWwNCj4gPiBjaGFubmVsLCB0aGVy ZSB3aWxsIGJlIG5vIHJlc3BvbnNlIHJlY2VpdmVkIGZyb20NCj4gPiBpYXZmX2Rldl92aXJ0Y2hu bF9oYW5kbGVyIGZvciB0aGlzIGNvbW1hbmQgZHVyaW5nIGJsb2NrIGFuZCB3YWl0Lg0KPiA+IEJl Y2F1c2UgaWF2Zl9kZXZfdmlydGNobmxfaGFuZGxlciBpcyBhbHNvIHJlZ2lzdGVyZWQgaW4gZWFs LWludHItdGhyZWFkLg0KPiA+DQo+ID4gV2hlbiB2ZiBkZXZpY2UgaXMgYm9uZGVkIGFzIEJPTkRJ TkdfTU9ERV9UTEIgbW9kZSwgdGhlIHNsYXZlIGRldmljZQ0KPiA+IHVwZGF0ZSBjYWxsYmFjayB3 aWxsIHJlZ2lzdGVyZWQgaW4gYWxhcm0gYW5kIGNhbGxlZCBieQ0KPiA+IGVhbC1pbnRyLXRocmVh ZCwgaXQgd291bGQgYWxzbyByYWlzZSB0aGUgYWJvdmUgaXNzdWUuDQo+ID4NCj4gPiBUaGlzIGNv bW1pdCBhZGQgdG8gcG9sbCB0aGUgcmVzcG9uc2UgZm9yIFZJUlRDSE5MX09QX0dFVF9TVEFUUyB3 aGVuDQo+IGl0DQo+ID4gaXMgY2FsbGVkIGJ5IGVhbC1pbnRyLXRocmVhZCB0byBmaXggdGhpcyBp c3N1ZS4NCj4gPg0KPiA+IEZpeGVzOiA5MWJmMzdkMjUwYWEgKCJuZXQvaWF2ZjogYWRkIGxvY2sg Zm9yIFZGIGNvbW1hbmRzIikNCj4gPiBGaXhlczogMjJiMTIzYTM2ZDA3ICgibmV0L2F2ZjogaW5p dGlhbGl6ZSBQTUQiKQ0KPiA+IEZpeGVzOiA3Yzc2YTc0N2U2OGMgKCJib25kOiBhZGQgbW9kZSA1 IikNCj4gPiBGaXhlczogNDM1ZDUyMzExMmNjICgibmV0L2lhdmY6IGZpeCBtdWx0aS1wcm9jZXNz IHNoYXJlZCBkYXRhIikNCj4gPiBGaXhlczogY2I1YzFiOTFmNzZmICgibmV0L2lhdmY6IGFkZCB0 aHJlYWQgZm9yIGV2ZW50IGNhbGxiYWNrcyIpDQo+IA0KPiANCj4gSGkgS2Fpd2VuLA0KPiANCj4g QWJvdmUgY29tbWl0IGFscmVhZHkgc2VlbXMgdHJ5aW5nIHRvIGFkZHJlc3Mgc2FtZSBpc3N1ZSwg aXQgY3JlYXRlcyAiaWF2Zi0NCj4gZXZlbnQtdGhyZWFkIiBjb250cm9sIHRocmVhZCB0byBhc3lu Y3JvbmlvdXNseSBoYW5kbGUgdGhlIGludGVycnVwdHMsIGluIG5vbi0NCj4gaW50ZXJydXB0IGNv bnRleHQsIHdoeSBpdCBpcyBub3Qgd29ya2luZz8NCj4gDQo+IEluc3RlYWQgb2YgYWRkaW5nICdy dGVfdGhyZWFkX2lzX2ludHIoKScgY2hlY2tzLCBjYW4ndCB5b3UgbWFrZSBzdXJlIGFsbA0KPiBp bnRlcnJ1cHRzIGhhbmRsZWQgaW4gY29udHJvbCB0cmVhZD8NCj4gDQo+IEFuZCBjYW4geW91IHBs ZWFzZSBwcm92aWRlIGEgc3RhY2sgdHJhY2UgaW4gY29tbWl0IGxvZywgdG8gZGVzY3JpYmUgdGhl IGlzc3VlDQo+IGJldHRlcj8NCkhpIEZlcnJ1LA0KU29ycnkgZm9yIG15IGxhdGUgcmVwbHksIEFu ZCB0aGFua3MgZm9yIHlvdXIgcmV2aWV3Lg0KIA0KVGhlIGFib3ZlIGNvbW1pdCBkb2VzIG5vdCBm aXggdGhpcyBpc3N1ZSB3aGVuIHdlIG5lZWQgdG8gZ2V0IHRoZSByZXR1cm5lZCBkYXRhLg0KSWYg d2UgY2FsbCBpYXZmX3F1ZXJ5X3N0YXRzIGFuZCB3YWl0IGZvciByZXNwb25zZSBzdGF0aXN0aWNz IGluIHRoZSBpbnRyLXRocmVhZC4NCmlhdmZfaGFuZGxlX3ZpcnRjaG5sX21zZyBpcyBhbHNvIHJl Z2lzdGVyZWQgaW4gdGhlIGludHJfdGhyZWFkIGFuZCB3aWxsIG5vdCBiZSANCmV4ZWN1dGVkIHdo aWxlIHdhaXRpbmcuDQoNClRoaXMgY29tbWl0IEkgY2hhbmdlZCBpdCB0byBwb2xsaW5nIGZvciBy ZXBsaWVzIHRvIGNvbW1hbmRzIGV4ZWN1dGVkIGluIHRoZSBpbnRlcnJ1cHQgdGhyZWFkLg0KDQpt YWluIHRocmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVw dCB0aHJlYWQNCiAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KaWF2 Zl9xdWVyeV9zdGF0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfA0KaWF2Zl9leGVjdXRlX3ZmX2NtZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfA0KaWF2Zl9hcV9zZW5kX21zZ190b19wZiAgYW5kIHdhaXQgaGFuZGxlIGNvbXBsZXRl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfA0KICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+fA0KICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfA0KICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlhdmZfaGFuZGxlX3ZpcnRjaG5sX21zZw0KICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQog ICAgIHw8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQogICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwNCmlhdmZfZXhlY3V0ZV92Zl9jbWQgZ2V0IHJlc3BvbnNlICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfA0KDQpUaGUgYWJvdmUgaXMgdGhlIHN0YWNrIHRyYWNlIGZvciB0aGUg bm9ybWFsIGV4ZWN1dGlvbiBvZiBpYXZmX3F1ZXJ5X3N0YXRzIA0KaW4gdGhlIG1haW4gdGhyZWFk Lg0KDQogaW50ZXJydXB0IHRocmVhZA0KICAgICB8DQogICAgIHwNCmlhdmZfcXVlcnlfc3RhdHMN CmlhdmZfZXhlY3V0ZV92Zl9jbWQNCmlhdmZfYXFfc2VuZF9tc2dfdG9fcGYgd2FpdCBoYW5kbGUg Y29tcGxldGUoMSBzZWMpDQppYXZmX2V4ZWN1dGVfdmZfY21kIHRpbWVvdXQNCiAgICAgfA0KICAg ICB8DQppYXZmX2hhbmRsZV92aXJ0Y2hubF9tc2cNCiAgICAgfA0KDQpUaGUgYWJvdmUgaXMgdGhl IHN0YWNrIHRyYWNlIGZvciB0aGUgYWJub3JtYWwgZXhlY3V0aW9uIG9mIGlhdmZfcXVlcnlfc3Rh dHMgDQppbiB0aGUgaW50ZXJydXB0IHRocmVhZC4NCj4gDQo+ID4gQ2M6IHN0YWJsZUBkcGRrLm9y Zw0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogS2Fpd2VuIERlbmcgPGthaXdlbnguZGVuZ0BpbnRl bC5jb20+DQo+ID4gLS0tDQo+ID4gQ2hhbmdlcyBzaW5jZSB2MjoNCj4gPiAtIEFkZCB0byBwb2xs IHRoZSByZXNwb25zZSBmb3IgVklSVENITkxfT1BfR0VUX1NUQVRTLg0KPiA+DQo+ID4gQ2hhbmdl cyBzaW5jZSB2MToNCj4gPiAtIEFkZCBsb2NrIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9uLg0KPiA+ IC0tLQ0KPiA+IC0tLQ0KPiA+ICBkcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQu YyB8ICA3ICsrLQ0KPiA+ICBkcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMgICAgICAgICB8 ICA1ICstDQo+ID4gIGRyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jICAgICAgICAgIHwgNzEg KysrKysrKysrKysrKysrKysrLS0tLS0tLS0NCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNl cnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiA+IGIvZHJpdmVycy9uZXQvYm9uZGlu Zy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPiBpbmRleCBmMGM0ZjdkMjZiLi5lZGNlNjIxNDk2IDEw MDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ ID4gKysrIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPiBAQCAt ODk0LDYgKzg5NCw3IEBAIGJvbmRfZXRoZGV2X3VwZGF0ZV90bGJfc2xhdmVfY2Iodm9pZCAqYXJn KQ0KPiA+ICAJdWludDhfdCB1cGRhdGVfc3RhdHMgPSAwOw0KPiA+ICAJdWludDE2X3Qgc2xhdmVf aWQ7DQo+ID4gIAl1aW50MTZfdCBpOw0KPiA+ICsJaW50IHJldDsNCj4gPg0KPiA+ICAJaW50ZXJu YWxzLT5zbGF2ZV91cGRhdGVfaWR4Kys7DQo+ID4NCj4gPiBAQCAtOTAzLDcgKzkwNCwxMCBAQCBi b25kX2V0aGRldl91cGRhdGVfdGxiX3NsYXZlX2NiKHZvaWQgKmFyZykNCj4gPg0KPiA+ICAJZm9y IChpID0gMDsgaSA8IGludGVybmFscy0+YWN0aXZlX3NsYXZlX2NvdW50OyBpKyspIHsNCj4gPiAg CQlzbGF2ZV9pZCA9IGludGVybmFscy0+YWN0aXZlX3NsYXZlc1tpXTsNCj4gPiAtCQlydGVfZXRo X3N0YXRzX2dldChzbGF2ZV9pZCwgJnNsYXZlX3N0YXRzKTsNCj4gPiArCQlyZXQgPSBydGVfZXRo X3N0YXRzX2dldChzbGF2ZV9pZCwgJnNsYXZlX3N0YXRzKTsNCj4gPiArCQlpZiAocmV0KQ0KPiA+ ICsJCQlnb3RvIE9VVDsNCj4gPiArDQo+ID4gIAkJdHhfYnl0ZXMgPSBzbGF2ZV9zdGF0cy5vYnl0 ZXMgLSB0bGJfbGFzdF9vYnl0ZXRzW3NsYXZlX2lkXTsNCj4gPiAgCQliYW5kd2lkdGhfbGVmdChz bGF2ZV9pZCwgdHhfYnl0ZXMsDQo+ID4gIAkJCQlpbnRlcm5hbHMtPnNsYXZlX3VwZGF0ZV9pZHgs ICZid2dfYXJyYXlbaV0pOw0KPiBAQCAtOTIyLDYgKzkyNiw3IEBADQo+ID4gYm9uZF9ldGhkZXZf dXBkYXRlX3RsYl9zbGF2ZV9jYih2b2lkICphcmcpDQo+ID4gIAlmb3IgKGkgPSAwOyBpIDwgc2xh dmVfY291bnQ7IGkrKykNCj4gPiAgCQlpbnRlcm5hbHMtPnRsYl9zbGF2ZXNfb3JkZXJbaV0gPSBi d2dfYXJyYXlbaV0uc2xhdmU7DQo+ID4NCj4gPiArT1VUOg0KPiA+ICAJcnRlX2VhbF9hbGFybV9z ZXQoUkVPUkRFUl9QRVJJT0RfTVMgKiAxMDAwLA0KPiBib25kX2V0aGRldl91cGRhdGVfdGxiX3Ns YXZlX2NiLA0KPiA+ICAJCQkoc3RydWN0IGJvbmRfZGV2X3ByaXZhdGUgKilpbnRlcm5hbHMpOyAg fSBkaWZmIC0tZ2l0DQo+ID4gYS9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMgYi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMNCj4gPiBpbmRleCAzMTk2MjEwZjJjLi5kNmUxZjFh N2Y0IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYw0KPiA+ ICsrKyBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYw0KPiA+IEBAIC0yNjA3LDYgKzI2 MDcsOSBAQCBpYXZmX2Rldl9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldikNCj4gPiAg CWFkYXB0ZXItPmRldl9kYXRhID0gZXRoX2Rldi0+ZGF0YTsNCj4gPiAgCWFkYXB0ZXItPnN0b3Bw ZWQgPSAxOw0KPiA+DQo+ID4gKwlpZiAoaWF2Zl9kZXZfZXZlbnRfaGFuZGxlcl9pbml0KCkpDQo+ ID4gKwkJZ290byBpbml0X3ZmX2VycjsNCj4gPiArDQo+ID4gIAlpZiAoaWF2Zl9pbml0X3ZmKGV0 aF9kZXYpICE9IDApIHsNCj4gPiAgCQlQTURfSU5JVF9MT0coRVJSLCAiSW5pdCB2ZiBmYWlsZWQi KTsNCj4gPiAgCQlyZXR1cm4gLTE7DQo+ID4gQEAgLTI2MzQsOCArMjYzNyw2IEBAIGlhdmZfZGV2 X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2KQ0KPiA+ICAJcnRlX2V0aGVyX2FkZHJf Y29weSgoc3RydWN0IHJ0ZV9ldGhlcl9hZGRyICopaHctPm1hYy5hZGRyLA0KPiA+ICAJCQkmZXRo X2Rldi0+ZGF0YS0+bWFjX2FkZHJzWzBdKTsNCj4gPg0KPiA+IC0JaWYgKGlhdmZfZGV2X2V2ZW50 X2hhbmRsZXJfaW5pdCgpKQ0KPiA+IC0JCWdvdG8gaW5pdF92Zl9lcnI7DQo+ID4NCj4gPiAgCWlm ICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1dCX09OX0lU UikNCj4gew0KPiA+ICAJCS8qIHJlZ2lzdGVyIGNhbGxiYWNrIGZ1bmMgdG8gZWFsIGxpYiAqLyBk aWZmIC0tZ2l0DQo+ID4gYS9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYyBiL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl92Y2hubC5jIGluZGV4DQo+ID4gOWFkYWFkYjE3My4uYWVmZmIwN2NjYSAx MDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYw0KPiA+ICsrKyBi L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jDQo+ID4gQEAgLTI1Niw2ICsyNTYsNyBAQCBp YXZmX3JlYWRfbXNnX2Zyb21fcGYoc3RydWN0IGlhdmZfYWRhcHRlcg0KPiAqYWRhcHRlciwgdWlu dDE2X3QgYnVmX2xlbiwNCj4gPiAgCQkJCXZmLT5saW5rX3NwZWVkID0NCj4gaWF2Zl9jb252ZXJ0 X2xpbmtfc3BlZWQoc3BlZWQpOw0KPiA+ICAJCQl9DQo+ID4gIAkJCWlhdmZfZGV2X2xpbmtfdXBk YXRlKHZmLT5ldGhfZGV2LCAwKTsNCj4gPiArCQkJaWF2Zl9kZXZfZXZlbnRfcG9zdCh2Zi0+ZXRo X2RldiwNCj4gUlRFX0VUSF9FVkVOVF9JTlRSX0xTQywgTlVMTCwgMCk7DQo+ID4gIAkJCVBNRF9E UlZfTE9HKElORk8sICJMaW5rIHN0YXR1cyB1cGRhdGU6JXMiLA0KPiA+ICAJCQkJCXZmLT5saW5r X3VwID8gInVwIiA6ICJkb3duIik7DQo+ID4gIAkJCWJyZWFrOw0KPiA+IEBAIC0zNjgsMjggKzM2 OSw0OCBAQCBpYXZmX2V4ZWN1dGVfdmZfY21kKHN0cnVjdCBpYXZmX2FkYXB0ZXINCj4gKmFkYXB0 ZXIsIHN0cnVjdCBpYXZmX2NtZF9pbmZvICphcmdzLA0KPiA+ICAJCV9jbGVhcl9jbWQodmYpOw0K PiA+ICAJCWJyZWFrOw0KPiA+ICAJZGVmYXVsdDoNCj4gPiAtCQkvKiBGb3Igb3RoZXIgdmlydGNo bmwgb3BzIGluIHJ1bm5pbmcgdGltZSwNCj4gPiAtCQkgKiB3YWl0IGZvciB0aGUgY21kIGRvbmUg ZmxhZy4NCj4gPiAtCQkgKi8NCj4gPiAtCQlkbyB7DQo+ID4gLQkJCWlmICh2Zi0+cGVuZF9jbWQg PT0gVklSVENITkxfT1BfVU5LTk9XTikNCj4gPiAtCQkJCWJyZWFrOw0KPiA+IC0JCQlpYXZmX21z ZWNfZGVsYXkoQVNRX0RFTEFZX01TKTsNCj4gPiAtCQkJLyogSWYgZG9uJ3QgcmVhZCBtc2cgb3Ig cmVhZCBzeXMgZXZlbnQsIGNvbnRpbnVlICovDQo+ID4gLQkJfSB3aGlsZSAoaSsrIDwgTUFYX1RS WV9USU1FUyk7DQo+ID4gLQ0KPiA+IC0JCWlmIChpID49IE1BWF9UUllfVElNRVMpIHsNCj4gPiAt CQkJUE1EX0RSVl9MT0coRVJSLCAiTm8gcmVzcG9uc2UgZm9yIGNtZCAlZCIsDQo+IGFyZ3MtPm9w cyk7DQo+ID4gKwkJaWYgKHJ0ZV90aHJlYWRfaXNfaW50cigpKSB7DQo+ID4gKwkJCS8qIEZvciB2 aXJ0Y2hubCBvcHMgd2VyZSBleGVjdXRlZCBpbiBlYWxfaW50cl90aHJlYWQsDQo+ID4gKwkJCSAq IG5lZWQgdG8gcG9sbCB0aGUgcmVzcG9uc2UuDQo+ID4gKwkJCSAqLw0KPiA+ICsJCQlkbyB7DQo+ ID4gKwkJCQlyZXN1bHQgPSBpYXZmX3JlYWRfbXNnX2Zyb21fcGYoYWRhcHRlciwNCj4gYXJncy0+ b3V0X3NpemUsDQo+ID4gKwkJCQkJCQlhcmdzLT5vdXRfYnVmZmVyKTsNCj4gPiArCQkJCWlmIChy ZXN1bHQgPT0gSUFWRl9NU0dfQ01EKQ0KPiA+ICsJCQkJCWJyZWFrOw0KPiA+ICsJCQkJaWF2Zl9t c2VjX2RlbGF5KEFTUV9ERUxBWV9NUyk7DQo+ID4gKwkJCX0gd2hpbGUgKGkrKyA8IE1BWF9UUllf VElNRVMpOw0KPiA+ICsJCQlpZiAoaSA+PSBNQVhfVFJZX1RJTUVTIHx8DQo+ID4gKwkJCQl2Zi0+ Y21kX3JldHZhbCAhPQ0KPiBWSVJUQ0hOTF9TVEFUVVNfU1VDQ0VTUykgew0KPiA+ICsJCQkJZXJy ID0gLTE7DQo+ID4gKwkJCQlQTURfRFJWX0xPRyhFUlIsICJObyByZXNwb25zZSBvciByZXR1cm4N Cj4gZmFpbHVyZSAoJWQpIg0KPiA+ICsJCQkJCQkiIGZvciBjbWQgJWQiLCB2Zi0NCj4gPmNtZF9y ZXR2YWwsIGFyZ3MtPm9wcyk7DQo+ID4gKwkJCX0NCj4gPiAgCQkJX2NsZWFyX2NtZCh2Zik7DQo+ ID4gLQkJCWVyciA9IC1FSU87DQo+ID4gLQkJfSBlbHNlIGlmICh2Zi0+Y21kX3JldHZhbCA9PQ0K PiA+IC0JCQkgICBWSVJUQ0hOTF9TVEFUVVNfRVJSX05PVF9TVVBQT1JURUQpIHsNCj4gPiAtCQkJ UE1EX0RSVl9MT0coRVJSLCAiQ21kICVkIG5vdCBzdXBwb3J0ZWQiLCBhcmdzLQ0KPiA+b3BzKTsN Cj4gPiAtCQkJZXJyID0gLUVOT1RTVVA7DQo+ID4gLQkJfSBlbHNlIGlmICh2Zi0+Y21kX3JldHZh bCAhPSBWSVJUQ0hOTF9TVEFUVVNfU1VDQ0VTUykgew0KPiA+IC0JCQlQTURfRFJWX0xPRyhFUlIs ICJSZXR1cm4gZmFpbHVyZSAlZCBmb3IgY21kICVkIiwNCj4gPiAtCQkJCSAgICB2Zi0+Y21kX3Jl dHZhbCwgYXJncy0+b3BzKTsNCj4gPiAtCQkJZXJyID0gLUVJTlZBTDsNCj4gPiArCQl9IGVsc2Ug ew0KPiA+ICsJCQkvKiBGb3Igb3RoZXIgdmlydGNobmwgb3BzIGluIHJ1bm5pbmcgdGltZSwNCj4g PiArCQkJICogd2FpdCBmb3IgdGhlIGNtZCBkb25lIGZsYWcuDQo+ID4gKwkJCSAqLw0KPiA+ICsJ CQlkbyB7DQo+ID4gKwkJCQlpZiAodmYtPnBlbmRfY21kID09DQo+IFZJUlRDSE5MX09QX1VOS05P V04pDQo+ID4gKwkJCQkJYnJlYWs7DQo+ID4gKwkJCQlpYXZmX21zZWNfZGVsYXkoQVNRX0RFTEFZ X01TKTsNCj4gPiArCQkJCS8qIElmIGRvbid0IHJlYWQgbXNnIG9yIHJlYWQgc3lzIGV2ZW50LA0K PiBjb250aW51ZSAqLw0KPiA+ICsJCQl9IHdoaWxlIChpKysgPCBNQVhfVFJZX1RJTUVTKTsNCj4g PiArDQo+ID4gKwkJCWlmIChpID49IE1BWF9UUllfVElNRVMpIHsNCj4gPiArCQkJCVBNRF9EUlZf TE9HKEVSUiwgIk5vIHJlc3BvbnNlIGZvcg0KPiBjbWQgJWQiLCBhcmdzLT5vcHMpOw0KPiA+ICsJ CQkJX2NsZWFyX2NtZCh2Zik7DQo+ID4gKwkJCQllcnIgPSAtRUlPOw0KPiA+ICsJCQl9IGVsc2Ug aWYgKHZmLT5jbWRfcmV0dmFsID09DQo+ID4gKwkJCQlWSVJUQ0hOTF9TVEFUVVNfRVJSX05PVF9T VVBQT1JURUQpIHsNCj4gPiArCQkJCVBNRF9EUlZfTE9HKEVSUiwgIkNtZCAlZCBub3QNCj4gc3Vw cG9ydGVkIiwgYXJncy0+b3BzKTsNCj4gPiArCQkJCWVyciA9IC1FTk9UU1VQOw0KPiA+ICsJCQl9 IGVsc2UgaWYgKHZmLT5jbWRfcmV0dmFsICE9DQo+IFZJUlRDSE5MX1NUQVRVU19TVUNDRVNTKSB7 DQo+ID4gKwkJCQlQTURfRFJWX0xPRyhFUlIsICJSZXR1cm4gZmFpbHVyZSAlZCBmb3INCj4gY21k ICVkIiwNCj4gPiArCQkJCQkJdmYtPmNtZF9yZXR2YWwsIGFyZ3MtPm9wcyk7DQo+ID4gKwkJCQll cnIgPSAtRUlOVkFMOw0KPiA+ICsJCQl9DQo+ID4gIAkJfQ0KPiA+ICAJCWJyZWFrOw0KPiA+ICAJ fQ0KPiA+IEBAIC00MDMsOCArNDI0LDE0IEBAIGlhdmZfZXhlY3V0ZV92Zl9jbWRfc2FmZShzdHJ1 Y3QgaWF2Zl9hZGFwdGVyDQo+ID4gKmFkYXB0ZXIsICB7DQo+ID4gIAlzdHJ1Y3QgaWF2Zl9pbmZv ICp2ZiA9IElBVkZfREVWX1BSSVZBVEVfVE9fVkYoYWRhcHRlcik7DQo+ID4gIAlpbnQgcmV0Ow0K PiA+ICsJaW50IGlzX2ludHJfdGhyZWFkID0gcnRlX3RocmVhZF9pc19pbnRyKCk7DQo+ID4NCj4g PiAtCXJ0ZV9zcGlubG9ja19sb2NrKCZ2Zi0+YXFfbG9jayk7DQo+ID4gKwlpZiAoaXNfaW50cl90 aHJlYWQpIHsNCj4gPiArCQlpZiAoIXJ0ZV9zcGlubG9ja190cnlsb2NrKCZ2Zi0+YXFfbG9jaykp DQo+ID4gKwkJCXJldHVybiAtRUlPOw0KPiA+ICsJfSBlbHNlIHsNCj4gPiArCQlydGVfc3Bpbmxv Y2tfbG9jaygmdmYtPmFxX2xvY2spOw0KPiA+ICsJfQ0KPiA+ICAJcmV0ID0gaWF2Zl9leGVjdXRl X3ZmX2NtZChhZGFwdGVyLCBhcmdzLCBhc3luYyk7DQo+ID4gIAlydGVfc3BpbmxvY2tfdW5sb2Nr KCZ2Zi0+YXFfbG9jayk7DQo+ID4NCg0K