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 6D1B1A0C43; Tue, 16 Nov 2021 08:48:05 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F186640141; Tue, 16 Nov 2021 08:48:04 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 1862E40040 for ; Tue, 16 Nov 2021 08:48:02 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10169"; a="231100311" X-IronPort-AV: E=Sophos;i="5.87,238,1631602800"; d="scan'208";a="231100311" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Nov 2021 23:47:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,238,1631602800"; d="scan'208";a="506322055" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga008.jf.intel.com with ESMTP; 15 Nov 2021 23:47:49 -0800 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 15 Nov 2021 23:47:49 -0800 Received: from orsedg603.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_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 15 Nov 2021 23:47:49 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.170) 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; Mon, 15 Nov 2021 23:47:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T0zm1h9Ed+l6mHs9cpjq5PnAvdfhxMMcUGQ6niqT96Qso29BD+L8wo1+pfBS6/p0wSkEhz+pkWpMwjI7S49Wa+tTFCq+x0pbhWLMqhbCIKVmayir3CGgyiJQ34QjiXnEwzLJvqK/KFquBlR9kwmI5Zc+ZEald+EXljdlgWOzFL6nWA/WzJzwci6x9GEpPw7+eRKXEexyXaFUWSAu/xai35vVBU53LgshNGzqtG0eHxJUju/bzvc3/kzViAAgr817X3KTM9s7bceeDC/bBFwKpkLKXdlEDOcaMAxKjB9gzP4JVId65k2l1ZHZLhceZGFRVOKqKDkRx89CovN3gRxJ/w== 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=XcrX9NBz1E6Uz1cD5I2jIe43iq/frM+cMoMQ+KxSKhI=; b=gK+2GPwNv2UvK9X5DQM1SRAMsPEEFm8hsRMd6IK6BvaJ37gt09d5Pn2WkAq2ujy8GWhInmLdhlfODFthq4HxVpJxQSjh3P0kbk/2MIj8qsFNPO2nR3jdOicLmI02GYPO4oXz9Q9UW0dn+i48P8hqT7TQlq3DEia4IFHwDF29xTvq2CXeg0jY3/B1LGdiX2z4dmUTMJ/Ln7skXJUTTMVzD1z7phWs3ewjlUQkzhs+3/QWhExUj+xgVF8/aeTZ9w3/3O4owqaIx/WOsM9PBaxwNjRPCOzpKpdR6Xo432wAh3mT73Q1wnIXhx+WYB9fMfGF1PP33zf1kdjNCqAGnlY60w== 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=XcrX9NBz1E6Uz1cD5I2jIe43iq/frM+cMoMQ+KxSKhI=; b=IHBNRnMaJ9Z4Bnyr1HQ4tpR+ZunMqFwAVaQ5bzsO9pXNiBeD2PhPwLTauNbp2K2WO1f72A1VPZWmAOhdz1fT/3KGbFbRBHziBzyjPncW1ClpBfm5LEu5OZXjOaWffICn4BJ68sZIGTOssyhmVDj4wEzk7aFtEM4XP+0c5Et3cJU= Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by SN6PR11MB2558.namprd11.prod.outlook.com (2603:10b6:805:5d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15; Tue, 16 Nov 2021 07:47:46 +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 07:47:46 +0000 From: "Xia, Chenbo" To: "Ding, Xuan" , "maxime.coquelin@redhat.com" CC: "dev@dpdk.org" , "Hu, Jiayu" , "Wang, YuanX" , "He, Xingguang" Subject: RE: [PATCH v4] vhost: fix physical address mapping Thread-Topic: [PATCH v4] vhost: fix physical address mapping Thread-Index: AQHX2h7RbOgR9VlueUCbwDDRo6r9TKwFx4RA Date: Tue, 16 Nov 2021 07:47:46 +0000 Message-ID: References: <20211110054630.61524-1-xuan.ding@intel.com> <20211115123222.848-1-xuan.ding@intel.com> In-Reply-To: <20211115123222.848-1-xuan.ding@intel.com> 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: f1bdeb3f-f3e6-4f5a-f75a-08d9a8d56141 x-ms-traffictypediagnostic: SN6PR11MB2558: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cRlsJ/NPVZg/xZScJ4qDkqm+bNofEYcb45/AxvoB2/ynOxh9rUCnjlQAGzZ4ecO0rGVOX98ykxByozWpPiqHzX6K9HV6bS106gu6blfNn76XHNyYgsOEs7SlCDgPbVTpcyDmSTGxstkyaO0Z6X00BHKot/5Zao4eZjBb6IaatEOxLwA64oT1IBItMwlABjYEtvX2DgMY7JVhjPteU9NIjr/yG5zExXvfldnvz8FDICE9YVTfvgEbOJXYEVx6Pvrsp23YdDZereDIogD9FdF35YKL0ZYbT8TLJv+g0kaS42HOgGiAoxJVb/0opZgn989bHCnjNge/aJ3ZMiMr2uXF4sG8nvh5GMr06udeQ5s092cr5Z24Agln27YzJZRCfnagmqQCv1v5BZqw4+/rNciR+LTeNfGo1rsmZdn3o/NVDWE3+6s+HtyDILgIMHQYduC+SN1Fcrj3ENJLhIT5Zd6lBIKkaDCLP49ZWIctPIIDyD6ckX8n0BVnNDW5zVYAJw/ZMI8Clxixz4YsarmmkbWDzW/LT1u3coNfIovPU1jhhh5uFL5D9tb6ipW9CG867h/JwWDIhhZyyFQ4L1JPKYuiVrB7mJy2OwxJZ3SdoS/G4NqDQ7yOnRASka3+O3qox4srhnXnZk9vUXBul6QgUzCWZK0hhhBaOHTOCDU7US2+VvxtGSd3k9raB4AvvgMERvU24C31iQ9/05xHAkxGyTDYpg== 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)(52536014)(8676002)(76116006)(4326008)(71200400001)(66476007)(66946007)(9686003)(8936002)(82960400001)(66446008)(64756008)(53546011)(55016002)(186003)(66556008)(6506007)(33656002)(2906002)(38070700005)(26005)(5660300002)(122000001)(83380400001)(508600001)(54906003)(316002)(86362001)(38100700002)(7696005)(110136005)(107886003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ektMOHlkdGJjRTI1T01UR3RhR0w0dmIvVEpuMEhWTk1RZHNGZGk0SGlwT1ht?= =?utf-8?B?cUdlcVUva21Ra05GZlVEbWNXOUJiMWF5TjYxZTE3am1NaGM3TWhSZ0JqdW8z?= =?utf-8?B?QjZTQ1EvZFV1MENKMlN0QThvSlN3b29Ib3BUYzl1aWV4MjNrendmUG5IdE1j?= =?utf-8?B?a3kwNWY5ekg4U1hkWjQrZ0ZWVXJwdkRZOTd6SktsT0h5Qlk5RitrZndpTkNo?= =?utf-8?B?TTNsQk5lY0JZNEJDMEYxT0FSTmVSd1JLL0trcjRwbUhjNHltZk4wMC9FV3JH?= =?utf-8?B?LzhUMkJvUUtzcEQ5azhEVVBpNTRVcnVDWUk5blh2enZQTU9NRit4dUs1YUE4?= =?utf-8?B?YllDVjdNeXZxWUxhVGRQNllBWldHRFFHNllsQ0orVThSdUdMUTRIMFAxUFR0?= =?utf-8?B?REY0VGQ1Rlk1MlRyZDFTWmljdmRrbU1uV3lSYlllOTdsWTFVdW1GSlVBaU5V?= =?utf-8?B?cHJNZ1IwKzFhdnRvbWdVVWg2ZVh5YllsZHJERWJ2bHhNeDB5ZWkvaXU0bm5n?= =?utf-8?B?RFhseU5BK3J5NDEvVHpLd2hNMnlXbm1EYTFha1VlaFZxcGpPbFc2bDF0WDdG?= =?utf-8?B?VFo2amhZNjUzVytnQktpaXVxM3lTaitMZHZXaVl6T01JQm9ObVBPUGNYaWc2?= =?utf-8?B?cDNJU3pNNkk3dE9zTyswdDFvbFRRdy9CazFJN0RQeHdURHB4MXVFcFFxM3Rj?= =?utf-8?B?MWNweEpRVi9OeHhrRDB3M1ZzQzc1UkI2VGpnUGJUUGhDWnBLWjFtZW1VZloz?= =?utf-8?B?NDZ3dHZwcVArblloZ0FmM1czK0JXVXo0eG5ScDU3U01za2RTOG94cUsvamtz?= =?utf-8?B?ZXlGdUxTNlhGNzdHSkZSZjlCSENvYXV5am9EVDdtOHMxZmtsb21Fc20rMnBh?= =?utf-8?B?OEs0RW92WXRjdUttS1oyOU1pQStIZExPM1VEYVhGWVRNbm10SWtJZG5RT2tY?= =?utf-8?B?REFzYVJIT2VhejlBOXU1Y2g0cXBFeG81S1ZJQllRdDRnTEV6dWMzZ1o3cnB4?= =?utf-8?B?Wmx1L29CWVpyWUQyOUNpT3M1R1QvT3A1SHhHVjVWZFBveklvc3hya2tQUjA4?= =?utf-8?B?Z1FnMG1aQlFGY3NKUXZIeDc0WFFRR241bGlmUDQzS25EaGxwT0QyMlp2NGZG?= =?utf-8?B?VTVTYVFDQVdlaGpndHVWd01mQUNCMzdrbS9xSTJ5TDkreGYwck5MMEN2aWNQ?= =?utf-8?B?VDY5MmRRRHpWQkVPcGIzRVhGMDZDOCs1R3NFSkJRMGFPUWRZZ1k5SUdRTklm?= =?utf-8?B?V1I0M3lZdWkxNEhDbUZ2cVczaTNhSzJwYVpxR3lsYTZhc1k5M0FsOGRtdXk1?= =?utf-8?B?aVc3OGJmQ0pBTE4wdUdsNEhmOUE2WEFnRGZPdC91ZnR3OVRaV0tabnozb3Ev?= =?utf-8?B?VmJDR0hsNngwR1BwRTg5YUFmc1VCZjJNeFIvZlpWWEdzWVFYRWtSdml4ZWVJ?= =?utf-8?B?LytKUnArbGZGVVpBMU5WWWUyOWdRai95dVkydWJCWDRhUmxaS0d1OTF3anp3?= =?utf-8?B?R21xeXZTem40TjNZTUxaWTZLWGpFRVpVdjk3OG04TzExZ2t0L2hORmN5M05T?= =?utf-8?B?VzJ5VFZSU3lsVkoyZjRhdnd1dXc5VmQrSVJuSkdURVFUdGZyc25QTkxOeUk1?= =?utf-8?B?ZnhhcU1TSnlwZHpFUjNpcktMQUxtdUU3UnY0YVF6dnN4S1BrTWxoNjNyMHZj?= =?utf-8?B?L1dEVStGeHZKMFN6UHlkR0I2TGI5L21NM2UwYUhoTWd0cUZ0N2FSOFhVSHZs?= =?utf-8?B?OWFjZzBWTk1TaFh6S2E3ZE1TamNQaHhHaVQvNDhiZmNaWUlSWmtCNFJWTW9r?= =?utf-8?B?dHdZVFB4dTJVK3V2SlRNTzdib1Z6TG1UanhvS3VxNFg4S0kvT1ZFM1V2emZG?= =?utf-8?B?SWdndTUreXQvV1VvcUdBdmhnbThLejRKYTlSblBnbCtIWTF3RFpsN0lCSjFT?= =?utf-8?B?aUFiVWtWOVVKTnFhV2Y1dnhRMDJiTTZ4THYzM3lBLzBVaWxDaHVhTUt3WWRy?= =?utf-8?B?U2ZUaFBuUS9ia0NtcEQvQ0lJa1dkaW55c2tCOGMyZjVTVFN6ZlFKTkdyYlhD?= =?utf-8?B?MFFNWC9wODlaanNVek9MeGNkMWRyd2o0QytBdkxZanJvbGhEeFNndTlLKzhQ?= =?utf-8?B?TGFhL3dIVDl3L1BEMWlnYkpFdVRtYkxZSTZ1WWpSVUFCdm9Yb0hhRlgxU0du?= =?utf-8?Q?vlU++L8GZBvcEqm/ylXmdyM=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: f1bdeb3f-f3e6-4f5a-f75a-08d9a8d56141 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2021 07:47:46.0580 (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: 3wfooSAkrry+4hM6qhnVAV0zg+DkerzW5w71981mGoIrTyI5dwZqmh6+XpeNdNUqSuHd4OuL9bE1yzqqOpfc1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2558 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 bmdAaW50ZWwuY29tPg0KPiBTZW50OiBNb25kYXksIE5vdmVtYmVyIDE1LCAyMDIxIDg6MzIgUE0N Cj4gVG86IG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhp YUBpbnRlbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IEh1LCBKaWF5dSA8amlheXUuaHVAaW50 ZWwuY29tPjsgV2FuZywgWXVhblgNCj4gPHl1YW54LndhbmdAaW50ZWwuY29tPjsgSGUsIFhpbmdn dWFuZyA8eGluZ2d1YW5nLmhlQGludGVsLmNvbT47IERpbmcsIFh1YW4NCj4gPHh1YW4uZGluZ0Bp bnRlbC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCB2NF0gdmhvc3Q6IGZpeCBwaHlzaWNhbCBhZGRy ZXNzIG1hcHBpbmcNCj4gDQo+IFdoZW4gY2hvb3NpbmcgSU9WQSBhcyBQQSBtb2RlLCBJT1ZBIGlz IGxpa2VseSB0byBiZSBkaXNjb250aW51b3VzLA0KPiB3aGljaCByZXF1aXJlcyBwYWdlIGJ5IHBh Z2UgbWFwcGluZyBmb3IgRE1BIGRldmljZXMuIFRvIGJlIGNvbnNpc3RlbnQsDQo+IHRoaXMgcGF0 Y2ggaW1wbGVtZW50cyBwYWdlIGJ5IHBhZ2UgbWFwcGluZyBpbnN0ZWFkIG9mIG1hcHBpbmcgYXQg dGhlDQo+IHJlZ2lvbiBncmFudWxhcml0eSBmb3IgYm90aCBJT1ZBIGFzIFZBIGFuZCBQQSBtb2Rl Lg0KPiANCj4gRml4ZXM6IDdjNjFmYTA4YjcxNiAoInZob3N0OiBlbmFibGUgSU9NTVUgZm9yIGFz eW5jIHZob3N0IikNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFh1YW4gRGluZyA8eHVhbi5kaW5nQGlu dGVsLmNvbT4NCj4gLS0tDQo+IHY0Og0KPiAqIFJlbW92ZSB1bm5lc3NhcnkgRU5PU1VQIGNoZWNr Lg0KPiAqIEFkanVzdCByZXR1cm4gdHlwZS4NCj4gDQo+IHYzOg0KPiAqIEZpeCBjb21taXQgdGl0 bGUuDQo+IA0KPiB2MjoNCj4gKiBGaXggYSBmb3JtYXQgaXNzdWUuDQo+IC0tLQ0KPiAgbGliL3Zo b3N0L3Zob3N0LmggICAgICB8ICAgMSArDQo+ICBsaWIvdmhvc3Qvdmhvc3RfdXNlci5jIHwgMTEx ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAyIGZpbGVzIGNo YW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdp dCBhL2xpYi92aG9zdC92aG9zdC5oIGIvbGliL3Zob3N0L3Zob3N0LmgNCj4gaW5kZXggNzA4NWUw ODg1Yy4uZDI0NjUzOGNhNSAxMDA2NDQNCj4gLS0tIGEvbGliL3Zob3N0L3Zob3N0LmgNCj4gKysr IGIvbGliL3Zob3N0L3Zob3N0LmgNCj4gQEAgLTM1NSw2ICszNTUsNyBAQCBzdHJ1Y3QgdnJpbmdf cGFja2VkX2Rlc2NfZXZlbnQgew0KPiAgc3RydWN0IGd1ZXN0X3BhZ2Ugew0KPiAgCXVpbnQ2NF90 IGd1ZXN0X3BoeXNfYWRkcjsNCj4gIAl1aW50NjRfdCBob3N0X3BoeXNfYWRkcjsNCg0KVGhpcyBu YW1lIGNvbmZ1c2VkIG1lIHdoZW4gZG9pbmcgcmV2aWV3OiB0aGlzIHNob3VsZCBiZSBob3N0X2lv dmEuDQoNCkNvdWxkIHlvdSBoZWxwIHJlbmFtZSBpdCBpbiB0aGUgcGF0Y2g/DQoNCj4gKwl1aW50 NjRfdCBob3N0X3VzZXJfYWRkcjsNCj4gIAl1aW50NjRfdCBzaXplOw0KPiAgfTsNCj4gDQo+IGRp ZmYgLS1naXQgYS9saWIvdmhvc3Qvdmhvc3RfdXNlci5jIGIvbGliL3Zob3N0L3Zob3N0X3VzZXIu Yw0KPiBpbmRleCBhNzgxMzQ2YzRkLi4wYTlkYzMzNTBmIDEwMDY0NA0KPiAtLS0gYS9saWIvdmhv c3Qvdmhvc3RfdXNlci5jDQo+ICsrKyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gQEAgLTE0 Myw1NyArMTQzLDU2IEBAIGdldF9ibGtfc2l6ZShpbnQgZmQpDQo+ICAJcmV0dXJuIHJldCA9PSAt MSA/ICh1aW50NjRfdCktMSA6ICh1aW50NjRfdClzdGF0LnN0X2Jsa3NpemU7DQo+ICB9DQo+IA0K PiAtc3RhdGljIGludA0KPiAtYXN5bmNfZG1hX21hcChzdHJ1Y3QgcnRlX3Zob3N0X21lbV9yZWdp b24gKnJlZ2lvbiwgYm9vbCBkb19tYXApDQo+ICtzdGF0aWMgdm9pZA0KPiArYXN5bmNfZG1hX21h cChzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBib29sIGRvX21hcCkNCj4gIHsNCj4gLQl1aW50NjRf dCBob3N0X2lvdmE7DQo+ICAJaW50IHJldCA9IDA7DQo+IC0NCj4gLQlob3N0X2lvdmEgPSBydGVf bWVtX3ZpcnQyaW92YSgodm9pZCAqKSh1aW50cHRyX3QpcmVnaW9uLT5ob3N0X3VzZXJfYWRkcik7 DQo+ICsJdWludDMyX3QgaTsNCj4gKwlzdHJ1Y3QgZ3Vlc3RfcGFnZSAqcGFnZTsNCj4gIAlpZiAo ZG9fbWFwKSB7DQo+IC0JCS8qIEFkZCBtYXBwZWQgcmVnaW9uIGludG8gdGhlIGRlZmF1bHQgY29u dGFpbmVyIG9mIERQREsuICovDQo+IC0JCXJldCA9IHJ0ZV92ZmlvX2NvbnRhaW5lcl9kbWFfbWFw KFJURV9WRklPX0RFRkFVTFRfQ09OVEFJTkVSX0ZELA0KPiAtCQkJCQkJIHJlZ2lvbi0+aG9zdF91 c2VyX2FkZHIsDQo+IC0JCQkJCQkgaG9zdF9pb3ZhLA0KPiAtCQkJCQkJIHJlZ2lvbi0+c2l6ZSk7 DQo+IC0JCWlmIChyZXQpIHsNCj4gLQkJCS8qDQo+IC0JCQkgKiBETUEgZGV2aWNlIG1heSBiaW5k IHdpdGgga2VybmVsIGRyaXZlciwgaW4gdGhpcyBjYXNlLA0KPiAtCQkJICogd2UgZG9uJ3QgbmVl ZCB0byBwcm9ncmFtIElPTU1VIG1hbnVhbGx5LiBIb3dldmVyLCBpZiBubw0KPiAtCQkJICogZGV2 aWNlIGlzIGJvdW5kIHdpdGggdmZpby91aW8gaW4gRFBESywgYW5kIHZmaW8ga2VybmVsDQo+IC0J CQkgKiBtb2R1bGUgaXMgbG9hZGVkLCB0aGUgQVBJIHdpbGwgc3RpbGwgYmUgY2FsbGVkIGFuZCBy ZXR1cm4NCj4gLQkJCSAqIHdpdGggRU5PREVWL0VOT1NVUC4NCj4gLQkJCSAqDQo+IC0JCQkgKiBE UERLIHZmaW8gb25seSByZXR1cm5zIEVOT0RFVi9FTk9TVVAgaW4gdmVyeSBzaW1pbGFyDQo+IC0J CQkgKiBzaXR1YXRpb25zKHZmaW8gZWl0aGVyIHVuc3VwcG9ydGVkLCBvciBzdXBwb3J0ZWQNCj4g LQkJCSAqIGJ1dCBubyBkZXZpY2VzIGZvdW5kKS4gRWl0aGVyIHdheSwgbm8gbWFwcGluZ3MgY291 bGQgYmUNCj4gLQkJCSAqIHBlcmZvcm1lZC4gV2UgdHJlYXQgaXQgYXMgbm9ybWFsIGNhc2UgaW4g YXN5bmMgcGF0aC4NCj4gLQkJCSAqLw0KPiAtCQkJaWYgKHJ0ZV9lcnJubyA9PSBFTk9ERVYgfHwg cnRlX2Vycm5vID09IEVOT1RTVVApDQo+IC0JCQkJcmV0dXJuIDA7DQo+IC0NCj4gLQkJCVZIT1NU X0xPR19DT05GSUcoRVJSLCAiRE1BIGVuZ2luZSBtYXAgZmFpbGVkXG4iKTsNCj4gLQkJCS8qIERN QSBtYXBwaW5nIGVycm9ycyB3b24ndCBzdG9wIFZIU1RfVVNFUl9TRVRfTUVNX1RBQkxFLiAqLw0K PiAtCQkJcmV0dXJuIDA7DQo+ICsJCWZvciAoaSA9IDA7IGkgPCBkZXYtPm5yX2d1ZXN0X3BhZ2Vz OyBpKyspIHsNCj4gKwkJCXBhZ2UgPSAmZGV2LT5ndWVzdF9wYWdlc1tpXTsNCj4gKwkJCXJldCA9 DQo+IHJ0ZV92ZmlvX2NvbnRhaW5lcl9kbWFfbWFwKFJURV9WRklPX0RFRkFVTFRfQ09OVEFJTkVS X0ZELA0KPiArCQkJCQkJCSBwYWdlLT5ob3N0X3VzZXJfYWRkciwNCj4gKwkJCQkJCQkgcGFnZS0+ aG9zdF9waHlzX2FkZHIsDQo+ICsJCQkJCQkJIHBhZ2UtPnNpemUpOw0KPiArCQkJaWYgKHJldCkg ew0KPiArCQkJCS8qDQo+ICsJCQkJICogRE1BIGRldmljZSBtYXkgYmluZCB3aXRoIGtlcm5lbCBk cml2ZXIsIGluIHRoaXMNCj4gY2FzZSwNCj4gKwkJCQkgKiB3ZSBkb24ndCBuZWVkIHRvIHByb2dy YW0gSU9NTVUgbWFudWFsbHkuIEhvd2V2ZXIsDQo+IGlmIG5vDQo+ICsJCQkJICogZGV2aWNlIGlz IGJvdW5kIHdpdGggdmZpby91aW8gaW4gRFBESywgYW5kIHZmaW8NCj4ga2VybmVsDQo+ICsJCQkJ ICogbW9kdWxlIGlzIGxvYWRlZCwgdGhlIEFQSSB3aWxsIHN0aWxsIGJlIGNhbGxlZCBhbmQNCj4g cmV0dXJuDQo+ICsJCQkJICogd2l0aCBFTk9ERVYuDQo+ICsJCQkJICoNCj4gKwkJCQkgKiBEUERL IHZmaW8gb25seSByZXR1cm5zIEVOT0RFViBpbiB2ZXJ5IHNpbWlsYXINCj4gc2l0dWF0aW9ucw0K PiArCQkJCSAqICh2ZmlvIGVpdGhlciB1bnN1cHBvcnRlZCwgb3Igc3VwcG9ydGVkIGJ1dCBubw0K PiBkZXZpY2VzIGZvdW5kKS4NCj4gKwkJCQkgKiBFaXRoZXIgd2F5LCBubyBtYXBwaW5ncyBjb3Vs ZCBiZSBwZXJmb3JtZWQuIFdlDQo+IHRyZWF0IGl0IGFzDQo+ICsJCQkJICogbm9ybWFsIGNhc2Ug aW4gYXN5bmMgcGF0aC4gVGhpcyBpcyBhIHdvcmthcm91bmQuDQo+ICsJCQkJICovDQo+ICsJCQkJ aWYgKHJ0ZV9lcnJubyA9PSBFTk9ERVYpDQo+ICsJCQkJCXJldHVybjsNCj4gKw0KPiArCQkJCS8q IERNQSBtYXBwaW5nIGVycm9ycyB3b24ndCBzdG9wDQo+IFZIU1RfVVNFUl9TRVRfTUVNX1RBQkxF LiAqLw0KDQpBIGNvbW1lbnQgaW4gdjMgaXMgbWlzc2VkOg0KDQpWSFNUIC0+IFZIT1NUDQoNClRo YW5rcywNCkNoZW5ibw0KDQo+ICsJCQkJVkhPU1RfTE9HX0NPTkZJRyhFUlIsICJETUEgZW5naW5l IG1hcCBmYWlsZWRcbiIpOw0KPiArCQkJfQ0KPiAgCQl9DQo+IA0KPiAgCX0gZWxzZSB7DQo+IC0J CS8qIFJlbW92ZSBtYXBwZWQgcmVnaW9uIGZyb20gdGhlIGRlZmF1bHQgY29udGFpbmVyIG9mIERQ REsuICovDQo+IC0JCXJldCA9IHJ0ZV92ZmlvX2NvbnRhaW5lcl9kbWFfdW5tYXAoUlRFX1ZGSU9f REVGQVVMVF9DT05UQUlORVJfRkQsDQo+IC0JCQkJCQkgICByZWdpb24tPmhvc3RfdXNlcl9hZGRy LA0KPiAtCQkJCQkJICAgaG9zdF9pb3ZhLA0KPiAtCQkJCQkJICAgcmVnaW9uLT5zaXplKTsNCj4g LQkJaWYgKHJldCkgew0KPiAtCQkJLyogbGlrZSBETUEgbWFwLCBpZ25vcmUgdGhlIGtlcm5lbCBk cml2ZXIgY2FzZSB3aGVuIHVubWFwLg0KPiAqLw0KPiAtCQkJaWYgKHJ0ZV9lcnJubyA9PSBFSU5W QUwpDQo+IC0JCQkJcmV0dXJuIDA7DQo+IC0NCj4gLQkJCVZIT1NUX0xPR19DT05GSUcoRVJSLCAi RE1BIGVuZ2luZSB1bm1hcCBmYWlsZWRcbiIpOw0KPiAtCQkJcmV0dXJuIHJldDsNCj4gKwkJZm9y IChpID0gMDsgaSA8IGRldi0+bnJfZ3Vlc3RfcGFnZXM7IGkrKykgew0KPiArCQkJcGFnZSA9ICZk ZXYtPmd1ZXN0X3BhZ2VzW2ldOw0KPiArCQkJcmV0ID0NCj4gcnRlX3ZmaW9fY29udGFpbmVyX2Rt YV91bm1hcChSVEVfVkZJT19ERUZBVUxUX0NPTlRBSU5FUl9GRCwNCj4gKwkJCQkJCQkgICBwYWdl LT5ob3N0X3VzZXJfYWRkciwNCj4gKwkJCQkJCQkgICBwYWdlLT5ob3N0X3BoeXNfYWRkciwNCj4g KwkJCQkJCQkgICBwYWdlLT5zaXplKTsNCj4gKwkJCWlmIChyZXQpIHsNCj4gKwkJCQkvKiBsaWtl IERNQSBtYXAsIGlnbm9yZSB0aGUga2VybmVsIGRyaXZlciBjYXNlIHdoZW4NCj4gdW5tYXAuICov DQo+ICsJCQkJaWYgKHJ0ZV9lcnJubyA9PSBFSU5WQUwpDQo+ICsJCQkJCXJldHVybjsNCj4gKw0K PiArCQkJCVZIT1NUX0xPR19DT05GSUcoRVJSLCAiRE1BIGVuZ2luZSB1bm1hcCBmYWlsZWRcbiIp Ow0KPiArCQkJfQ0KPiAgCQl9DQo+ICAJfQ0KPiAtDQo+IC0JcmV0dXJuIHJldDsNCj4gIH0NCj4g DQo+ICBzdGF0aWMgdm9pZA0KPiBAQCAtMjA1LDEyICsyMDQsMTIgQEAgZnJlZV9tZW1fcmVnaW9u KHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYpDQo+ICAJaWYgKCFkZXYgfHwgIWRldi0+bWVtKQ0KPiAg CQlyZXR1cm47DQo+IA0KPiArCWlmIChkZXYtPmFzeW5jX2NvcHkgJiYgcnRlX3ZmaW9faXNfZW5h YmxlZCgidmZpbyIpKQ0KPiArCQlhc3luY19kbWFfbWFwKGRldiwgZmFsc2UpOw0KPiArDQo+ICAJ Zm9yIChpID0gMDsgaSA8IGRldi0+bWVtLT5ucmVnaW9uczsgaSsrKSB7DQo+ICAJCXJlZyA9ICZk ZXYtPm1lbS0+cmVnaW9uc1tpXTsNCj4gIAkJaWYgKHJlZy0+aG9zdF91c2VyX2FkZHIpIHsNCj4g LQkJCWlmIChkZXYtPmFzeW5jX2NvcHkgJiYgcnRlX3ZmaW9faXNfZW5hYmxlZCgidmZpbyIpKQ0K PiAtCQkJCWFzeW5jX2RtYV9tYXAocmVnLCBmYWxzZSk7DQo+IC0NCj4gIAkJCW11bm1hcChyZWct Pm1tYXBfYWRkciwgcmVnLT5tbWFwX3NpemUpOw0KPiAgCQkJY2xvc2UocmVnLT5mZCk7DQo+ICAJ CX0NCj4gQEAgLTk3OCw3ICs5NzcsNyBAQCB2aG9zdF91c2VyX3NldF92cmluZ19iYXNlKHN0cnVj dCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gDQo+ICBzdGF0aWMgaW50DQo+ICBhZGRfb25lX2d1ZXN0 X3BhZ2Uoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgdWludDY0X3QgZ3Vlc3RfcGh5c19hZGRyLA0K PiAtCQkgICB1aW50NjRfdCBob3N0X3BoeXNfYWRkciwgdWludDY0X3Qgc2l6ZSkNCj4gKwkJICAg dWludDY0X3QgaG9zdF9waHlzX2FkZHIsIHVpbnQ2NF90IGhvc3RfdXNlcl9hZGRyLCB1aW50NjRf dCBzaXplKQ0KPiAgew0KPiAgCXN0cnVjdCBndWVzdF9wYWdlICpwYWdlLCAqbGFzdF9wYWdlOw0K PiAgCXN0cnVjdCBndWVzdF9wYWdlICpvbGRfcGFnZXM7DQo+IEBAIC0xMDA5LDYgKzEwMDgsNyBA QCBhZGRfb25lX2d1ZXN0X3BhZ2Uoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgdWludDY0X3QNCj4g Z3Vlc3RfcGh5c19hZGRyLA0KPiAgCXBhZ2UgPSAmZGV2LT5ndWVzdF9wYWdlc1tkZXYtPm5yX2d1 ZXN0X3BhZ2VzKytdOw0KPiAgCXBhZ2UtPmd1ZXN0X3BoeXNfYWRkciA9IGd1ZXN0X3BoeXNfYWRk cjsNCj4gIAlwYWdlLT5ob3N0X3BoeXNfYWRkciAgPSBob3N0X3BoeXNfYWRkcjsNCj4gKwlwYWdl LT5ob3N0X3VzZXJfYWRkciA9IGhvc3RfdXNlcl9hZGRyOw0KPiAgCXBhZ2UtPnNpemUgPSBzaXpl Ow0KPiANCj4gIAlyZXR1cm4gMDsNCj4gQEAgLTEwMjgsNyArMTAyOCw4IEBAIGFkZF9ndWVzdF9w YWdlcyhzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3QNCj4gcnRlX3Zob3N0X21lbV9yZWdp b24gKnJlZywNCj4gIAlzaXplID0gcGFnZV9zaXplIC0gKGd1ZXN0X3BoeXNfYWRkciAmIChwYWdl X3NpemUgLSAxKSk7DQo+ICAJc2l6ZSA9IFJURV9NSU4oc2l6ZSwgcmVnX3NpemUpOw0KPiANCj4g LQlpZiAoYWRkX29uZV9ndWVzdF9wYWdlKGRldiwgZ3Vlc3RfcGh5c19hZGRyLCBob3N0X3BoeXNf YWRkciwgc2l6ZSkgPCAwKQ0KPiArCWlmIChhZGRfb25lX2d1ZXN0X3BhZ2UoZGV2LCBndWVzdF9w aHlzX2FkZHIsIGhvc3RfcGh5c19hZGRyLA0KPiArCQkJICAgICAgIGhvc3RfdXNlcl9hZGRyLCBz aXplKSA8IDApDQo+ICAJCXJldHVybiAtMTsNCj4gDQo+ICAJaG9zdF91c2VyX2FkZHIgICs9IHNp emU7DQo+IEBAIC0xMDQwLDcgKzEwNDEsNyBAQCBhZGRfZ3Vlc3RfcGFnZXMoc3RydWN0IHZpcnRp b19uZXQgKmRldiwgc3RydWN0DQo+IHJ0ZV92aG9zdF9tZW1fcmVnaW9uICpyZWcsDQo+ICAJCWhv c3RfcGh5c19hZGRyID0gcnRlX21lbV92aXJ0MmlvdmEoKHZvaWQgKikodWludHB0cl90KQ0KPiAg CQkJCQkJICBob3N0X3VzZXJfYWRkcik7DQo+ICAJCWlmIChhZGRfb25lX2d1ZXN0X3BhZ2UoZGV2 LCBndWVzdF9waHlzX2FkZHIsIGhvc3RfcGh5c19hZGRyLA0KPiAtCQkJCXNpemUpIDwgMCkNCj4g KwkJCQkgICAgICAgaG9zdF91c2VyX2FkZHIsIHNpemUpIDwgMCkNCj4gIAkJCXJldHVybiAtMTsN Cj4gDQo+ICAJCWhvc3RfdXNlcl9hZGRyICArPSBzaXplOw0KPiBAQCAtMTIxNSw3ICsxMjE2LDYg QEAgdmhvc3RfdXNlcl9tbWFwX3JlZ2lvbihzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LA0KPiAgCXVp bnQ2NF90IG1tYXBfc2l6ZTsNCj4gIAl1aW50NjRfdCBhbGlnbm1lbnQ7DQo+ICAJaW50IHBvcHVs YXRlOw0KPiAtCWludCByZXQ7DQo+IA0KPiAgCS8qIENoZWNrIGZvciBtZW1vcnlfc2l6ZSArIG1t YXBfb2Zmc2V0IG92ZXJmbG93ICovDQo+ICAJaWYgKG1tYXBfb2Zmc2V0ID49IC1yZWdpb24tPnNp emUpIHsNCj4gQEAgLTEyNzQsMTQgKzEyNzQsNiBAQCB2aG9zdF91c2VyX21tYXBfcmVnaW9uKHN0 cnVjdCB2aXJ0aW9fbmV0ICpkZXYsDQo+ICAJCQlWSE9TVF9MT0dfQ09ORklHKEVSUiwgImFkZGlu ZyBndWVzdCBwYWdlcyB0byByZWdpb24NCj4gZmFpbGVkLlxuIik7DQo+ICAJCQlyZXR1cm4gLTE7 DQo+ICAJCX0NCj4gLQ0KPiAtCQlpZiAocnRlX3ZmaW9faXNfZW5hYmxlZCgidmZpbyIpKSB7DQo+ IC0JCQlyZXQgPSBhc3luY19kbWFfbWFwKHJlZ2lvbiwgdHJ1ZSk7DQo+IC0JCQlpZiAocmV0KSB7 DQo+IC0JCQkJVkhPU1RfTE9HX0NPTkZJRyhFUlIsICJDb25maWd1cmUgSU9NTVUgZm9yIERNQSBl bmdpbmUNCj4gZmFpbGVkXG4iKTsNCj4gLQkJCQlyZXR1cm4gLTE7DQo+IC0JCQl9DQo+IC0JCX0N Cj4gIAl9DQo+IA0KPiAgCVZIT1NUX0xPR19DT05GSUcoSU5GTywNCj4gQEAgLTE0MjAsNiArMTQx Miw5IEBAIHZob3N0X3VzZXJfc2V0X21lbV90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqKnBkZXYs DQo+IHN0cnVjdCBWaG9zdFVzZXJNc2cgKm1zZywNCj4gIAkJZGV2LT5tZW0tPm5yZWdpb25zKys7 DQo+ICAJfQ0KPiANCj4gKwlpZiAoZGV2LT5hc3luY19jb3B5ICYmIHJ0ZV92ZmlvX2lzX2VuYWJs ZWQoInZmaW8iKSkNCj4gKwkJYXN5bmNfZG1hX21hcChkZXYsIHRydWUpOw0KPiArDQo+ICAJaWYg KHZob3N0X3VzZXJfcG9zdGNvcHlfcmVnaXN0ZXIoZGV2LCBtYWluX2ZkLCBtc2cpIDwgMCkNCj4g IAkJZ290byBmcmVlX21lbV90YWJsZTsNCj4gDQo+IC0tDQo+IDIuMTcuMQ0KDQo=