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 DE834A0A0A; Fri, 22 Jan 2021 09:26:22 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 61926140D25; Fri, 22 Jan 2021 09:26:22 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id E434D140CFC for ; Fri, 22 Jan 2021 09:26:20 +0100 (CET) IronPort-SDR: PB+e9Eyimfbyz1sy9TLpkhxrVgRO1xd72JcZDLTPrm8UejPCPp6mcf1L/H2pVSitwIz1laELR/ lXRI+nhqOcAQ== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="167093088" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="167093088" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jan 2021 00:26:19 -0800 IronPort-SDR: vkslabQK8FJVXcUhonHJRHFKN2jm/Qvzw14xosS9G1vFOUJ1+DiWa2/8GgQPJqAjkg5PRj8/Sz 9qUL5vm3qCgw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="407610240" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by FMSMGA003.fm.intel.com with ESMTP; 22 Jan 2021 00:26:19 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Fri, 22 Jan 2021 00:26:19 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx612.amr.corp.intel.com (10.18.126.92) 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:26:18 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 22 Jan 2021 00:26:18 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) 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:26:18 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k2ZIgNEN57+5fGfsk5kI5wisc323LGv1GAr+m9+hzqwqfDGBFUuxa4+fMrd+2LOvq/uZ6yZz4pArfOe5c74nxsS1pHrOupjzwpMkzwYjrFSJli8MRp5pcCH3Fsmua9/TBhEPDXtS0PZivk7mp/YLZC5cHJwbZHhv2LIbGeEhW9lU13M/jvFwkT8P0G3kUfIdFewvjpajjYRWYJAT4IS/pi563+6oPwXp/4FNaOIk194P1UaoMW9F2YX92Z7REKyVrvlhOsRfN7wAPSzuzryMcv0UH6NFjWCFHeiia0kpt5c+3TVRWjkwcBM5WUkGJqWbRu6J6Jrx4N5NH3FRaD+DwQ== 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=30e98WNdZR5cKDALjl9KbU7sUr2yGRemIMsSgWwwUxY=; b=BsYNjE7WsLHXuExcUaG5+oOdlTnNJ+lPri/AyREK6DH6zlOvrBCjZ5krMe8vX4gEqvbuW1xlhNJx05bwDqc7wvwOOwV1wQR+1JyAtpQM4GXFYVzciXaboVLtgYmIwrAp2kMbZ1kLdGAC/idBY4LJ+7UFBdj/8NsoVocUSGLnY4vCv3FjRwYG7jMZeP5SjcOJYpcEH9X1BUy2BKy3ZmIodJD5Fz+oQjGtwsN/keWySf4kw7QKf5354XlZV8KMo1MvVKkONwJVKR1VB7n94nvTth1a8GqHKj8T1VX62edL68nYrHCfhNv8zfQl37OSm7Y8BMAFQaQoKvmTsaK0eHHvyQ== 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=30e98WNdZR5cKDALjl9KbU7sUr2yGRemIMsSgWwwUxY=; b=cn3LnJUqGX4DH2kqAZfXdTkjPurHaDkz7g46uMIo1ltfCqkcR1PEQeYwI6Cv6JBX6DAqM0Uh0f2B7qXIKanQxHpmv2GdNVy+M2UzM7k1k7boLK2bpe1yItuEBJBH8InYLjYL9sjTsRlkmwXMkMeXKn3vV8y5Wk18apBCIHZAdfg= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3903.namprd11.prod.outlook.com (2603:10b6:208:136::27) 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:26:17 +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:26:17 +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 39/44] net/virtio: introduce backend data Thread-Index: AQHW7qoPdPEpWGwsjE6zmNezK07FH6ozUxZA Date: Fri, 22 Jan 2021 08:26:17 +0000 Message-ID: References: <20210119212507.1043636-1-maxime.coquelin@redhat.com> <20210119212507.1043636-40-maxime.coquelin@redhat.com> In-Reply-To: <20210119212507.1043636-40-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: 72a5cc76-f098-4ad6-af2f-08d8beaf63a8 x-ms-traffictypediagnostic: MN2PR11MB3903: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:46; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YlrGOtGBMM+L66TBIk3s8ern6QVjmJkBQMcD0hcdlFOlR91IY2oYDipPwdb4I9wlFi0YsgC3Qg0IJkfis8kDfpQ8fcIFlp6qkLDRl3KYpTowquB0dZ7PUD7HqeBeVRjzWLqUlpEzGMyXZWqT6IdW93JB7SCu9xRIp1tdXgPpVzRxfpjRugLrXGx6aD+a7k0yWeiUdD0UllV8/G9epwQowrg4xewUeSTQ8922mkiX9hs2P/cu4o+E6iH/jUrlrX4umgwglbvLyEAqhCtZBavs1TXsaptUx9++uiPaAdjpwAQ1UsV/B6xfjQTtl4um3bfwjeH6poRlTzPgoW7NI/uAXDaUkQ11juXfzFi4WTEYFSeWjMwPbIxPwvWSMPwGpb/JdhBZXxsbGghlruPvAJKDvA== 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)(39860400002)(396003)(136003)(376002)(346002)(366004)(52536014)(55016002)(9686003)(316002)(26005)(5660300002)(66946007)(86362001)(110136005)(66476007)(8676002)(186003)(66446008)(64756008)(83380400001)(66556008)(7696005)(71200400001)(76116006)(478600001)(6506007)(8936002)(2906002)(33656002)(53546011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?Ri8rUzQ1YWJ4R1RtcngxNThSRmtsQXU1WWhJRituK3psVzc2RzF6bUVKazln?= =?utf-8?B?KzU0MmhLeEd5TEZ6YlF2UGJZNDBVL3kxL0ROYXF5WG1aYVE4cHhSeU10MWlu?= =?utf-8?B?Y2QzNzdUZ0NjeGRROVA4bWNVNm53cjQ1ZGl2ZFpZendjdEhHRVpIV3d3Y0k0?= =?utf-8?B?THBSRmtuTnJPbEpvMEc0QWxJZ05QMFlXZ3htZFowUFdIbktpTHBkOWdmSW9n?= =?utf-8?B?bWpJa1VPTGxGREgvdGkyYnVqN2s2SHk3cldKUW9CV1BObE1naysvVWoyV2h6?= =?utf-8?B?SHp2Q2JYaGJWSWlTT0ZPT2JzNFJBYWZIQm9ub2s0YlI5bnA2dXh3K3ZycWlR?= =?utf-8?B?QTRFWUhwRy92MEtuYVJpYjA2MDFrajdXT3JNZTNjQWdUY3FwOG9VTVpyOUJt?= =?utf-8?B?ckNPaTc5ZmZHemJlTVRPVlFFT0p0Qjh4cDJwYklhNlcxV3lyc3ZJZnBGVldw?= =?utf-8?B?NnlLT2YzczJyM0RoSFdmdW53eGZsL2w3T1pPdGd3VHB0SG9xY0JhSVpzdVFu?= =?utf-8?B?VkJrdWNOUzQveHVDQjAwMjhoTldRbjlMUzF5NHlBZXNPNnI3UlQwUjlkcnZ1?= =?utf-8?B?N3BHNlpkem9obmUwZFdna2ZUUmROUS9Wc08xeHdyQnkwQmNFbm1LU1FiSXJi?= =?utf-8?B?cmtkQ1R4WGxudXJiY2VCWFZSbDZXM2VWTFcwZTNqU3hxSzFwdWlSWklRajQ4?= =?utf-8?B?SUVQT3NkNi9LUjZJZzdleTRtREM4TDR2OUNvbzlFV09aTzI2MC8xcmxwYWUy?= =?utf-8?B?TC9ncmxkeXY2dFU3eE9SSE12eTIyVlF0YXU5Nk1saEh6QmJxekFBcGJmTmFa?= =?utf-8?B?aUhyWHBPbUNsMGtGWGVSRHVMaVE0NWEwaUV5OE5wM1JxY1Q3OHFoSlptNGYw?= =?utf-8?B?c2pUUDArc1BmejlJYVpsb05yQStaRWtBUlJhZmtPb0U4cndBZWlic2NXWTBz?= =?utf-8?B?Q2pnUjdoMERsTEVsMElCVkk0M3lyTDExV0xIU29hWElGaUlZS1RkbVZCUVRo?= =?utf-8?B?L1ZNWExTc0kyTEZ6NytMMFJkQ2kva0VZaEh6OHZwZndUQTNHdG92TCszam1m?= =?utf-8?B?U2Z6UVRFMHgvdGhjKzlvWDJBako1Y1VwK3VGMVFjZjlDUE9FMzEvM0Q2T05G?= =?utf-8?B?SkVZN1hSSWY4OEdDUysxbnkwTGg4cFpnZXJHa2hvdW5nRFU2eUtQNzRqbWZI?= =?utf-8?B?OWFWSlV1ZXZzWWVJb2xrTjJnSmk0RGVYZHpuQUdIMHVGVFVOeUlmZlVzYzV0?= =?utf-8?B?aWZBRDZVcDBRdm1PMXAwT1llQzZuTDd6eU4vM2h0WVExbWJXais4c09Dc0pI?= =?utf-8?Q?q9ajhD8zhP9viXR8QUxGKTsL4iVnqSnJMA?= 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: 72a5cc76-f098-4ad6-af2f-08d8beaf63a8 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 08:26:17.2339 (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: QbrOdRoZhl8iOzEn04C1TyVXe7NdPIqixHyHtD3/mp40DQ2jDvJYDeyIHL/xg+HnvIAC3gG6eIiZgQOuBnO+Og== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3903 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 39/44] net/virtio: introduce backend data 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 eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjIgMzkvNDRdIG5l dC92aXJ0aW86IGludHJvZHVjZSBiYWNrZW5kIGRhdGENCj4gDQo+IFRoZSBnb2FsIG9mIHRoaXMg cGF0Y2ggaXMgdG8gaW50cm9kdWNlIGJhY2tlbmQtc3BlY2lmaWMNCj4gZGF0YSBpbiBvcmRlciB0 byBiZXR0ZXIgaXNvbGF0ZSB3aGF0IGlzIGJhY2tlbmQtc3BlY2lmaWMNCj4gZnJvbSB3aGF0IGlz IGdlbmVyaWMgdG8gVmlydGlvLXVzZXIuDQo+IA0KPiBGb3Igbm93LCBvbmx5IFZob3N0LXVzZXIg cHJvdG9jb2wgZmVhdHVyZXMgYXJlIG1vdmVkIHRvDQo+IFZob3N0LXVzZXIgYmFja2VuZCBkYXRh Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5A cmVkaGF0LmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhv c3QuaCAgICAgICAgfCAgMSArDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhv c3Rfa2VybmVsLmMgfCAgNyArKysNCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92 aG9zdF91c2VyLmMgICB8IDYyICsrKysrKysrKysrKysrKy0tLS0NCj4gIGRyaXZlcnMvbmV0L3Zp cnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMgICB8ICA3ICsrKw0KPiAgLi4uL25ldC92aXJ0 aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMgIHwgIDIgKw0KPiAgLi4uL25ldC92aXJ0 aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmggIHwgIDIgKw0KPiAgNiBmaWxlcyBjaGFu Z2VkLCA2OCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0KPiBiL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oDQo+IGluZGV4IGRmYTI3MzVhMjAuLmZjNGYwNTlj MDIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5o DQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oDQo+IEBAIC02 NSw2ICs2NSw3IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXY7DQo+IA0KPiAgc3RydWN0IHZpcnRp b191c2VyX2JhY2tlbmRfb3BzIHsNCj4gIAlpbnQgKCpzZXR1cCkoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2KTsNCj4gKwlpbnQgKCpkZXN0cm95KShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpk ZXYpOw0KPiAgCWludCAoKmdldF9iYWNrZW5kX2ZlYXR1cmVzKSh1aW50NjRfdCAqZmVhdHVyZXMp Ow0KPiAgCWludCAoKnNldF9vd25lcikoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KTsNCj4g IAlpbnQgKCpnZXRfZmVhdHVyZXMpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDY0 X3QgKmZlYXR1cmVzKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f dXNlci92aG9zdF9rZXJuZWwuYw0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92 aG9zdF9rZXJuZWwuYw0KPiBpbmRleCA1NDc3ZWI3MDE1Li40N2ZiNDQyN2JlIDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMNCj4gKysr IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5jDQo+IEBAIC0z NTcsNiArMzU3LDEyIEBAIHZob3N0X2tlcm5lbF9zZXR1cChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2 ICpkZXYpDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IA0KPiArc3RhdGljIGludA0KPiArdmhvc3Rf a2VybmVsX2Rlc3Ryb3koc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2IF9fcnRlX3VudXNlZCkN Cj4gK3sNCj4gKwlyZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGludA0KPiAgdmhvc3Rf a2VybmVsX3NldF9iYWNrZW5kKGludCB2aG9zdGZkLCBpbnQgdGFwZmQpDQo+ICB7DQo+IEBAIC00 NTUsNiArNDYxLDcgQEAgdmhvc3Rfa2VybmVsX2dldF9iYWNrZW5kX2ZlYXR1cmVzKHVpbnQ2NF90 ICpmZWF0dXJlcykNCj4gDQo+ICBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlv X29wc19rZXJuZWwgPSB7DQo+ICAJLnNldHVwID0gdmhvc3Rfa2VybmVsX3NldHVwLA0KPiArCS5k ZXN0cm95ID0gdmhvc3Rfa2VybmVsX2Rlc3Ryb3ksDQo+ICAJLmdldF9iYWNrZW5kX2ZlYXR1cmVz ID0gdmhvc3Rfa2VybmVsX2dldF9iYWNrZW5kX2ZlYXR1cmVzLA0KPiAgCS5zZXRfb3duZXIgPSB2 aG9zdF9rZXJuZWxfc2V0X293bmVyLA0KPiAgCS5nZXRfZmVhdHVyZXMgPSB2aG9zdF9rZXJuZWxf Z2V0X2ZlYXR1cmVzLA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191 c2VyL3Zob3N0X3VzZXIuYw0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9z dF91c2VyLmMNCj4gaW5kZXggOTg2ZDhhYzFhYy4uMDE0N2I2ZDk2MyAxMDA2NDQNCj4gLS0tIGEv ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYw0KPiArKysgYi9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jDQo+IEBAIC0xNyw2ICsxNyw5 IEBADQo+ICAjaW5jbHVkZSAidmhvc3QuaCINCj4gICNpbmNsdWRlICJ2aXJ0aW9fdXNlcl9kZXYu aCINCj4gDQo+ICtzdHJ1Y3Qgdmhvc3RfdXNlcl9kYXRhIHsNCj4gKwl1aW50NjRfdCBwcm90b2Nv bF9mZWF0dXJlczsNCj4gK307DQo+IA0KPiAgI2lmbmRlZiBWSE9TVF9VU0VSX0ZfUFJPVE9DT0xf RkVBVFVSRVMNCj4gICNkZWZpbmUgVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZFQVRVUkVTIDMwDQo+ IEBAIC0yODcsNiArMjkwLDcgQEAgc3RhdGljIGludA0KPiAgdmhvc3RfdXNlcl9nZXRfZmVhdHVy ZXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50NjRfdCAqZmVhdHVyZXMpDQo+ICB7 DQo+ICAJaW50IHJldDsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdXNlcl9kYXRhICpkYXRhID0gZGV2LT5i YWNrZW5kX2RhdGE7DQo+ICAJc3RydWN0IHZob3N0X3VzZXJfbXNnIG1zZyA9IHsNCj4gIAkJLnJl cXVlc3QgPSBWSE9TVF9VU0VSX0dFVF9GRUFUVVJFUywNCj4gIAkJLmZsYWdzID0gVkhPU1RfVVNF Ul9WRVJTSU9OLA0KPiBAQCAtMzE2LDE3ICszMjAsMTcgQEAgdmhvc3RfdXNlcl9nZXRfZmVhdHVy ZXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiB1aW50NjRfdCAqZmVhdHVyZXMpDQo+ ICAJCXJldHVybiAwOw0KPiANCj4gIAkvKiBOZWdvdGlhdGUgcHJvdG9jb2wgZmVhdHVyZXMgKi8N Cj4gLQlyZXQgPSB2aG9zdF91c2VyX2dldF9wcm90b2NvbF9mZWF0dXJlcyhkZXYsICZkZXYtPnBy b3RvY29sX2ZlYXR1cmVzKTsNCj4gKwlyZXQgPSB2aG9zdF91c2VyX2dldF9wcm90b2NvbF9mZWF0 dXJlcyhkZXYsICZkYXRhLT5wcm90b2NvbF9mZWF0dXJlcyk7DQo+ICAJaWYgKHJldCA8IDApDQo+ ICAJCWdvdG8gZXJyOw0KPiANCj4gLQlkZXYtPnByb3RvY29sX2ZlYXR1cmVzICY9IFZIT1NUX1VT RVJfU1VQUE9SVEVEX1BST1RPQ09MX0ZFQVRVUkVTOw0KPiArCWRhdGEtPnByb3RvY29sX2ZlYXR1 cmVzICY9IFZIT1NUX1VTRVJfU1VQUE9SVEVEX1BST1RPQ09MX0ZFQVRVUkVTOw0KPiANCj4gLQly ZXQgPSB2aG9zdF91c2VyX3NldF9wcm90b2NvbF9mZWF0dXJlcyhkZXYsIGRldi0+cHJvdG9jb2xf ZmVhdHVyZXMpOw0KPiArCXJldCA9IHZob3N0X3VzZXJfc2V0X3Byb3RvY29sX2ZlYXR1cmVzKGRl diwgZGF0YS0+cHJvdG9jb2xfZmVhdHVyZXMpOw0KPiAgCWlmIChyZXQgPCAwKQ0KPiAgCQlnb3Rv IGVycjsNCj4gDQo+IC0JaWYgKCEoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8IFZI T1NUX1VTRVJfUFJPVE9DT0xfRl9NUSkpKQ0KPiArCWlmICghKGRhdGEtPnByb3RvY29sX2ZlYXR1 cmVzICYgKDFVTEwgPDwgVkhPU1RfVVNFUl9QUk9UT0NPTF9GX01RKSkpDQo+ICAJCWRldi0+dW5z dXBwb3J0ZWRfZmVhdHVyZXMgfD0gKDF1bGwgPDwgVklSVElPX05FVF9GX01RKTsNCj4gDQo+ICAJ cmV0dXJuIDA7DQo+IEBAIC00NDQsMTIgKzQ0OCwxMyBAQCB2aG9zdF91c2VyX3NldF9tZW1vcnlf dGFibGUoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCXN0cnVjdCB3YWxrX2FyZyB3 YTsNCj4gIAlpbnQgZmRzW1ZIT1NUX01FTU9SWV9NQVhfTlJFR0lPTlNdOw0KPiAgCWludCByZXQs IGZkX251bTsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdXNlcl9kYXRhICpkYXRhID0gZGV2LT5iYWNrZW5k X2RhdGE7DQo+ICAJc3RydWN0IHZob3N0X3VzZXJfbXNnIG1zZyA9IHsNCj4gIAkJLnJlcXVlc3Qg PSBWSE9TVF9VU0VSX1NFVF9NRU1fVEFCTEUsDQo+ICAJCS5mbGFncyA9IFZIT1NUX1VTRVJfVkVS U0lPTiwNCj4gIAl9Ow0KPiANCj4gLQlpZiAoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxM IDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9SRVBMWV9BQ0spKQ0KPiArCWlmIChkYXRhLT5wcm90 b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9SRVBMWV9BQ0sp KQ0KPiAgCQltc2cuZmxhZ3MgfD0gVkhPU1RfVVNFUl9ORUVEX1JFUExZX01BU0s7DQo+IA0KPiAg CXdhLnJlZ2lvbl9uciA9IDA7DQo+IEBAIC02MjgsNiArNjMzLDcgQEAgc3RhdGljIGludA0KPiAg dmhvc3RfdXNlcl9nZXRfc3RhdHVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDhf dCAqc3RhdHVzKQ0KPiAgew0KPiAgCWludCByZXQ7DQo+ICsJc3RydWN0IHZob3N0X3VzZXJfZGF0 YSAqZGF0YSA9IGRldi0+YmFja2VuZF9kYXRhOw0KPiAgCXN0cnVjdCB2aG9zdF91c2VyX21zZyBt c2cgPSB7DQo+ICAJCS5yZXF1ZXN0ID0gVkhPU1RfVVNFUl9HRVRfU1RBVFVTLA0KPiAgCQkuZmxh Z3MgPSBWSE9TVF9VU0VSX1ZFUlNJT04sDQo+IEBAIC02NDQsNyArNjUwLDcgQEAgdmhvc3RfdXNl cl9nZXRfc3RhdHVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDhfdA0KPiAqc3Rh dHVzKQ0KPiAgCWlmICghKGRldi0+ZGV2aWNlX2ZlYXR1cmVzICYgKDFVTEwgPDwgVkhPU1RfVVNF Ul9GX1BST1RPQ09MX0ZFQVRVUkVTKSkpDQo+ICAJCXJldHVybiAtRU5PVFNVUDsNCj4gDQo+IC0J aWYgKCEoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9D T0xfRl9TVEFUVVMpKSkNCj4gKwlpZiAoIShkYXRhLT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxM IDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9TVEFUVVMpKSkNCj4gIAkJcmV0dXJuIC1FTk9UU1VQ Ow0KPiANCj4gIAlyZXQgPSB2aG9zdF91c2VyX3dyaXRlKGRldi0+dmhvc3RmZCwgJm1zZywgTlVM TCwgMCk7DQo+IEBAIC02ODEsNiArNjg3LDcgQEAgc3RhdGljIGludA0KPiAgdmhvc3RfdXNlcl9z ZXRfc3RhdHVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDhfdCBzdGF0dXMpDQo+ ICB7DQo+ICAJaW50IHJldDsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdXNlcl9kYXRhICpkYXRhID0gZGV2 LT5iYWNrZW5kX2RhdGE7DQo+ICAJc3RydWN0IHZob3N0X3VzZXJfbXNnIG1zZyA9IHsNCj4gIAkJ LnJlcXVlc3QgPSBWSE9TVF9VU0VSX1NFVF9TVEFUVVMsDQo+ICAJCS5mbGFncyA9IFZIT1NUX1VT RVJfVkVSU0lPTiwNCj4gQEAgLTY5OSwxMCArNzA2LDEwIEBAIHZob3N0X3VzZXJfc2V0X3N0YXR1 cyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+IHVpbnQ4X3Qgc3RhdHVzKQ0KPiAgCWlm ICghKGRldi0+ZGV2aWNlX2ZlYXR1cmVzICYgKDFVTEwgPDwgVkhPU1RfVVNFUl9GX1BST1RPQ09M X0ZFQVRVUkVTKSkpDQo+ICAJCXJldHVybiAtRU5PVFNVUDsNCj4gDQo+IC0JaWYgKCEoZGV2LT5w cm90b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9TVEFUVVMp KSkNCj4gKwlpZiAoIShkYXRhLT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8IFZIT1NUX1VT RVJfUFJPVE9DT0xfRl9TVEFUVVMpKSkNCj4gIAkJcmV0dXJuIC1FTk9UU1VQOw0KPiANCj4gLQlp ZiAoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xf Rl9SRVBMWV9BQ0spKQ0KPiArCWlmIChkYXRhLT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8 IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9SRVBMWV9BQ0spKQ0KPiAgCQltc2cuZmxhZ3MgfD0gVkhP U1RfVVNFUl9ORUVEX1JFUExZX01BU0s7DQo+IA0KPiAgCXJldCA9IHZob3N0X3VzZXJfd3JpdGUo ZGV2LT52aG9zdGZkLCAmbXNnLCBOVUxMLCAwKTsNCj4gQEAgLTc2MiwxMSArNzY5LDIyIEBAIHZo b3N0X3VzZXJfc2V0dXAoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCWludCBmZDsN Cj4gIAlpbnQgZmxhZzsNCj4gIAlzdHJ1Y3Qgc29ja2FkZHJfdW4gdW47DQo+ICsJc3RydWN0IHZo b3N0X3VzZXJfZGF0YSAqZGF0YTsNCj4gKw0KPiArCWRhdGEgPSBtYWxsb2Moc2l6ZW9mKCpkYXRh KSk7DQo+ICsJaWYgKCFkYXRhKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIiglcykgRmFpbGVk IHRvIGFsbG9jYXRlIFZob3N0LXVzZXIgZGF0YVxuIiwgZGV2LQ0KPiA+cGF0aCk7DQo+ICsJCXJl dHVybiAtMTsNCj4gKwl9DQo+ICsNCj4gKwltZW1zZXQoZGF0YSwgMCwgc2l6ZW9mKCpkYXRhKSk7 DQo+ICsNCj4gKwlkZXYtPmJhY2tlbmRfZGF0YSA9IGRhdGE7DQo+IA0KPiAgCWZkID0gc29ja2V0 KEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKTsNCj4gIAlpZiAoZmQgPCAwKSB7DQo+ICAJCVBNRF9E UlZfTE9HKEVSUiwgInNvY2tldCgpIGVycm9yLCAlcyIsIHN0cmVycm9yKGVycm5vKSk7DQo+IC0J CXJldHVybiAtMTsNCj4gKwkJZ290byBlcnJfZGF0YTsNCj4gIAl9DQo+IA0KPiAgCWZsYWcgPSBm Y250bChmZCwgRl9HRVRGRCk7DQo+IEBAIC03ODEsMTggKzc5OSwzNSBAQCB2aG9zdF91c2VyX3Nl dHVwKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldikNCj4gIAkJZGV2LT5saXN0ZW5mZCA9IGZk Ow0KPiAgCQlpZiAodmlydGlvX3VzZXJfc3RhcnRfc2VydmVyKGRldiwgJnVuKSA8IDApIHsNCj4g IAkJCVBNRF9EUlZfTE9HKEVSUiwgInZpcnRpby11c2VyIHN0YXJ0dXAgZmFpbHMgaW4gc2VydmVy IG1vZGUiKTsNCj4gLQkJCWNsb3NlKGZkKTsNCj4gLQkJCXJldHVybiAtMTsNCj4gKwkJCWdvdG8g ZXJyX3NvY2tldDsNCj4gIAkJfQ0KPiAgCX0gZWxzZSB7DQo+ICAJCWlmIChjb25uZWN0KGZkLCAo c3RydWN0IHNvY2thZGRyICopJnVuLCBzaXplb2YodW4pKSA8IDApIHsNCj4gIAkJCVBNRF9EUlZf TE9HKEVSUiwgImNvbm5lY3QgZXJyb3IsICVzIiwgc3RyZXJyb3IoZXJybm8pKTsNCj4gLQkJCWNs b3NlKGZkKTsNCj4gLQkJCXJldHVybiAtMTsNCj4gKwkJCWdvdG8gZXJyX3NvY2tldDsNCj4gIAkJ fQ0KPiAgCQlkZXYtPnZob3N0ZmQgPSBmZDsNCj4gIAl9DQo+IA0KPiArCXJldHVybiAwOw0KPiAr DQo+ICtlcnJfc29ja2V0Og0KPiArCWNsb3NlKGZkKTsNCj4gK2Vycl9kYXRhOg0KPiArCWZyZWUo ZGF0YSk7DQo+ICsJZGV2LT5iYWNrZW5kX2RhdGEgPSBOVUxMOw0KPiArDQo+ICsJcmV0dXJuIC0x Ow0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF91c2VyX2Rlc3Ryb3koc3RydWN0 IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiArew0KPiArCWlmIChkZXYtPmJhY2tlbmRfZGF0YSkg ew0KPiArCQlmcmVlKGRldi0+YmFja2VuZF9kYXRhKTsNCj4gKwkJZGV2LT5iYWNrZW5kX2RhdGEg PSBOVUxMOw0KPiArCX0NCj4gKw0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiANCj4gQEAgLTgzMCw2 ICs4NjUsNyBAQCB2aG9zdF91c2VyX2dldF9iYWNrZW5kX2ZlYXR1cmVzKHVpbnQ2NF90ICpmZWF0 dXJlcykNCj4gDQo+ICBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc191 c2VyID0gew0KPiAgCS5zZXR1cCA9IHZob3N0X3VzZXJfc2V0dXAsDQo+ICsJLmRlc3Ryb3kgPSB2 aG9zdF91c2VyX2Rlc3Ryb3ksDQo+ICAJLmdldF9iYWNrZW5kX2ZlYXR1cmVzID0gdmhvc3RfdXNl cl9nZXRfYmFja2VuZF9mZWF0dXJlcywNCj4gIAkuc2V0X293bmVyID0gdmhvc3RfdXNlcl9zZXRf b3duZXIsDQo+ICAJLmdldF9mZWF0dXJlcyA9IHZob3N0X3VzZXJfZ2V0X2ZlYXR1cmVzLA0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYw0K PiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gaW5kZXgg OGQzNTRiMjk4ZS4uZjVhODk0Mzk5MyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+IEBAIC00MzIsNiArNDMyLDEyIEBAIHZob3N0X3ZkcGFf c2V0dXAoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCXJldHVybiAwOw0KPiAgfQ0K PiANCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3ZkcGFfZGVzdHJveShzdHJ1Y3QgdmlydGlvX3Vz ZXJfZGV2ICpkZXYgX19ydGVfdW51c2VkKQ0KPiArew0KPiArCXJldHVybiAwOw0KPiArfQ0KPiAr DQo+ICBzdGF0aWMgaW50DQo+ICB2aG9zdF92ZHBhX2VuYWJsZV9xdWV1ZV9wYWlyKHN0cnVjdCB2 aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gIAkJCSAgICAgICB1aW50MTZfdCBwYWlyX2lkeCwNCj4g QEAgLTQ2Nyw2ICs0NzMsNyBAQCB2aG9zdF92ZHBhX2dldF9iYWNrZW5kX2ZlYXR1cmVzKHVpbnQ2 NF90ICpmZWF0dXJlcykNCj4gDQo+ICBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmly dGlvX29wc192ZHBhID0gew0KPiAgCS5zZXR1cCA9IHZob3N0X3ZkcGFfc2V0dXAsDQo+ICsJLmRl c3Ryb3kgPSB2aG9zdF92ZHBhX2Rlc3Ryb3ksDQo+ICAJLmdldF9iYWNrZW5kX2ZlYXR1cmVzID0g dmhvc3RfdmRwYV9nZXRfYmFja2VuZF9mZWF0dXJlcywNCj4gIAkuc2V0X293bmVyID0gdmhvc3Rf dmRwYV9zZXRfb3duZXIsDQo+ICAJLmdldF9mZWF0dXJlcyA9IHZob3N0X3ZkcGFfZ2V0X2ZlYXR1 cmVzLA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRp b191c2VyX2Rldi5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191 c2VyX2Rldi5jDQo+IGluZGV4IDI2MTRiY2IzNDkuLjIxNTgxOWQ0NmQgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0KPiArKysg Yi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gQEAg LTYyMSw2ICs2MjEsOCBAQCB2aXJ0aW9fdXNlcl9kZXZfdW5pbml0KHN0cnVjdCB2aXJ0aW9fdXNl cl9kZXYgKmRldikNCj4gDQo+ICAJaWYgKGRldi0+aXNfc2VydmVyKQ0KPiAgCQl1bmxpbmsoZGV2 LT5wYXRoKTsNCj4gKw0KPiArCWRldi0+b3BzLT5kZXN0cm95KGRldik7DQo+ICB9DQo+IA0KPiAg dWludDhfdA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zp cnRpb191c2VyX2Rldi5oDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRp b191c2VyX2Rldi5oDQo+IGluZGV4IGFiNjI0NjNhNWIuLjc2NTAwOTdiNmQgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuaA0KPiAr KysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmgNCj4g QEAgLTY2LDYgKzY2LDggQEAgc3RydWN0IHZpcnRpb191c2VyX2RldiB7DQo+ICAJc3RydWN0IHZp cnRpb191c2VyX2JhY2tlbmRfb3BzICpvcHM7DQo+ICAJcHRocmVhZF9tdXRleF90CW11dGV4Ow0K PiAgCWJvb2wJCXN0YXJ0ZWQ7DQo+ICsNCj4gKwl2b2lkICpiYWNrZW5kX2RhdGE7DQo+ICB9Ow0K PiANCj4gIGludCB2aXJ0aW9fdXNlcl9kZXZfc2V0X2ZlYXR1cmVzKHN0cnVjdCB2aXJ0aW9fdXNl cl9kZXYgKmRldik7DQo+IC0tDQo+IDIuMjkuMg0KDQpSZXZpZXdlZC1ieTogQ2hlbmJvIFhpYSA8 Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo=