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 E4B6EA0C43; Tue, 16 Nov 2021 10:01:32 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6311741143; Tue, 16 Nov 2021 10:01:32 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 2E4824113C for ; Tue, 16 Nov 2021 10:01:31 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10169"; a="319865603" X-IronPort-AV: E=Sophos;i="5.87,238,1631602800"; d="scan'208";a="319865603" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Nov 2021 01:01:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,238,1631602800"; d="scan'208";a="671880021" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga005.jf.intel.com with ESMTP; 16 Nov 2021 01:01:29 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 16 Nov 2021 01:01:29 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 16 Nov 2021 01:01:29 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 16 Nov 2021 01:01:29 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.176) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 16 Nov 2021 01:01:28 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TY0Dww+9fFqImWOuhYD2cnaaS86Oc5j8XcIkVSAgyrrp+tSqKno5i2Bbf++upwr02LFm3u0zx4V4+/BV726ucH9MNDCulR/fI3kJi3IxcnGK4msVMVaE2VMNRBCW112j206Hw2fNeFRBbKxDC5rj/GXxDkvmmq7giydZAs5i92K76DtxGN5cjNb5cI+ME3K0SxPUstI+inXWamq+sSk33wiOB4hSo2m6rKrzdGXL+W5WuKz/d8JcFsCDgvnDtIOei8ldxoGKIrPzzwqk32hOJxPjC4zSlbvF6ioZujY9eTXkf7pCWgV+3yQ/5EfOduoY+dmL80065Wwvg0Wa6DyLag== 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=5jrJ0IDR37YfjsRj0rmnGqJexOI6p24bS/CvP+fLW3A=; b=Pg47m60TPcHcAnRkSCz/9EHGxIVnoEBRoNs6pmZIvJyfEe8rOHCVtLKgKi36HCKFhm5HIGh+faBjIhyB7mojshsbqztygYfkvkm0POFfclzBnVcXNuPf8iq2JR0vP4gTlGGA6gADvYNL5hB1yNKxsi0RXIOirK74TND+DS94UCm9CHm7lQlaoW9/NfqWW+UkLSQ3z0sJoaYNsJ6P8LPYsVXxMSp452Vey9b16XzDTr/NdHC3It3s4aNSuzzDtvXQWl5CLcJGsNyBCDRVVL/nzJz4c2LRvK3oYD+0cvRJvCylO5SglKZ5iLuifTtNHBEej1yvO3TcFlwtoq+zl5qGMA== 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=5jrJ0IDR37YfjsRj0rmnGqJexOI6p24bS/CvP+fLW3A=; b=dxcz6CQMPCvbqj+eis0iMdqq/xcD+Ty7WX2se6TG4CtaUMJNQaQH89UcYux1+0H7kucgQVVTNoYUDNbw9/2lkk75WOBzb83e42uurFZp7Jr0Ui4zmlS/ET8YMKJ2lRXoY1UkQXtuhb6rC6NQ0PE6TLrCA7B+5AMp1QvoTA3VyeQ= Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by SN6PR11MB3088.namprd11.prod.outlook.com (2603:10b6:805:ce::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.27; Tue, 16 Nov 2021 09:01:26 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::94ce:97cd:1b5f:b511]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::94ce:97cd:1b5f:b511%7]) with mapi id 15.20.4690.027; Tue, 16 Nov 2021 09:01:26 +0000 From: "Xia, Chenbo" To: "Ding, Xuan" , "Wang, YuanX" , "maxime.coquelin@redhat.com" CC: "dev@dpdk.org" , "Hu, Jiayu" , "Ma, WenwuX" , "He, Xingguang" , "Yang, YvonneX" Subject: RE: [PATCH] vhost: fix get hpa fail from guest pages Thread-Topic: [PATCH] vhost: fix get hpa fail from guest pages Thread-Index: AQHX1sbneaIDatKKNU+KnXrGpOWL7KwEO/3ggAGWSACAAA07AIAAAK+w Date: Tue, 16 Nov 2021 09:01:26 +0000 Message-ID: References: <20211111062725.108297-1-yuanx.wang@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN 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-office365-filtering-correlation-id: 5760e904-763b-4f3b-7c95-08d9a8dfabb7 x-ms-traffictypediagnostic: SN6PR11MB3088: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zriWqDu4y/o3XiV8taN36knSW7yRWa8OrA/ISim7wHfAcL6FYiLatMvz8F56H2kaz9+In4RjC3xZOxCk5+GkcKLWAifvR/hv8pH83VAMsrrxDOkmlbXePiD5+GAS0YErWTLcJucKSlc5sxcQLMLtmA/thsTbhTnsRnJpKK3oIxrYR8jBXeaT/io9hwGWqRZ1zn4B80QsyuocRj7y1HsCBUSz8/Uu94BEF6Z0UlLLs0KMHsyhT0ODPwgHwH7b5uIKv903vyhdHtaexlmUksJyo06aP+FYqGM3CpBPLDuZ9D9n9qk3bCrD6uGTVKheAfXUGxiIl83NueHeGin3MW2BTHt7u7Ov+bqv1N3BF1y449i+gce3OZnZETeLxpeQg1dq/sJ5ZalJqVhbknS8hDfLBZgWVEabyh9bv/mHTduOmEhFQuqVzZ/U9g4cqI2Rw2c8Qc/oUt1Mvlq4rCglNQ02Y38D8M7fMfHlpgs1tkjQ4d5IbPpc9JKqD/8LXJvgn9fJA9cK2VIBsxq23/xOMPkW//r2cLSO4hv2AXS5r3iLWwe402+TPSapcJhznS9VZZ7ndJVKX0+wJR6j/DC85HdKasa7kZX2PdJxbNaB/d5n6RGVcTxzmVFl04mBMiouFX5JYisuZ2I8SEtZ2hDkY/FAP90+2jPHXzILSECmTUItsJoGY147NCse7ytk7YANDHujhpD2r3ObFyg0hZ3OrvQgPA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(53546011)(316002)(86362001)(38070700005)(82960400001)(55016002)(186003)(8676002)(9686003)(508600001)(66476007)(66556008)(66446008)(83380400001)(64756008)(122000001)(6506007)(110136005)(54906003)(66946007)(71200400001)(4326008)(5660300002)(2906002)(26005)(76116006)(38100700002)(107886003)(8936002)(33656002)(7696005)(52536014); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VTFXbERhQ1h1dE9ZZWhEM3hHTXV1Sk03dDRyeHk0dFNQRVh3bTcvYVpNK1F1?= =?utf-8?B?NFNtamY4UWhIbkFaaVVXYXhWN1RWcDlzZmVOKy9LSlpKd0dXcnY5SnQ4dS9H?= =?utf-8?B?SUx3amh0am1QVkIvZy8yajZqbmJNcjlFQksxVjl0L05uSEVvMVd1M0tJOFpD?= =?utf-8?B?dlBOYmRSYjA5aTVCcXozck5GVUJpTUc1L1NvVC9QMm5xSlUrYXhMUXY0TVRr?= =?utf-8?B?WFBrc0Y1N1lmS3dQS044SEZ6KzdJajFmOTM0L3htcm1LT0ZqZ0p5UE45WVB2?= =?utf-8?B?VFFvbmN0ZjhlSFk3ZTl2a3NqdHI3SjdQN1ljSHFzaEx5UmlnbGtMZGJycmxr?= =?utf-8?B?Y1JaaDVRNnhlS0dsaTlwUnl5QXoxeUVUYUVFcEdCU1MxaFJQalo1MStOdEgv?= =?utf-8?B?L0IwQm0zTGNqc0loQlFMS0FvdzljMzFrajRGTFJkNndsOEJXNVVFbHdHeEN6?= =?utf-8?B?L2Jka0FqLy9qWVhTMGV2UlRVbE1zR0xFZGxiS3hnUFZYMzIxakx5emRFMW1N?= =?utf-8?B?THQyaWhRWXVBYTBjRGQ1MUN2dytKeTNscUd1Q2hEY1U0UGxEMEVvSGFKMFBT?= =?utf-8?B?MUtUNnMwdVRiQjZNd2ZsVFNEQmVkQmJYQjgvVkNYblRpWnBpMXV4QVY2ZzAy?= =?utf-8?B?TFBmRVRxNlRLOTQ1QUtVcHhYcGdqS3dIakJ1elBSTFVUK2R4THhzN20wa0lR?= =?utf-8?B?RXh3QXB1YmZ3anNnY2tad3lFYkNVNjYrbmFXN0MrdTRiZTA2TnJnYTlSNjJS?= =?utf-8?B?Yk5wck1ueFk5UlBLcFY1Uk5tMUJZcFcyVWh4RkdnOEtnWW5wQllVOFNEeXkr?= =?utf-8?B?OW9qL0t2YWljL1JRWnUyWVlSbWR5Rm5rNjVPZzcxZlR2VEQ4a2NrSm8valJN?= =?utf-8?B?V3FNN2ZhdkhVWWM0SWNoNHFZeFBCcVprOHFqU3NaZTZ1Rm55SDZxT2VhclpM?= =?utf-8?B?SnduN0FsN3VWVFhVRnFjMVpGaStwb3hBVFA2c1BXL0RMcGFFQ3VXMjRFT050?= =?utf-8?B?eit0S0Q4RlUxbWQ0eHB1OU0xeWtVZm8rU1NGMk1EZUNXalV4Y1IyUWZCbU1S?= =?utf-8?B?dFZiZCtVOS9pdjZibjRYOTJiaWlnZldKeE1UVXNUZGdGN3Rha2RuMnB5VXVT?= =?utf-8?B?aW43L1FYQTg0dkZUS0FLVUwrL3dzb29OSC9iRGo1dUFMbHBJSDFPOTBkMFlD?= =?utf-8?B?WUJTV1UyeXl5SGdkU3FLNWZqdVhNL1RwM0lYSVJoSDRlYWROd3o2bXF0a1dJ?= =?utf-8?B?OHUwb0hNczluZzA3RHBkMmF5bEZUdFJjcTRVRE9FdTJwUjdKdHhmMkxvSlg5?= =?utf-8?B?WnQxWjlmQVFSdW5UaHdKR1VTWEhteFlIRjNSM3VtWm5CbzFQYlAwaVNBclFP?= =?utf-8?B?eElxcHYvSHJuQzc5RGlETzFKWElDZDloSDZ1WURsS1MyRnRMRVlJaURhbVo5?= =?utf-8?B?WDhtM2JmZ2doc043WFF1VzlNdFBvdnBEQ1R4M3RWbkI5UW5Rc1NjNzMrWkVy?= =?utf-8?B?dUNiNUttcTZvYm5LRzdEQldvRXV6YW42T1R3WkVka1BXSkpEcDBTaTlJZWh6?= =?utf-8?B?aGQzK1pMbkRoK0xsbHZ2U1JPVEtocVJWeStveTFTMVdqQ3Z1eG11dEc0T1Fu?= =?utf-8?B?Zy90WHpWVVh1WDg3QjA0MmFvQUo5SXFGWkh1UlJESjE3TFFMdytOMXJkYkJM?= =?utf-8?B?L1RYNWNYVldKTHdiaXk2bFBtWVRacWpGVHN4azZLSVB3QzVQNk56MEZEaFNK?= =?utf-8?B?NmJJNlZvNXhhVWtORmJtd1ZDTGZCSHE3T3I2bWV0Z0pGOWQzbjdQSkFIZm42?= =?utf-8?B?MHdxdU9uRDdqRnZmRWRJUVA5cGRGQWtERnhCTFV0OXllRGJ5R2hkTVo5LzRO?= =?utf-8?B?cEEyc3FLbWw5dDFOaXNsZXZ5ZzkzQVE1TzFsMHJKUkZWVVA1K3RlOTdTc0VH?= =?utf-8?B?V3hMTEZhWlpkbHJ3NGZYYzVhYnlpbStQa1lYUVVkTlBGQXV6OU8wK2h2WENn?= =?utf-8?B?SmtxLzBub0g1VG02MnlGaXp3ZnNnblpubVU3aHRWTjRZMGUvYXJEdHhpU0FV?= =?utf-8?B?TTNvdWxuYUxCcEt4NXY1Y2I2U01mejhnRmFXTDA3RXVGN2M0TjBOQTZKN0ZG?= =?utf-8?B?blEwc09ZYkorYWtNVTJlbHZrK3ZsWUx1TFpZTWhNNmFjdCtjdUFGM09TQy9U?= =?utf-8?Q?SSONAQyu6Qk9UUgrFZeiKkk=3D?= 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: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5760e904-763b-4f3b-7c95-08d9a8dfabb7 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2021 09:01:26.0308 (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: jfCyUZxNamCNYEdItAYc/7Z8TWzg9FGRlq2Lhfqrt3nmm6U98/eREjCpTrVcUTjZHC2Duv9BrOjk9fKt2bOvpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3088 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEaW5nLCBYdWFuIDx4dWFuLmRp bmdAaW50ZWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAxNiwgMjAyMSA0OjQ3IFBN DQo+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBXYW5nLCBZdWFuWCA8 eXVhbngud2FuZ0BpbnRlbC5jb20+Ow0KPiBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbQ0KPiBD YzogZGV2QGRwZGsub3JnOyBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNvbT47IE1hLCBXZW53 dVgNCj4gPHdlbnd1eC5tYUBpbnRlbC5jb20+OyBIZSwgWGluZ2d1YW5nIDx4aW5nZ3VhbmcuaGVA aW50ZWwuY29tPjsgWWFuZywgWXZvbm5lWA0KPiA8eXZvbm5leC55YW5nQGludGVsLmNvbT4NCj4g U3ViamVjdDogUkU6IFtQQVRDSF0gdmhvc3Q6IGZpeCBnZXQgaHBhIGZhaWwgZnJvbSBndWVzdCBw YWdlcw0KPiANCj4gSGkgQ2hlbmJvLA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+IEZyb206IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCj4gPiBTZW50 OiAyMDIx5bm0MTHmnIgxNuaXpSAxNjowNw0KPiA+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhp YUBpbnRlbC5jb20+OyBXYW5nLCBZdWFuWA0KPiA+IDx5dWFueC53YW5nQGludGVsLmNvbT47IG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tDQo+ID4gQ2M6IGRldkBkcGRrLm9yZzsgSHUsIEppYXl1 IDxqaWF5dS5odUBpbnRlbC5jb20+OyBEaW5nLCBYdWFuDQo+ID4gPHh1YW4uZGluZ0BpbnRlbC5j b20+OyBNYSwgV2Vud3VYIDx3ZW53dXgubWFAaW50ZWwuY29tPjsgSGUsDQo+ID4gWGluZ2d1YW5n IDx4aW5nZ3VhbmcuaGVAaW50ZWwuY29tPjsgWWFuZywgWXZvbm5lWA0KPiA+IDx5dm9ubmV4Lnlh bmdAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0hdIHZob3N0OiBmaXggZ2V0IGhw YSBmYWlsIGZyb20gZ3Vlc3QgcGFnZXMNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+IEZyb206IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCj4g PiA+IFNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgMTUsIDIwMjEgNDowNCBQTQ0KPiA+ID4gVG86IFdh bmcsIFl1YW5YIDx5dWFueC53YW5nQGludGVsLmNvbT47IG1heGltZS5jb3F1ZWxpbkByZWRoYXQu Y29tDQo+ID4gPiBDYzogZGV2QGRwZGsub3JnOyBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNv bT47IERpbmcsIFh1YW4NCj4gPiA+IDx4dWFuLmRpbmdAaW50ZWwuY29tPjsgTWEsIFdlbnd1WCA8 d2Vud3V4Lm1hQGludGVsLmNvbT47IEhlLA0KPiA+IFhpbmdndWFuZw0KPiA+ID4gPHhpbmdndWFu Zy5oZUBpbnRlbC5jb20+OyBZYW5nLCBZdm9ubmVYIDx5dm9ubmV4LnlhbmdAaW50ZWwuY29tPg0K PiA+ID4gU3ViamVjdDogUkU6IFtQQVRDSF0gdmhvc3Q6IGZpeCBnZXQgaHBhIGZhaWwgZnJvbSBn dWVzdCBwYWdlcw0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiA+ID4gRnJvbTogV2FuZywgWXVhblggPHl1YW54LndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiBT ZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMTEsIDIwMjEgMjoyNyBQTQ0KPiA+ID4gPiBUbzogbWF4 aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNv bT4NCj4gPiA+ID4gQ2M6IGRldkBkcGRrLm9yZzsgSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5j b20+OyBEaW5nLCBYdWFuDQo+ID4gPiA+IDx4dWFuLmRpbmdAaW50ZWwuY29tPjsgTWEsIFdlbnd1 WCA8d2Vud3V4Lm1hQGludGVsLmNvbT47IEhlLA0KPiA+ID4gPiBYaW5nZ3VhbmcgPHhpbmdndWFu Zy5oZUBpbnRlbC5jb20+OyBZYW5nLCBZdm9ubmVYDQo+ID4gPiA+IDx5dm9ubmV4LnlhbmdAaW50 ZWwuY29tPjsgV2FuZywNCj4gPiA+IFl1YW5YDQo+ID4gPiA+IDx5dWFueC53YW5nQGludGVsLmNv bT4NCj4gPiA+ID4gU3ViamVjdDogW1BBVENIXSB2aG9zdDogZml4IGdldCBocGEgZmFpbCBmcm9t IGd1ZXN0IHBhZ2VzDQo+ID4gPiA+DQo+ID4gPiA+IFdoZW4gcHJvY2Vzc2luZyBmcm9udC1lbmQg bWVtb3J5IHJlZ2lvbnMgbWVzc2FnZXMsIHZob3N0IHNhdmVzIHRoZQ0KPiA+ID4gPiBndWVzdC9o b3N0IHBoeXNpY2FsIGFkZHJlc3MgbWFwcGluZ3MgdG8gZ3Vlc3QgcGFnZXMgYW5kIG1lcmdlcw0K PiA+ID4gPiBhZGphY2VudCBjb250aWd1b3VzIHBhZ2VzIGlmIGhwYSBpcyBjb250aWd1b3VzLCBo b3dldmVyIGdwYSBpcw0KPiA+ID4gPiBsaWtlbHkgbm90IGNvbnRpZ3VvdXMgaW4gUEEgbW9kZSBh bmQgbWVyZ2luZyB3aWxsIGNhdXNlIHRoZSBncGENCj4gPiA+ID4gcmFuZ2UgdG8gY2hhbmdlLg0K PiA+ID4gPiBUaGlzIHBhdGNoIGRpc3Rpbmd1aXNoZXMgdGhlIGNhc2Ugb2YgZGlzY29udGludW91 cyBncGEgYW5kIGRvZXMgYQ0KPiA+ID4gPiByYW5nZSBsb29rdXAgb24gZ3BhIHdoZW4gZG9pbmcg YSBiaW5hcnkgc2VhcmNoLg0KPiA+ID4gPg0KPiA+ID4gPiBGaXhlczogZTI0Njg5NjE3OGUoInZo b3N0OiBnZXQgZ3Vlc3QvaG9zdCBwaHlzaWNhbCBhZGRyZXNzDQo+ID4gPiA+IG1hcHBpbmdzIikN Cj4gPiA+ID4gRml4ZXM6IDY1NjNjZjkyMzgwICgidmhvc3Q6IGZpeCBhc3luYyBjb3B5IG9uIG11 bHRpLXBhZ2UgYnVmZmVycyIpDQo+ID4gPiA+DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFl1YW4g V2FuZyA8eXVhbngud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAgbGliL3Zo b3N0L3Zob3N0LmggICAgICB8IDE4ICsrKysrKysrKysrKysrKystLQ0KPiA+ID4gPiAgbGliL3Zo b3N0L3Zob3N0X3VzZXIuYyB8IDE1ICsrKysrKysrKysrLS0tLQ0KPiA+ID4gPiAgMiBmaWxlcyBj aGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KPiA+ID4gPg0KPiA+ID4g PiBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3Zob3N0LmggYi9saWIvdmhvc3Qvdmhvc3QuaCBpbmRl eA0KPiA+ID4gPiA3MDg1ZTA4ODVjLi5iM2YwYzFkMDdjIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9s aWIvdmhvc3Qvdmhvc3QuaA0KPiA+ID4gPiArKysgYi9saWIvdmhvc3Qvdmhvc3QuaA0KPiA+ID4g PiBAQCAtNTg3LDYgKzU4NywyMCBAQCBzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSBpbnQNCj4g PiA+ID4gZ3Vlc3RfcGFnZV9hZGRyY21wKGNvbnN0IHZvaWQgKnAxLA0KPiA+ID4gPiAgCXJldHVy biAwOw0KPiA+ID4gPiAgfQ0KPiA+ID4gPg0KPiA+ID4gPiArc3RhdGljIF9fcnRlX2Fsd2F5c19p bmxpbmUgaW50IGd1ZXN0X3BhZ2VfcmFuZ2VjbXAoY29uc3Qgdm9pZCAqcDEsDQo+ID4gPiA+ICtj b25zdA0KPiA+ID4gdm9pZA0KPiA+ID4gPiAqcDIpDQo+ID4gPiA+ICt7DQo+ID4gPiA+ICsJY29u c3Qgc3RydWN0IGd1ZXN0X3BhZ2UgKnBhZ2UxID0gKGNvbnN0IHN0cnVjdCBndWVzdF9wYWdlICop cDE7DQo+ID4gPiA+ICsJY29uc3Qgc3RydWN0IGd1ZXN0X3BhZ2UgKnBhZ2UyID0gKGNvbnN0IHN0 cnVjdCBndWVzdF9wYWdlICopcDI7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwlpZiAocGFnZTEtPmd1 ZXN0X3BoeXNfYWRkciA+PSBwYWdlMi0+Z3Vlc3RfcGh5c19hZGRyKSB7DQo+ID4gPiA+ICsJCWlm IChwYWdlMS0+Z3Vlc3RfcGh5c19hZGRyIDwgcGFnZTItPmd1ZXN0X3BoeXNfYWRkciArDQo+ID4g cGFnZTItPnNpemUpDQo+ID4gPiA+ICsJCQlyZXR1cm4gMDsNCj4gPiA+ID4gKwkJZWxzZQ0KPiA+ ID4gPiArCQkJcmV0dXJuIDE7DQo+ID4gPiA+ICsJfSBlbHNlDQo+ID4gPiA+ICsJCXJldHVybiAt MTsNCj4gPiA+ID4gK30NCj4gPiA+ID4gKw0KPiA+ID4gPiAgc3RhdGljIF9fcnRlX2Fsd2F5c19p bmxpbmUgcnRlX2lvdmFfdCAgZ3BhX3RvX2ZpcnN0X2hwYShzdHJ1Y3QNCj4gPiA+ID4gdmlydGlv X25ldCAqZGV2LCB1aW50NjRfdCBncGEsDQo+ID4gPiA+ICAJdWludDY0X3QgZ3BhX3NpemUsIHVp bnQ2NF90ICpocGFfc2l6ZSkgQEAgLTU5Nyw5ICs2MTEsOSBAQA0KPiA+ID4gPiBncGFfdG9fZmly c3RfaHBhKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHVpbnQ2NF90IGdwYSwNCj4gPiA+ID4NCj4g PiA+ID4gIAkqaHBhX3NpemUgPSBncGFfc2l6ZTsNCj4gPiA+ID4gIAlpZiAoZGV2LT5ucl9ndWVz dF9wYWdlcyA+PSBWSE9TVF9CSU5BUllfU0VBUkNIX1RIUkVTSCkgew0KPiA+ID4gPiAtCQlrZXku Z3Vlc3RfcGh5c19hZGRyID0gZ3BhICYgfihkZXYtPmd1ZXN0X3BhZ2VzWzBdLnNpemUgLSAxKTsN Cj4gPiA+ID4gKwkJa2V5Lmd1ZXN0X3BoeXNfYWRkciA9IGdwYTsNCj4gPiA+ID4gIAkJcGFnZSA9 IGJzZWFyY2goJmtleSwgZGV2LT5ndWVzdF9wYWdlcywgZGV2LT5ucl9ndWVzdF9wYWdlcywNCj4g PiA+ID4gLQkJCSAgICAgICBzaXplb2Yoc3RydWN0IGd1ZXN0X3BhZ2UpLCBndWVzdF9wYWdlX2Fk ZHJjbXApOw0KPiA+ID4gPiArCQkJICAgICAgIHNpemVvZihzdHJ1Y3QgZ3Vlc3RfcGFnZSksIGd1 ZXN0X3BhZ2VfcmFuZ2VjbXApOw0KPiA+ID4gPiAgCQlpZiAocGFnZSkgew0KPiA+ID4gPiAgCQkJ aWYgKGdwYSArIGdwYV9zaXplIDw9DQo+ID4gPiA+ICAJCQkJCXBhZ2UtPmd1ZXN0X3BoeXNfYWRk ciArIHBhZ2UtPnNpemUpDQo+ID4geyBkaWZmIC0tZ2l0DQo+ID4gPiA+IGEvbGliL3Zob3N0L3Zo b3N0X3VzZXIuYyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMgaW5kZXgNCj4gPiA+ID4gYTc4MTM0 NmM0ZC4uN2Q1OGZkZTQ1OCAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvbGliL3Zob3N0L3Zob3N0X3Vz ZXIuYw0KPiA+ID4gPiArKysgYi9saWIvdmhvc3Qvdmhvc3RfdXNlci5jDQo+ID4gPiA+IEBAIC05 OTksMTAgKzk5OSwxNyBAQCBhZGRfb25lX2d1ZXN0X3BhZ2Uoc3RydWN0IHZpcnRpb19uZXQgKmRl diwNCj4gPiA+ID4gdWludDY0X3QgZ3Vlc3RfcGh5c19hZGRyLA0KPiA+ID4gPiAgCWlmIChkZXYt Pm5yX2d1ZXN0X3BhZ2VzID4gMCkgew0KPiA+ID4gPiAgCQlsYXN0X3BhZ2UgPSAmZGV2LT5ndWVz dF9wYWdlc1tkZXYtPm5yX2d1ZXN0X3BhZ2VzIC0gMV07DQo+ID4gPiA+ICAJCS8qIG1lcmdlIGlm IHRoZSB0d28gcGFnZXMgYXJlIGNvbnRpbnVvdXMgKi8NCj4gPiA+ID4gLQkJaWYgKGhvc3RfcGh5 c19hZGRyID09IGxhc3RfcGFnZS0+aG9zdF9waHlzX2FkZHIgKw0KPiA+ID4gPiAtCQkJCSAgICAg IGxhc3RfcGFnZS0+c2l6ZSkgew0KPiA+ID4gPiAtCQkJbGFzdF9wYWdlLT5zaXplICs9IHNpemU7 DQo+ID4gPiA+IC0JCQlyZXR1cm4gMDsNCj4gPiA+ID4gKwkJaWYgKGhvc3RfcGh5c19hZGRyID09 IGxhc3RfcGFnZS0+aG9zdF9waHlzX2FkZHIgKw0KPiA+ID4gPiArbGFzdF9wYWdlLT5zaXplKQ0K PiA+ID4gPiB7DQo+ID4gPiA+ICsJCQlpZiAocnRlX2VhbF9pb3ZhX21vZGUoKSA9PSBSVEVfSU9W QV9WQSkgew0KPiA+ID4gPiArCQkJCWxhc3RfcGFnZS0+c2l6ZSArPSBzaXplOw0KPiA+ID4gPiAr CQkJCXJldHVybiAwOw0KPiA+ID4gPiArCQkJfQ0KPiA+ID4NCj4gPiA+IFRoaXMgbWFrZXMgbWUg dGhpbmsgYWJvdXQgYSBxdWVzdGlvbjogSW4gSU9WQV9WQSBtb2RlLCB3aGF0IGVuc3VyZXMNCj4g PiA+IEhQQSBhbmQgR1BBIGFyZSBib3RoIGNvbnRpZ3VvdXM/DQo+ID4NCj4gPiBXaGVuIEkgd3Jv dGUgdGhpcyBlbWFpbCwgSSB0aG91Z2h0IGhvc3RfcGh5c19hZGRyIGlzIEhQQSBidXQgaW4gVkEg bW9kZSwNCj4gaXQncw0KPiA+IEhvc3QgSU9WQSwgYWthIFZBIGluIERQREsncyBjYXNlLiBTbyBp biBtb3N0IGNhc2VzIEdQQSBhbmQgVkEgd2lsbCBiZSBib3RoDQo+ID4gY29udGlndW91cyB3aGVu IHRoZSBjb250aWd1b3VzIHBhZ2VzIGFyZSBhbGwgaW4gb25lIG1lbW9yeSByZWdpb24uIEJ1dCBJ DQo+IHRoaW5rDQo+ID4gd2Ugc2hvdWxkIG5vdCBtYWtlIHN1Y2ggYXNzdW1wdGlvbiBhcyBzb21l IHZob3N0IG1hc3RlciBtYXkgc2VuZCBHUEEtDQo+ID4gY29udGlndW91cyBwYWdlcyBpbiBkaWZm ZXJlbnQgbWVtb3J5IHJlZ2lvbiwgdGhlbiB0aGUgVkEgYWZ0ZXIgbW1hcCBtYXkgbm90DQo+ID4g YmUgY29udGlndW91cy4NCj4gDQo+IE5vdyB3ZSBkbyBhc3luYyB2ZmlvIG1hcHBpbmcgYXQgcGFn ZSBncmFudWxhcml0eS4NCj4gRm9yIDRLLzJNIHBhZ2VzLCB3aXRob3V0IHRoaXMgYXNzdW1wdGlv biwgcGFnZXMgbm90IGJlIG1lcmdlZCBtYXkNCj4gZXhjZWVkIHRoZSBJT01NVSdzIGNhcGFiaWxp dHkuIFRoaXMgbGltaXRzIG9ubHkgdXNlIDFHIGh1Z2VwYWdlIGZvciBETUEgZGV2aWNlLg0KDQpJ IHdhcyBub3Qgc2F5aW5nIG1lcmdpbmcgc2hvdWxkIGJlIGRvbmUsIGJ1dCBtZXJnaW5nIHdpdGgg Y29ycmVjdCBsb2dpYy4NCg0KVGhhdCBpcyB0byBzYXksIHRoZSBwYWdlcyB0aGF0IHNob3VsZCBi ZSBtZXJnZWQgd2lsbCBzdGlsbCBiZSBtZXJnZWQsIGJ1dCBtYWtlIHRoZQ0KTG9naWMgdG8gaGFu ZGxlIGFsbCBjYXNlcy4NCg0KVGhhbmtzLA0KQ2hlbmJvDQoNCj4gDQo+IFRoYW5rcywNCj4gWHVh bg0KPiANCj4gPg0KPiA+IE1heGltZSwgV2hhdCBkbyB5b3UgdGhpbms/DQo+ID4NCj4gPiBUaGFu a3MsDQo+ID4gQ2hlbmJvDQo+ID4NCj4gPiA+DQo+ID4gPiBNYXhpbWUgJiBZdWFuLCBhbnkgdGhv dWdodD8NCj4gPiA+DQo+ID4gPiBUaGFua3MsDQo+ID4gPiBDaGVuYm8NCj4gPiA+DQo+ID4gPiA+ ICsNCj4gPiA+ID4gKwkJCWlmIChydGVfZWFsX2lvdmFfbW9kZSgpID09IFJURV9JT1ZBX1BBICYm DQo+ID4gPiA+ICsJCQkJZ3Vlc3RfcGh5c19hZGRyID09IGxhc3RfcGFnZS0NCj4gPiA+Z3Vlc3Rf cGh5c19hZGRyICsNCj4gPiA+ID4gbGFzdF9wYWdlLT5zaXplKSB7DQo+ID4gPiA+ICsJCQkJbGFz dF9wYWdlLT5zaXplICs9IHNpemU7DQo+ID4gPiA+ICsJCQkJcmV0dXJuIDA7DQo+ID4gPiA+ICsJ CQl9DQo+ID4gPiA+ICAJCX0NCj4gPiA+ID4gIAl9DQo+ID4gPiA+DQo+ID4gPiA+IC0tDQo+ID4g PiA+IDIuMjUuMQ0KDQo=