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 7E2F7A0A0A; Fri, 22 Jan 2021 09:01:25 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EB144140D25; Fri, 22 Jan 2021 09:01:24 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 4F1E2140CFC for ; Fri, 22 Jan 2021 09:01:23 +0100 (CET) IronPort-SDR: QSAqQLYREgL5EfuAh8aKYPhWJMGhvo8EkTrDHXDLhi2iQFLRqgi2Hw1zYfg7CqEhCbBn4MY0mP 4SdXrDCuWBvw== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="175894898" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="175894898" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jan 2021 00:01:22 -0800 IronPort-SDR: eJ0YjJe04+4MTH8kAe1+IKDnoEeBWPv1Haz76BEJtTplj5KhjL8UfilkXELJmAsn2A2JlIa3h6 6UaGruwAuLFQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="385660690" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga008.jf.intel.com with ESMTP; 22 Jan 2021 00:01:21 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 22 Jan 2021 00:01:20 -0800 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 22 Jan 2021 00:01:19 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Fri, 22 Jan 2021 00:01:19 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 22 Jan 2021 00:01:19 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XbhvzO4wMISCoCEIqlvagFE3U+MCY+Vr6zzTGcNetzhySQMHSGBGoOHNhOwQ0eWRCyutiZVwWuw0d+iJNe3cNG16ByYDnJjI2E5w6F+M3LGAlLYvYVL3kUFz5GSPvq/sofU5MCbofmAONjadJFj0DZvnTm6rLtg6x0G5he3+7vjFPYPUeOOlaAlqtDQvEX1rPjn0lt7ofD46rbCN3/PscB6k0F9tB8jRaRdXOZAwjZqRivLYQ5/n72xxn2JnT6IawUMnvOZD04CdhsLcUJbfmn73Z9qLl5qPvAAdUYbawgHA9u1uLNGBmx10HfJRlXp+hwSi89DfHAfi/I/ppsMFTw== 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=CGyWjucFxLB4M+CP0JXPALFtVoMmFcLodLlkDnG/gh4=; b=JWPJY1KoHXqY4cWA5u6mHl0/WCXJiTHw/SRm/ZLH4jLbj9URO841OPtaTwUaAqfhGC8PVac2uXh6tKMSXLtMITZKdiEL0rAgRwq/5FYNfipRXwaTA00JzKpGL1/3nmUw5+gzgk7KctYZSjcquDLGPZ4ZlWxKhHZ0rZ6OPMK0OK3XKTjRQ5DJjHJ8sCCVsqstyROLrGqNeEqsxv/kgfkCMAWYAG5NAAsLYMVSxsqDIQ7w4C5iRz18VTnEo+ycpkT2FHhvR7L1pwsVfnZAqpm0FK5RptyoY0jmvdJQ1mKjLYEJ4InVYOmOy4658UaioomgB/sowwx5cvDCCFLbrMfiKQ== 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=CGyWjucFxLB4M+CP0JXPALFtVoMmFcLodLlkDnG/gh4=; b=ZNiFoabI46CDZwYv8sltvmHp4SxoJ9vk5d1Qxyyb/+rYSTbRlvPBPXMG0Mxf6YtVpMPxIdXdCQBMjTsbmKB5VpR5B6wO0n7JQ8UJySyiJJKIFDJ7au05p65Tt7+eNxrCsoDn4FCwYFFPuDty8XzGtOB0fG7bhoBDiS6OHhZT5zI= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3981.namprd11.prod.outlook.com (2603:10b6:208:13d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Fri, 22 Jan 2021 08:01:18 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed%7]) with mapi id 15.20.3763.014; Fri, 22 Jan 2021 08:01:18 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH v2 31/44] net/virtio: add Virtio-user vring file ops Thread-Index: AQHW7qn586XK5aDcXkCJ5DBnLXooEaozSgEA Date: Fri, 22 Jan 2021 08:01:18 +0000 Message-ID: References: <20210119212507.1043636-1-maxime.coquelin@redhat.com> <20210119212507.1043636-32-maxime.coquelin@redhat.com> In-Reply-To: <20210119212507.1043636-32-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7a3f99c9-97b6-4e28-1430-08d8beabe65d x-ms-traffictypediagnostic: MN2PR11MB3981: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:369; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3zW2rD4CYqR4Odu9dOQnkfHkQYE2OVb5pz85ZEA3Zgmi/9i3PtE6BKUZvI/yZh+4qav22HSVIQT72UhoDaJlzrJTiuIpk8g2RkjmegLjBc6JB0Nr+og5UOrfrU7kvm7XqiyiWiTCkXko7bdNEZYbxetszH0ieHw2Pfjm2nh7O63t7gFkDNRp0nvkIYdl8a0bGR2IJDdYIovzc8IjPoSMqxXyqRVJITGzmWnTUUw0zjLgUimu62QlKD+8txKlLvTNxjpMA9nf4/hMlGIUkHcQzHqCepYPIEmCRB+jCPXGrZZsTdyRfAOFPhu8FyTruW7eOyPjxdpj96jzKpvm1ogPQolxcyP0v1ONLTuRG7br6C67Kpx9YaVuxlmE1XV1NTEy0luXEzlRFbb6z1w5gS4/ohX1rC61ibUcP8OFVPcLMZ9AhXVgWGfgSGwCjBafy2UI74MFmaAqkY49RWIF90jPmq115aJ/YBf8kzTaiDnYaag8ApcILX4TddXQRqVmurxme5e1kU7ZGvyHQMnaWB+Rkg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(366004)(136003)(39860400002)(396003)(26005)(52536014)(5660300002)(86362001)(8936002)(316002)(6506007)(186003)(53546011)(110136005)(2906002)(83380400001)(66556008)(55016002)(8676002)(478600001)(64756008)(76116006)(9686003)(66476007)(66946007)(66446008)(7696005)(33656002)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?UUZiWllNemduTHZlVVc3ZVpyZGxjWUdzVGZlRzc1SEFaNUZGWjZFa054ZkZB?= =?utf-8?B?aGV1YzUvMzB5UmU5QTNHZ3VvaUd5bkdWdVdTY2RSWDkyb21YWjlOMGloaGNl?= =?utf-8?B?WUxJbkZGZExBWjNRTWR5eVREWUJIaUczeHNtbVNJckd4Uk8yaGVCOU1vUytM?= =?utf-8?B?dWVxbXEreDl0bUdwdFlQRzRqeGZXK0pxNFZBQm1jcEh0TTRpYU8zbVRkWlB1?= =?utf-8?B?Vm50ZVVSN281ZnlWSFgzQlVJcjFVRDBoMzlOZ3BBWDNZWHdvYTdLR0xUaENC?= =?utf-8?B?bFplVWowY1UzYzN6RkJ0UUJUVTBBYVNHSHduMXRjZ2dYb1hZSXkzRzdNb1Iy?= =?utf-8?B?WGVXaDhySWxGVWVCL2JlUU0yWE9OQ0JLcmNzQUFla0dsTjVGZllnZGRDbjln?= =?utf-8?B?T3prd2hRYkFZK1RDQnE5aGVGakwvVW5RQVN2WnB0Vm1BenpwK2Eya2gyOEV2?= =?utf-8?B?OGd6UGJ2ZnM0aGhWeXV5ZWF1N2ZEVEdTc2xxUHpjc3RlUE9MUkNnSTJIQXJE?= =?utf-8?B?RGZ1bC8xZ3NGMVg4NHh0WTd5Q3NKeXhmVzZLYUE4bmdEeHlDNG8rT1RUR3Iz?= =?utf-8?B?UWY0SGFZSlplc2xqYWQwRGE0S1BtNGF5ekt6MnBtNG1xZlRYUUlMS3gyWUp4?= =?utf-8?B?aHFJZ2RqTmo1YXVwMDRYMlBzZDdyTEtkeXhIU0RqdGJTbCsrOFpiWUR3TkJB?= =?utf-8?B?LzVlWGk0bTZuSkNTcTVubGMyY3hlUWp1Rm5WcFh5bEZTQ3IxNlpHVEVhb3N1?= =?utf-8?B?aERTamhpb1JxVEV5WU53aS85YSsrWG9DVExnREFidWVaeXNLNXl1Z1pHSGIy?= =?utf-8?B?UlpnTmllemVvRUVLQlZpWVZIKzdiSGR6M2ZyTVkxYmxZekZ5Zzd4c2NaOFNt?= =?utf-8?B?ZWpDYzYvMmpJS2VmOGp6akQwaWgwM2hkZjJvK0cxRXczTWdUc1krcTBWTGN2?= =?utf-8?B?bzhYaFA4VmF1ZlpadWREdGQ4NWxXRzlPZVV4T0cvTHBVV1pRYmxFRUJ3Nmg4?= =?utf-8?B?d0E1OXVuQUVHRVRCZlJQZ21JbU40QWczb1FwU0Rud083OW5OaGFRcStuNzdk?= =?utf-8?B?dmt0M0xpUjV2UVJLTSt3dXJjeWprZkJVWEpOVml6K3pDOHdqWEZIK091N3Ji?= =?utf-8?B?VXNWamgyNmdWTjF6cGVubUJ3ZDkrWnNJOUZIQ3NIQjAwdWNBKzcyT25RWTBa?= =?utf-8?B?Q2NDT3pVck9kai9uSVcyeE90bTZ2ZXNSL1JQT3JvR2x0aXZwaGJQU1ZJWXpB?= =?utf-8?B?TVhPZC9tQXRMQk1zZnNRM3BtMExnS21jSzFvL0JnTGpxNE1HKytKMDRLcWpo?= =?utf-8?Q?9o3dEXC9XiMH4=3D?= x-ms-exchange-transport-forked: True 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: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7a3f99c9-97b6-4e28-1430-08d8beabe65d X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 08:01:18.5320 (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: 6BpEyASEdzE9YxDbqx3Kh+Tz74wzCsHAkpOdU0cRYy7Oi4Wa0U3d6gnZW9j6c1AauL9+tL/TXr+9mTlsitSSBg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3981 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 31/44] net/virtio: add Virtio-user vring file ops 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 Sender: "dev" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMjAs IDIwMjEgNToyNSBBTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhp YUBpbnRlbC5jb20+OyBvbGl2aWVyLm1hdHpANndpbmQuY29tOw0KPiBhbW9yZW5vekByZWRoYXQu Y29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tDQo+IENjOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjIgMzEvNDRdIG5l dC92aXJ0aW86IGFkZCBWaXJ0aW8tdXNlciB2cmluZyBmaWxlIG9wcw0KPiANCj4gVGhpcyBwYXRj aCBpbnRyb2R1Y2VzIG5ldyBjYWxsYmFja3MgZm9yIHNldHRpbmcNCj4gdnJpbmcgZmlsZXMgKGtp Y2sgYW5kIGNhbGwpLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIENvcXVlbGluIDxtYXhp bWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3VzZXIvdmhvc3QuaCAgICAgICAgfCAgMiArDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMgfCA0MSArKysrKysrKysrKysrKystLQ0KPiAgZHJpdmVy cy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYyAgIHwgNDYgKysrKysrKysrKysr KysrKystLQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYyAg IHwgMTggKysrKysrLS0NCj4gIC4uLi9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2Vy X2Rldi5jICB8ICA0ICstDQo+ICA1IGZpbGVzIGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDE0 IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fdXNlci92aG9zdC5oDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0 LmgNCj4gaW5kZXggMmQ0MzNkNTk2Ni4uOTRjNTI0NTQ3ZSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gKysrIGIvZHJpdmVycy9uZXQvdmly dGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gQEAgLTExOCw2ICsxMTgsOCBAQCBzdHJ1Y3Qgdmly dGlvX3VzZXJfYmFja2VuZF9vcHMgew0KPiAgCWludCAoKnNldF92cmluZ19udW0pKHN0cnVjdCB2 aXJ0aW9fdXNlcl9kZXYgKmRldiwgc3RydWN0DQo+IHZob3N0X3ZyaW5nX3N0YXRlICpzdGF0ZSk7 DQo+ICAJaW50ICgqc2V0X3ZyaW5nX2Jhc2UpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwg c3RydWN0DQo+IHZob3N0X3ZyaW5nX3N0YXRlICpzdGF0ZSk7DQo+ICAJaW50ICgqZ2V0X3ZyaW5n X2Jhc2UpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgc3RydWN0DQo+IHZob3N0X3ZyaW5n X3N0YXRlICpzdGF0ZSk7DQo+ICsJaW50ICgqc2V0X3ZyaW5nX2NhbGwpKHN0cnVjdCB2aXJ0aW9f dXNlcl9kZXYgKmRldiwgc3RydWN0DQo+IHZob3N0X3ZyaW5nX2ZpbGUgKmZpbGUpOw0KPiArCWlu dCAoKnNldF92cmluZ19raWNrKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHN0cnVjdA0K PiB2aG9zdF92cmluZ19maWxlICpmaWxlKTsNCj4gIAlpbnQgKCpzZW5kX3JlcXVlc3QpKHN0cnVj dCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gIAkJCSAgICBlbnVtIHZob3N0X3VzZXJfcmVxdWVz dCByZXEsDQo+ICAJCQkgICAgdm9pZCAqYXJnKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYw0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYw0KPiBpbmRleCBlMTJmZTc0ZjQ2Li5kYzUzNThi YzE1IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rf a2VybmVsLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X2tl cm5lbC5jDQo+IEBAIC0yNTksMTEgKzI1OSw0NCBAQCB2aG9zdF9rZXJuZWxfZ2V0X3ZyaW5nX2Jh c2Uoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiBzdHJ1Y3Qgdmhvc3RfdnJpbmdfc3Rh dA0KPiAgCXJldHVybiB2aG9zdF9rZXJuZWxfc2V0X3ZyaW5nKGRldiwgVkhPU1RfR0VUX1ZSSU5H X0JBU0UsIHN0YXRlKTsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF9rZXJuZWxf c2V0X3ZyaW5nX2ZpbGUoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50NjRfdCByZXEs DQo+ICsJCXN0cnVjdCB2aG9zdF92cmluZ19maWxlICpmaWxlKQ0KPiArew0KPiArCWludCByZXQs IGZkOw0KPiArCXVuc2lnbmVkIGludCBpbmRleCA9IGZpbGUtPmluZGV4Ow0KPiArDQo+ICsJLyog Q29udmVydCBmcm9tIHF1ZXVlIGluZGV4IHRvIHF1ZXVlLXBhaXIgJiBvZmZzZXQgKi8NCj4gKwlm ZCA9IGRldi0+dmhvc3RmZHNbZmlsZS0+aW5kZXggLyAyXTsNCj4gKwlmaWxlLT5pbmRleCAlPSAy Ow0KPiArDQo+ICsJcmV0ID0gdmhvc3Rfa2VybmVsX2lvY3RsKGZkLCByZXEsIGZpbGUpOw0KPiAr CWlmIChyZXQgPCAwKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBzZXQgdnJp bmcgZmlsZSAocmVxdWVzdCAlIiBQUkl1NjQgIikiLA0KPiByZXEpOw0KPiArCQlyZXR1cm4gLTE7 DQo+ICsJfQ0KPiArDQo+ICsJLyogcmVzdG9yZSBpbmRleCBiYWNrIHRvIHF1ZXVlIGluZGV4ICov DQo+ICsJZmlsZS0+aW5kZXggPSBpbmRleDsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiAr DQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF9rZXJuZWxfc2V0X3ZyaW5nX2tpY2soc3RydWN0IHZp cnRpb191c2VyX2RldiAqZGV2LCBzdHJ1Y3QNCj4gdmhvc3RfdnJpbmdfZmlsZSAqZmlsZSkNCj4g K3sNCj4gKwlyZXR1cm4gdmhvc3Rfa2VybmVsX3NldF92cmluZ19maWxlKGRldiwgVkhPU1RfU0VU X1ZSSU5HX0tJQ0ssIGZpbGUpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF9r ZXJuZWxfc2V0X3ZyaW5nX2NhbGwoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCBzdHJ1Y3QN Cj4gdmhvc3RfdnJpbmdfZmlsZSAqZmlsZSkNCj4gK3sNCj4gKwlyZXR1cm4gdmhvc3Rfa2VybmVs X3NldF92cmluZ19maWxlKGRldiwgVkhPU1RfU0VUX1ZSSU5HX0NBTEwsIGZpbGUpOw0KPiArfQ0K PiArDQo+ICBzdGF0aWMgdWludDY0X3Qgdmhvc3RfcmVxX3VzZXJfdG9fa2VybmVsW10gPSB7DQo+ ICAJW1ZIT1NUX1VTRVJfUkVTRVRfT1dORVJdID0gVkhPU1RfUkVTRVRfT1dORVIsDQo+IC0JW1ZI T1NUX1VTRVJfU0VUX1ZSSU5HX0NBTExdID0gVkhPU1RfU0VUX1ZSSU5HX0NBTEwsDQo+ICAJW1ZI T1NUX1VTRVJfU0VUX1ZSSU5HX0FERFJdID0gVkhPU1RfU0VUX1ZSSU5HX0FERFIsDQo+IC0JW1ZI T1NUX1VTRVJfU0VUX1ZSSU5HX0tJQ0tdID0gVkhPU1RfU0VUX1ZSSU5HX0tJQ0ssDQo+ICB9Ow0K PiANCj4gIHN0YXRpYyBpbnQNCj4gQEAgLTI4Myw4ICszMTYsNiBAQCB2aG9zdF9rZXJuZWxfc2Vu ZF9yZXF1ZXN0KHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gDQo+ICAJc3dpdGNoIChy ZXFfa2VybmVsKSB7DQo+ICAJY2FzZSBWSE9TVF9TRVRfVlJJTkdfQUREUjoNCj4gLQljYXNlIFZI T1NUX1NFVF9WUklOR19LSUNLOg0KPiAtCWNhc2UgVkhPU1RfU0VUX1ZSSU5HX0NBTEw6DQo+ICAJ CXF1ZXVlX3NlbCA9ICoodW5zaWduZWQgaW50ICopYXJnOw0KPiAgCQl2aG9zdGZkID0gZGV2LT52 aG9zdGZkc1txdWV1ZV9zZWwgLyAyXTsNCj4gIAkJKih1bnNpZ25lZCBpbnQgKilhcmcgPSBxdWV1 ZV9zZWwgJSAyOw0KPiBAQCAtNDQwLDYgKzQ3MSw4IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNr ZW5kX29wcyB2aXJ0aW9fb3BzX2tlcm5lbCA9IHsNCj4gIAkuc2V0X3ZyaW5nX251bSA9IHZob3N0 X2tlcm5lbF9zZXRfdnJpbmdfbnVtLA0KPiAgCS5zZXRfdnJpbmdfYmFzZSA9IHZob3N0X2tlcm5l bF9zZXRfdnJpbmdfYmFzZSwNCj4gIAkuZ2V0X3ZyaW5nX2Jhc2UgPSB2aG9zdF9rZXJuZWxfZ2V0 X3ZyaW5nX2Jhc2UsDQo+ICsJLnNldF92cmluZ19jYWxsID0gdmhvc3Rfa2VybmVsX3NldF92cmlu Z19jYWxsLA0KPiArCS5zZXRfdnJpbmdfa2ljayA9IHZob3N0X2tlcm5lbF9zZXRfdnJpbmdfa2lj aywNCj4gIAkuc2VuZF9yZXF1ZXN0ID0gdmhvc3Rfa2VybmVsX3NlbmRfcmVxdWVzdCwNCj4gIAku ZW5hYmxlX3FwID0gdmhvc3Rfa2VybmVsX2VuYWJsZV9xdWV1ZV9wYWlyDQo+ICB9Ow0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYw0KPiBi L2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF91c2VyLmMNCj4gaW5kZXggYzM5 YmUyNGNlNC4uMDZkMTdjYWRjYiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3Zp cnRpb191c2VyL3Zob3N0X3VzZXIuYw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlv X3VzZXIvdmhvc3RfdXNlci5jDQo+IEBAIC00OTgsMTMgKzQ5OCw1MSBAQCB2aG9zdF91c2VyX2dl dF92cmluZ19iYXNlKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gc3RydWN0IHZob3N0 X3ZyaW5nX3N0YXRlDQo+ICAJcmV0dXJuIC0xOw0KPiAgfQ0KPiANCj4gK3N0YXRpYyBpbnQNCj4g K3Zob3N0X3VzZXJfc2V0X3ZyaW5nX2ZpbGUoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCBl bnVtDQo+IHZob3N0X3VzZXJfcmVxdWVzdCByZXEsDQo+ICsJCXN0cnVjdCB2aG9zdF92cmluZ19m aWxlICpmaWxlKQ0KPiArew0KPiArCWludCByZXQ7DQo+ICsJaW50IGZkID0gZmlsZS0+ZmQ7DQo+ ICsJaW50IG51bV9mZCA9IDA7DQo+ICsJc3RydWN0IHZob3N0X3VzZXJfbXNnIG1zZyA9IHsNCj4g KwkJLnJlcXVlc3QgPSByZXEsDQo+ICsJCS5mbGFncyA9IFZIT1NUX1VTRVJfVkVSU0lPTiwNCj4g KwkJLnNpemUgPSBzaXplb2YobXNnLnBheWxvYWQudTY0KSwNCj4gKwkJLnBheWxvYWQudTY0ID0g ZmlsZS0+aW5kZXggJiBWSE9TVF9VU0VSX1ZSSU5HX0lEWF9NQVNLLA0KPiArCX07DQo+ICsNCj4g KwlpZiAoZmQgPj0gMCkNCj4gKwkJbnVtX2ZkKys7DQo+ICsJZWxzZQ0KPiArCQltc2cucGF5bG9h ZC51NjQgfD0gVkhPU1RfVVNFUl9WUklOR19OT0ZEX01BU0s7DQo+ICsNCj4gKwlyZXQgPSB2aG9z dF91c2VyX3dyaXRlKGRldi0+dmhvc3RmZCwgJm1zZywgJmZkLCBudW1fZmQpOw0KPiArCWlmIChy ZXQgPCAwKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBzZXQgdnJpbmcgZmls ZSAocmVxdWVzdCAlZCkiLCByZXEpOw0KPiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KPiArDQo+ICsJ cmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3VzZXJfc2V0X3Zy aW5nX2NhbGwoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCBzdHJ1Y3QNCj4gdmhvc3RfdnJp bmdfZmlsZSAqZmlsZSkNCj4gK3sNCj4gKwlyZXR1cm4gdmhvc3RfdXNlcl9zZXRfdnJpbmdfZmls ZShkZXYsIFZIT1NUX1VTRVJfU0VUX1ZSSU5HX0NBTEwsIGZpbGUpOw0KPiArfQ0KPiArDQo+ICtz dGF0aWMgaW50DQo+ICt2aG9zdF91c2VyX3NldF92cmluZ19raWNrKHN0cnVjdCB2aXJ0aW9fdXNl cl9kZXYgKmRldiwgc3RydWN0DQo+IHZob3N0X3ZyaW5nX2ZpbGUgKmZpbGUpDQo+ICt7DQo+ICsJ cmV0dXJuIHZob3N0X3VzZXJfc2V0X3ZyaW5nX2ZpbGUoZGV2LCBWSE9TVF9VU0VSX1NFVF9WUklO R19LSUNLLCBmaWxlKTsNCj4gK30NCj4gKw0KPiAgc3RhdGljIHN0cnVjdCB2aG9zdF91c2VyX21z ZyBtOw0KPiANCj4gIGNvbnN0IGNoYXIgKiBjb25zdCB2aG9zdF9tc2dfc3RyaW5nc1tdID0gew0K PiAgCVtWSE9TVF9VU0VSX1JFU0VUX09XTkVSXSA9ICJWSE9TVF9SRVNFVF9PV05FUiIsDQo+IC0J W1ZIT1NUX1VTRVJfU0VUX1ZSSU5HX0NBTExdID0gIlZIT1NUX1NFVF9WUklOR19DQUxMIiwNCj4g IAlbVkhPU1RfVVNFUl9TRVRfVlJJTkdfQUREUl0gPSAiVkhPU1RfU0VUX1ZSSU5HX0FERFIiLA0K PiAtCVtWSE9TVF9VU0VSX1NFVF9WUklOR19LSUNLXSA9ICJWSE9TVF9TRVRfVlJJTkdfS0lDSyIs DQo+ICAJW1ZIT1NUX1VTRVJfU0VUX1NUQVRVU10gPSAiVkhPU1RfU0VUX1NUQVRVUyIsDQo+ICAJ W1ZIT1NUX1VTRVJfR0VUX1NUQVRVU10gPSAiVkhPU1RfR0VUX1NUQVRVUyIsDQo+ICB9Ow0KPiBA QCAtNTc3LDggKzYxNSw2IEBAIHZob3N0X3VzZXJfc29jayhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2 ICpkZXYsDQo+ICAJCW1zZy5zaXplID0gc2l6ZW9mKG0ucGF5bG9hZC5hZGRyKTsNCj4gIAkJYnJl YWs7DQo+IA0KPiAtCWNhc2UgVkhPU1RfVVNFUl9TRVRfVlJJTkdfS0lDSzoNCj4gLQljYXNlIFZI T1NUX1VTRVJfU0VUX1ZSSU5HX0NBTEw6DQo+ICAJY2FzZSBWSE9TVF9VU0VSX1NFVF9WUklOR19F UlI6DQo+ICAJCWZpbGUgPSBhcmc7DQo+ICAJCW1zZy5wYXlsb2FkLnU2NCA9IGZpbGUtPmluZGV4 ICYgVkhPU1RfVVNFUl9WUklOR19JRFhfTUFTSzsNCj4gQEAgLTc0OSw2ICs3ODUsOCBAQCBzdHJ1 Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc191c2VyID0gew0KPiAgCS5zZXRf dnJpbmdfbnVtID0gdmhvc3RfdXNlcl9zZXRfdnJpbmdfbnVtLA0KPiAgCS5zZXRfdnJpbmdfYmFz ZSA9IHZob3N0X3VzZXJfc2V0X3ZyaW5nX2Jhc2UsDQo+ICAJLmdldF92cmluZ19iYXNlID0gdmhv c3RfdXNlcl9nZXRfdnJpbmdfYmFzZSwNCj4gKwkuc2V0X3ZyaW5nX2NhbGwgPSB2aG9zdF91c2Vy X3NldF92cmluZ19jYWxsLA0KPiArCS5zZXRfdnJpbmdfa2ljayA9IHZob3N0X3VzZXJfc2V0X3Zy aW5nX2tpY2ssDQo+ICAJLnNlbmRfcmVxdWVzdCA9IHZob3N0X3VzZXJfc29jaywNCj4gIAkuZW5h YmxlX3FwID0gdmhvc3RfdXNlcl9lbmFibGVfcXVldWVfcGFpcg0KPiAgfTsNCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gYi9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+IGluZGV4IDMyMzc1MTA5 M2EuLjMwNGE4MDhiNTUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f dXNlci92aG9zdF92ZHBhLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2Vy L3Zob3N0X3ZkcGEuYw0KPiBAQCAtMzgsOSArMzgsNyBAQA0KPiANCj4gIHN0YXRpYyB1aW50NjRf dCB2aG9zdF9yZXFfdXNlcl90b192ZHBhW10gPSB7DQo+ICAJW1ZIT1NUX1VTRVJfUkVTRVRfT1dO RVJdID0gVkhPU1RfUkVTRVRfT1dORVIsDQo+IC0JW1ZIT1NUX1VTRVJfU0VUX1ZSSU5HX0NBTExd ID0gVkhPU1RfU0VUX1ZSSU5HX0NBTEwsDQo+ICAJW1ZIT1NUX1VTRVJfU0VUX1ZSSU5HX0FERFJd ID0gVkhPU1RfU0VUX1ZSSU5HX0FERFIsDQo+IC0JW1ZIT1NUX1VTRVJfU0VUX1ZSSU5HX0tJQ0td ID0gVkhPU1RfU0VUX1ZSSU5HX0tJQ0ssDQo+ICAJW1ZIT1NUX1VTRVJfU0VUX1NUQVRVU10gPSBW SE9TVF9WRFBBX1NFVF9TVEFUVVMsDQo+ICAJW1ZIT1NUX1VTRVJfR0VUX1NUQVRVU10gPSBWSE9T VF9WRFBBX0dFVF9TVEFUVVMsDQo+ICB9Ow0KPiBAQCAtMzY0LDYgKzM2MiwxOCBAQCB2aG9zdF92 ZHBhX2dldF92cmluZ19iYXNlKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gc3RydWN0 IHZob3N0X3ZyaW5nX3N0YXRlDQo+ICAJcmV0dXJuIHZob3N0X3ZkcGFfaW9jdGwoZGV2LT52aG9z dGZkLCBWSE9TVF9HRVRfVlJJTkdfQkFTRSwgc3RhdGUpOw0KPiAgfQ0KPiANCj4gK3N0YXRpYyBp bnQNCj4gK3Zob3N0X3ZkcGFfc2V0X3ZyaW5nX2NhbGwoc3RydWN0IHZpcnRpb191c2VyX2RldiAq ZGV2LCBzdHJ1Y3QNCj4gdmhvc3RfdnJpbmdfZmlsZSAqZmlsZSkNCj4gK3sNCj4gKwlyZXR1cm4g dmhvc3RfdmRwYV9pb2N0bChkZXYtPnZob3N0ZmQsIFZIT1NUX1NFVF9WUklOR19DQUxMLCBmaWxl KTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludA0KPiArdmhvc3RfdmRwYV9zZXRfdnJpbmdfa2lj ayhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHN0cnVjdA0KPiB2aG9zdF92cmluZ19maWxl ICpmaWxlKQ0KPiArew0KPiArCXJldHVybiB2aG9zdF92ZHBhX2lvY3RsKGRldi0+dmhvc3RmZCwg VkhPU1RfU0VUX1ZSSU5HX0tJQ0ssIGZpbGUpOw0KPiArfQ0KPiArDQo+ICAvKiB3aXRoIGJlbG93 IGZlYXR1cmVzLCB2aG9zdCB2ZHBhIGRvZXMgbm90IG5lZWQgdG8gZG8gdGhlIGNoZWNrc3VtIGFu ZCBUU08sDQo+ICAgKiB0aGVzZSBpbmZvIHdpbGwgYmUgcGFzc2VkIHRvIHZpcnRpb191c2VyIHRo cm91Z2ggdmlydGlvIG5ldCBoZWFkZXIuDQo+ICAgKi8NCj4gQEAgLTM5Myw4ICs0MDMsNiBAQCB2 aG9zdF92ZHBhX3NlbmRfcmVxdWVzdChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+IA0K PiAgCXN3aXRjaCAocmVxX3ZkcGEpIHsNCj4gIAljYXNlIFZIT1NUX1NFVF9WUklOR19BRERSOg0K PiAtCWNhc2UgVkhPU1RfU0VUX1ZSSU5HX0tJQ0s6DQo+IC0JY2FzZSBWSE9TVF9TRVRfVlJJTkdf Q0FMTDoNCj4gIAkJUE1EX0RSVl9MT0coREVCVUcsICJ2aG9zdGZkPSVkLCBpbmRleD0ldSIsDQo+ ICAJCQkgICAgZGV2LT52aG9zdGZkLCAqKHVuc2lnbmVkIGludCAqKWFyZyk7DQo+ICAJCWJyZWFr Ow0KPiBAQCAtNDc0LDYgKzQ4Miw4IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB2 aXJ0aW9fb3BzX3ZkcGEgPSB7DQo+ICAJLnNldF92cmluZ19udW0gPSB2aG9zdF92ZHBhX3NldF92 cmluZ19udW0sDQo+ICAJLnNldF92cmluZ19iYXNlID0gdmhvc3RfdmRwYV9zZXRfdnJpbmdfYmFz ZSwNCj4gIAkuZ2V0X3ZyaW5nX2Jhc2UgPSB2aG9zdF92ZHBhX2dldF92cmluZ19iYXNlLA0KPiAr CS5zZXRfdnJpbmdfY2FsbCA9IHZob3N0X3ZkcGFfc2V0X3ZyaW5nX2NhbGwsDQo+ICsJLnNldF92 cmluZ19raWNrID0gdmhvc3RfdmRwYV9zZXRfdnJpbmdfa2ljaywNCj4gIAkuc2VuZF9yZXF1ZXN0 ID0gdmhvc3RfdmRwYV9zZW5kX3JlcXVlc3QsDQo+ICAJLmVuYWJsZV9xcCA9IHZob3N0X3ZkcGFf ZW5hYmxlX3F1ZXVlX3BhaXIsDQo+ICAJLmRtYV9tYXAgPSB2aG9zdF92ZHBhX2RtYV9tYXBfYmF0 Y2gsDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlv X3VzZXJfZGV2LmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3Vz ZXJfZGV2LmMNCj4gaW5kZXggMGIzMGMxMDAxNi4uNDM4M2U0MDNkYSAxMDA2NDQNCj4gLS0tIGEv ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+ICsrKyBi L2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0KPiBAQCAt NDAsNyArNDAsNyBAQCB2aXJ0aW9fdXNlcl9jcmVhdGVfcXVldWUoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2LA0KPiB1aW50MzJfdCBxdWV1ZV9zZWwpDQo+IA0KPiAgCWZpbGUuaW5kZXggPSBx dWV1ZV9zZWw7DQo+ICAJZmlsZS5mZCA9IGRldi0+Y2FsbGZkc1txdWV1ZV9zZWxdOw0KPiAtCWRl di0+b3BzLT5zZW5kX3JlcXVlc3QoZGV2LCBWSE9TVF9VU0VSX1NFVF9WUklOR19DQUxMLCAmZmls ZSk7DQo+ICsJZGV2LT5vcHMtPnNldF92cmluZ19jYWxsKGRldiwgJmZpbGUpOw0KPiANCj4gIAly ZXR1cm4gMDsNCj4gIH0NCj4gQEAgLTg5LDcgKzg5LDcgQEAgdmlydGlvX3VzZXJfa2lja19xdWV1 ZShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQzMl90DQo+IHF1ZXVlX3NlbCkNCj4g IAkgKi8NCj4gIAlmaWxlLmluZGV4ID0gcXVldWVfc2VsOw0KPiAgCWZpbGUuZmQgPSBkZXYtPmtp Y2tmZHNbcXVldWVfc2VsXTsNCj4gLQlkZXYtPm9wcy0+c2VuZF9yZXF1ZXN0KGRldiwgVkhPU1Rf VVNFUl9TRVRfVlJJTkdfS0lDSywgJmZpbGUpOw0KPiArCWRldi0+b3BzLT5zZXRfdnJpbmdfa2lj ayhkZXYsICZmaWxlKTsNCj4gDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IC0tDQo+IDIuMjkuMg0K DQpSZXZpZXdlZC1ieTogQ2hlbmJvIFhpYSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo=