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 0A8E741C49; Thu, 9 Feb 2023 09:00:59 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EAACE410EA; Thu, 9 Feb 2023 09:00:58 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id A54CB4067B for ; Thu, 9 Feb 2023 09:00:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675929656; x=1707465656; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=bGmXAv8x/5mswUWcFMkcz81gv0uP5fcK0NnJ+l84kNk=; b=CkUzOaifAsz3Z0YT742XZ/9S03D5nU/6c0IIDXOJc0MzhKRnArcWPBaF 8/aAx2MIe/AvOb9ZLqiJXtciWULgSHnzW8MyJaxl/D0aLu9jlKUu0bYT5 KTEkXLDcC972gwnnSQ7cj5qXqN+aSxOY5BbNzOCUs+vj4HQi/Kuzlz5M0 2ILiYscv5WUMW726Ie9fwQgRxaVFlKtc1ziujCKcaVhENDErmHTA/L1E4 4suUVPoRGqSwejqz5o2LefV6BtLqvVSqTGWjfM1dUwuSRCvN8QT2nX5cn WwiOPOG2aZegkIfu97sxRnIpSlVHY3gjWhruauBGRUC9I3EA+0idbgi7G Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="332163211" X-IronPort-AV: E=Sophos;i="5.97,283,1669104000"; d="scan'208";a="332163211" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2023 00:00:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="756326379" X-IronPort-AV: E=Sophos;i="5.97,283,1669104000"; d="scan'208";a="756326379" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 09 Feb 2023 00:00:49 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.16; Thu, 9 Feb 2023 00:00:48 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 9 Feb 2023 00:00:48 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Thu, 9 Feb 2023 00:00:48 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) 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.16; Thu, 9 Feb 2023 00:00:47 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oS9w/Tf1bc6D2pY4akU4LeHfItyVmFdn8gW2IIX7WRz8nPeqANHXFeB+ZudYrnXsTAKujB5loN0aZ2fUlhnKdP060Igjjy7K9jQLZdScLfrYNQanxIIooObJi9L1PNl/Jrtqv8JYxNIH6LNnonpwEcqnALCwDNCxp2kXMlih/eCxoDtKQwdF3vK1BNlLLV2bfv6janRdL2as5X/iegwuvAVD4Fw34PF7Yv36KHkuY5+aw3AMP0jb5edSYTpGYMpBkgwg3zk6JKRjD29+tZF8Gtsl0D34r55+UZ+Fndf1j6zjNjXgfTE27F6sXpAzUQ2gZoG+dX7ZL8AlgJl8tAlDJw== 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=bGmXAv8x/5mswUWcFMkcz81gv0uP5fcK0NnJ+l84kNk=; b=lWzZwrfXg1Mj7S2zSxIFy5DHXIHv+1rExliZ+QxiSO9ND8TxylDNqYeX+SzwqZhqmJU+/4PBipU+vxxtD5/wxEwWBdKnA1SEFUqE5/bUxtAXdiAKH3vrVTkRsubvROhdgL28WZEdCstkILNcGYzK8kN0uh8Cm9UUbxGeESHBmwVAGzn0UoTQFMaSqihVZf1lTjdfyInmSbVx1qWuPed4WXBNvut6Ys1tM3KIXqU4JYDJ97akixrRvbgy+FmWtW0LQDRkdW6XnMIlJevfuOwrvQxpTsBNTkEIVl6kgWRpnUjULkN78m9gqZwLWXw3zz3SFKwooRgHd91epK8H6eCB9Q== 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 SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by DM6PR11MB4610.namprd11.prod.outlook.com (2603:10b6:5:2ab::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.17; Thu, 9 Feb 2023 08:00:45 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::c8f8:a3e1:5b23:a9c3]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::c8f8:a3e1:5b23:a9c3%5]) with mapi id 15.20.6086.017; Thu, 9 Feb 2023 08:00:45 +0000 From: "Xia, Chenbo" To: David Marchand , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "stephen@networkplumber.org" , "Hu, Jiayu" , "Wang, YuanX" , "Ding, Xuan" , "mb@smartsharesystems.com" Subject: RE: [PATCH v6 2/9] vhost: simplify need reply handling Thread-Topic: [PATCH v6 2/9] vhost: simplify need reply handling Thread-Index: AQHZOuFedk4N8pVvD0qMHSK2kdMUJK7GQ2tQ Date: Thu, 9 Feb 2023 08:00:45 +0000 Message-ID: References: <20220328121758.26632-1-david.marchand@redhat.com> <20230207104532.2370869-1-david.marchand@redhat.com> <20230207104532.2370869-3-david.marchand@redhat.com> In-Reply-To: <20230207104532.2370869-3-david.marchand@redhat.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-traffictypediagnostic: SN6PR11MB3504:EE_|DM6PR11MB4610:EE_ x-ms-office365-filtering-correlation-id: 6ce6ffd6-e234-4c6f-6337-08db0a73bfc1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zzL6oodeq7+8K0uUNuEl0coXgGOui5Ll1vSq+ko4/NwKgV0bpdlftVHQlpChQTbUI60GFa/Q/KQoPnhW/tM1sA5oBv9cuff6kIy6MRr5RP1nu0ylguWrGcV7O9MyRT2YbtGUTmP9puSkz9iSKlRU3w5dmAvvWY4Pa9knFp36fZgMiU1+HlBftVoDKO8YLZK7ZNbwV0yZDDvvu2pdyico10c++A1Xdawxb4XAZ15Zd/uwwgxqmFoJNlPsLk2+6puT0UysW5GBwaWaUtnasGDfeW6qbKM/n0hZn+0UbWMpCmpwkLOwd7z7R4ivWl3s91Xm1o1LspxxaFe33dcmqoIL0JWOHVHjLwurwHKIuU78Neu82ZjkNHJgwq8LFAz9vcF5kmmi34let8ulZtlseb1l44KWJL2yKT+B6oWFiU6yU293fBTqpR6Png/9ZuTgxpWh/3ZSNhv5wS9Hi7PXa0L/0lhYQGXcPi4ncnkfpMLVuKm8KQYX7wvCKj81MWO6dAweDNRL/itBLCPNwD00pq1IDIISHDjra0FNtEJ1xhcrawt66aX21pJKNYmpMyh1nMJ8uTic4bjVVGo42UqNybl8RuJ1t/ZrV9kju+txEUuwV5AKLZOAWl/G3X8in6WmL9+eGKLpEta3GZjNwa7hRJP++o4KoSgGb/CI4lPElm8XuK+QE7DsF8/l0qFG5SPy5d3NkXnmMhXpdOu1N5gv1BYfxg== 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:(13230025)(366004)(39860400002)(136003)(376002)(396003)(346002)(451199018)(82960400001)(38100700002)(122000001)(41300700001)(6506007)(52536014)(8936002)(26005)(186003)(8676002)(33656002)(66476007)(4326008)(66556008)(76116006)(64756008)(66446008)(66946007)(66574015)(38070700005)(5660300002)(55016003)(316002)(86362001)(53546011)(478600001)(54906003)(7696005)(71200400001)(9686003)(110136005)(83380400001)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b09XbmQ0MDd0cUVDLzVvRCtkTVN3cUw3V0JXUmNsa1ZuUWl5K2lsTXhzWmFO?= =?utf-8?B?NS9oY2MwYkhHNWV4bFUvaFhLemRweThKYTZreVJiU0ZRMmxJblJBdFdVWEpY?= =?utf-8?B?RVZsTmRwdFh0VlBBQXRuR2dBK3ZoVWdxY2tRWS9lRVAzajJDTUw4bFB6K0x0?= =?utf-8?B?amxyd2NVaFFCSzMySXU4eEVvaWl2L1JYbklDeng4Vk42QThFL3lOYjJONXo1?= =?utf-8?B?N2tyU3BOUDQ3Skt0N01zcUNQeEs5dlAwRGZCanNYdTlMQXhsQjZVQ3JGT3JR?= =?utf-8?B?OXlSSW0ySGE3VnhtWjRVZVdKSklHbGo1a24wd1gwbUlGMmpEa2VrcldPdWd2?= =?utf-8?B?N08zRGJvNmgyTWlDWXBPN3ZweHNjV09zLzZGakJLZjd0RXlkNG94dWZJTDJL?= =?utf-8?B?YlF4S3oxemRHSzYxVUJsa3NmODFzSWdtNFlxZkxxYWljd0xkdDRMZUg1Wjhy?= =?utf-8?B?ckUrKzByTFg3SU1DMUtKUHlnUmNVcDVwaVNJaE4zVjZYTWhMakd6c2pYaWR1?= =?utf-8?B?RDBSTlFja1dwRnRrMnpSVHRGTzBoUk41eS9RbkdSV0lDY21NbmZLYkZoLzE1?= =?utf-8?B?bFd1TkNtSjFjRXZZeU54RXkrdklmNTBNSnFRWTVGb3RQekpRSEM5ZmdLcEtQ?= =?utf-8?B?RzNNa2VUaWtMMWs1c3lXTHgvRUk2K3ZMY2RsbkZEaXJFWVhZVzR3Mkpwa05E?= =?utf-8?B?cHlQMUtiNFBSQ0RkbkhhOGNsOVJsa1o0d20wWjVXcFo2VW4yK3Avb0F1ekVn?= =?utf-8?B?SmM4THJDOG9SaStWcGhYRWlNM0VoNzBUQ3VtTGVDVkk2dmxSTzZnT3lYSHhu?= =?utf-8?B?eldBVE84bG9oUmVydFAyeXN0bEFEcHlkQlJIVnV1U3ZXZ0VoYnJNMTRmZ0Jn?= =?utf-8?B?a0VzOHNTWERUdjg3eE82QVJSZmxsOGNTTnl3SDA2ZEtYOXRTM3hpOXJZVGlZ?= =?utf-8?B?VVhWbXlnSENEa2dZTTlGcUtmdFVwZnBvUjhGRDI0UWJXWXdtSzhrWml3RGhX?= =?utf-8?B?Qi8vay9Xa3NKejdvYmhCOWpPQXpua055enpVMDYrR2k5UzVlblZ4Y0NuQlZt?= =?utf-8?B?TGgvbWFDa1pIYTVYb0Rjdi9OQVBHbG1NL3V6TGNyR2lYT1h0MEQvS2RBOFRs?= =?utf-8?B?SGIyS1MvTWpiaGZzTjFGMXFkVXpmeFczL0d3b1BQWmlDblYzblRROTJwU0dH?= =?utf-8?B?SFhJaWNFay9pbHZUbk5hSERSaTFESjR0WGxxelY3UnRFdHpJb1c1UllOYVFD?= =?utf-8?B?MnVSaXBXNG5ScVN5NDdYNEEzcVFHZlNrUHdoRVEzN1BTN0pSdFFJRXU4QlN1?= =?utf-8?B?RDdKV0xrOWt2b0JKd2dLQVozSlowV2pHbzNobmZxbjZEVmNTVks3MHFuRU9m?= =?utf-8?B?cE02RE14LzlnaS9Xd2l0TXBtdmIzUXpjNVVsMG9iYXZueXc4SWQ0UlY3MFNo?= =?utf-8?B?VjBZZG9UMGtYd2FQL1R2cElyTXZDaU1nU0QrNGtSWVl1TEtZcFE0UUp6T3Jy?= =?utf-8?B?YmtBdGpRRW94dWwwM2VLQU9VRDhEZndNWit3NTh2Z3dZSXVsVWdCbTVjRzhv?= =?utf-8?B?dzFnbElsQ1NxM2k1V0xNVFdWNUN1blJ1NStKY3BZVTRNdFpSS3E3THpoSXNz?= =?utf-8?B?TUlFdHBPTFNLWVZXaE94ZkVHL1A2R2Z6amhpVmFTZzhGL2RqSDl1cGEwcDBS?= =?utf-8?B?YW9TalB3NXpSYSthWVQxWVpUaGxlcWFleEQra3FoVUtZM3FHNG55T1djMGNw?= =?utf-8?B?Rm03U3p5Y0RJMFNtbHRkRzRyQ3JORlFOUlYxMzFkSkdoZzZhWFJYMkVzN3ha?= =?utf-8?B?RDZCOFBTQWlSK09YTU5RUUlIMTEvRHAxMVMzV3hEZVpmN211Z1VGa09TUVJR?= =?utf-8?B?VjBXU05mU1hQd2FqMUtGTmtKNFdMRzAyaUhvMzQ2SXJVMEx1cjZFNkN2UHFk?= =?utf-8?B?S2J5Ykd2MVdpK3kybXdkMWc4MVFZZFdHcnNRQlNqdGZqdnJYdC8zbU5jVFZa?= =?utf-8?B?V056ZmJRM3BoOWk3UlBlbnBIZ1ovb1R1R2tJN0RFV0NmRFpmSWNVbkVFcENw?= =?utf-8?B?RXQrL0dyeTYxSkZXQ2pqaGVGNTJjUm1pM1NUQWVxVCtnNTI1cjU5SUp4bTJV?= =?utf-8?Q?VDEeuaObk8LG0sY6g7wOHG4JN?= 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: 6ce6ffd6-e234-4c6f-6337-08db0a73bfc1 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2023 08:00:45.7383 (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: cnza8oI6Rfd9EyM6b8jNIsNUNiEmSNFV+ObgDL4EsJTE7SOwTMMxhyZIUESooIkOcklkngO8CDdve/+Go6C6CQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4610 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEYXZpZCBNYXJjaGFuZCA8ZGF2 aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj4gU2VudDogVHVlc2RheSwgRmVicnVhcnkgNywgMjAy MyA2OjQ1IFBNDQo+IFRvOiBkZXZAZHBkay5vcmcNCj4gQ2M6IG1heGltZS5jb3F1ZWxpbkByZWRo YXQuY29tOyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsgWGlhLCBDaGVuYm8NCj4gPGNoZW5i by54aWFAaW50ZWwuY29tPjsgSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+OyBXYW5nLCBZ dWFuWA0KPiA8eXVhbngud2FuZ0BpbnRlbC5jb20+OyBEaW5nLCBYdWFuIDx4dWFuLmRpbmdAaW50 ZWwuY29tPjsNCj4gbWJAc21hcnRzaGFyZXN5c3RlbXMuY29tDQo+IFN1YmplY3Q6IFtQQVRDSCB2 NiAyLzldIHZob3N0OiBzaW1wbGlmeSBuZWVkIHJlcGx5IGhhbmRsaW5nDQo+IA0KPiBEZWRpY2F0 ZSBzZW5kX3Zob3N0X3NsYXZlX21lc3NhZ2UoKSBoZWxwZXIgdG8gdGhlIGNhc2Ugd2hlbiBubyBy ZXBseSBpcw0KPiBuZWVkZWQuDQo+IA0KPiBBZGQgYSBzZW5kX3Zob3N0X3NsYXZlX21lc3NhZ2Vf cHJvY2Vzc19yZXBseSgpIGhlbHBlciBmb3IgdGhlIG9wcG9zaXRlLg0KPiBUaGlzIG5ldyBoZWxw ZXIgbWVyZ2VzIGJvdGggc2VuZF92aG9zdF9zbGF2ZV9tZXNzYWdlKCkgYW5kIHRoZSBjb2RlDQo+ IHByZXZpb3VzbHkgaW4gcHJvY2Vzc19zbGF2ZV9tZXNzYWdlX3JlcGx5KCkuDQo+IFRoZSBzbGF2 ZV9yZXFfbG9jayBsb2NrIGlzIHRoZW4gb25seSBoYW5kbGVkIGluIHRoaXMgaGVscGVyIHdoaWNo IHdpbGwNCj4gbWFrZSBsb2NrIGNoZWNrcyB0cml2aWFsLg0KPiANCj4gU2lnbmVkLW9mZi1ieTog RGF2aWQgTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IEFja2VkLWJ5OiBN b3J0ZW4gQnLDuHJ1cCA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiBSZXZpZXdlZC1ieTog TWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gLS0tDQo+ICBs aWIvdmhvc3Qvdmhvc3RfdXNlci5jIHwgMTE5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgNjggZGVs ZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3Zob3N0X3VzZXIuYyBiL2xp Yi92aG9zdC92aG9zdF91c2VyLmMNCj4gaW5kZXggOGYzM2Q1ZjRkOS4uNjBlYzFiZjVmNiAxMDA2 NDQNCj4gLS0tIGEvbGliL3Zob3N0L3Zob3N0X3VzZXIuYw0KPiArKysgYi9saWIvdmhvc3Qvdmhv c3RfdXNlci5jDQo+IEBAIC0yODc4LDE4ICsyODc4LDQ2IEBAIHNlbmRfdmhvc3RfcmVwbHkoc3Ry dWN0IHZpcnRpb19uZXQgKmRldiwgaW50DQo+IHNvY2tmZCwgc3RydWN0IHZodV9tc2dfY29udGV4 dCAqY3R4DQo+ICB9DQo+IA0KPiAgc3RhdGljIGludA0KPiAtc2VuZF92aG9zdF9zbGF2ZV9tZXNz YWdlKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsDQo+IC0JCXN0cnVjdCB2aHVfbXNnX2NvbnRleHQg KmN0eCkNCj4gK3NlbmRfdmhvc3Rfc2xhdmVfbWVzc2FnZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2 LCBzdHJ1Y3Qgdmh1X21zZ19jb250ZXh0DQo+ICpjdHgpDQo+ICt7DQo+ICsJcmV0dXJuIHNlbmRf dmhvc3RfbWVzc2FnZShkZXYsIGRldi0+c2xhdmVfcmVxX2ZkLCBjdHgpOw0KPiArfQ0KPiArDQo+ ICtzdGF0aWMgaW50DQo+ICtzZW5kX3Zob3N0X3NsYXZlX21lc3NhZ2VfcHJvY2Vzc19yZXBseShz dHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3QNCj4gdmh1X21zZ19jb250ZXh0ICpjdHgpDQo+ ICB7DQo+ICsJc3RydWN0IHZodV9tc2dfY29udGV4dCBtc2dfcmVwbHk7DQo+ICAJaW50IHJldDsN Cj4gDQo+IC0JaWYgKGN0eC0+bXNnLmZsYWdzICYgVkhPU1RfVVNFUl9ORUVEX1JFUExZKQ0KPiAt CQlydGVfc3BpbmxvY2tfbG9jaygmZGV2LT5zbGF2ZV9yZXFfbG9jayk7DQo+ICsJcnRlX3NwaW5s b2NrX2xvY2soJmRldi0+c2xhdmVfcmVxX2xvY2spOw0KPiArCXJldCA9IHNlbmRfdmhvc3Rfc2xh dmVfbWVzc2FnZShkZXYsIGN0eCk7DQo+ICsJaWYgKHJldCA8IDApIHsNCj4gKwkJVkhPU1RfTE9H X0NPTkZJRyhkZXYtPmlmbmFtZSwgRVJSLCAiZmFpbGVkIHRvIHNlbmQgY29uZmlnDQo+IGNoYW5n ZSAoJWQpXG4iLCByZXQpOw0KPiArCQlnb3RvIG91dDsNCj4gKwl9DQo+IA0KPiAtCXJldCA9IHNl bmRfdmhvc3RfbWVzc2FnZShkZXYsIGRldi0+c2xhdmVfcmVxX2ZkLCBjdHgpOw0KPiAtCWlmIChy ZXQgPCAwICYmIChjdHgtPm1zZy5mbGFncyAmIFZIT1NUX1VTRVJfTkVFRF9SRVBMWSkpDQo+IC0J CXJ0ZV9zcGlubG9ja191bmxvY2soJmRldi0+c2xhdmVfcmVxX2xvY2spOw0KPiArCXJldCA9IHJl YWRfdmhvc3RfbWVzc2FnZShkZXYsIGRldi0+c2xhdmVfcmVxX2ZkLCAmbXNnX3JlcGx5KTsNCj4g KwlpZiAocmV0IDw9IDApIHsNCj4gKwkJaWYgKHJldCA8IDApDQo+ICsJCQlWSE9TVF9MT0dfQ09O RklHKGRldi0+aWZuYW1lLCBFUlIsDQo+ICsJCQkJInZob3N0IHJlYWQgc2xhdmUgbWVzc2FnZSBy ZXBseSBmYWlsZWRcbiIpOw0KPiArCQllbHNlDQo+ICsJCQlWSE9TVF9MT0dfQ09ORklHKGRldi0+ aWZuYW1lLCBJTkZPLCAidmhvc3QgcGVlcg0KPiBjbG9zZWRcbiIpOw0KPiArCQlyZXQgPSAtMTsN Cj4gKwkJZ290byBvdXQ7DQo+ICsJfQ0KPiArDQo+ICsJaWYgKG1zZ19yZXBseS5tc2cucmVxdWVz dC5zbGF2ZSAhPSBjdHgtPm1zZy5yZXF1ZXN0LnNsYXZlKSB7DQo+ICsJCVZIT1NUX0xPR19DT05G SUcoZGV2LT5pZm5hbWUsIEVSUiwNCj4gKwkJCSJyZWNlaXZlZCB1bmV4cGVjdGVkIG1zZyB0eXBl ICgldSksIGV4cGVjdGVkICV1XG4iLA0KPiArCQkJbXNnX3JlcGx5Lm1zZy5yZXF1ZXN0LnNsYXZl LCBjdHgtPm1zZy5yZXF1ZXN0LnNsYXZlKTsNCj4gKwkJcmV0ID0gLTE7DQo+ICsJCWdvdG8gb3V0 Ow0KPiArCX0NCj4gDQo+ICsJcmV0ID0gbXNnX3JlcGx5Lm1zZy5wYXlsb2FkLnU2NCA/IC0xIDog MDsNCj4gK291dDoNCj4gKwlydGVfc3BpbmxvY2tfdW5sb2NrKCZkZXYtPnNsYXZlX3JlcV9sb2Nr KTsNCj4gIAlyZXR1cm4gcmV0Ow0KPiAgfQ0KPiANCj4gQEAgLTMyMTMsNDIgKzMyNDEsNiBAQCB2 aG9zdF91c2VyX21zZ19oYW5kbGVyKGludCB2aWQsIGludCBmZCkNCj4gIAlyZXR1cm4gcmV0Ow0K PiAgfQ0KPiANCj4gLXN0YXRpYyBpbnQgcHJvY2Vzc19zbGF2ZV9tZXNzYWdlX3JlcGx5KHN0cnVj dCB2aXJ0aW9fbmV0ICpkZXYsDQo+IC0JCQkJICAgICAgIGNvbnN0IHN0cnVjdCB2aHVfbXNnX2Nv bnRleHQgKmN0eCkNCj4gLXsNCj4gLQlzdHJ1Y3Qgdmh1X21zZ19jb250ZXh0IG1zZ19yZXBseTsN Cj4gLQlpbnQgcmV0Ow0KPiAtDQo+IC0JaWYgKChjdHgtPm1zZy5mbGFncyAmIFZIT1NUX1VTRVJf TkVFRF9SRVBMWSkgPT0gMCkNCj4gLQkJcmV0dXJuIDA7DQo+IC0NCj4gLQlyZXQgPSByZWFkX3Zo b3N0X21lc3NhZ2UoZGV2LCBkZXYtPnNsYXZlX3JlcV9mZCwgJm1zZ19yZXBseSk7DQo+IC0JaWYg KHJldCA8PSAwKSB7DQo+IC0JCWlmIChyZXQgPCAwKQ0KPiAtCQkJVkhPU1RfTE9HX0NPTkZJRyhk ZXYtPmlmbmFtZSwgRVJSLA0KPiAtCQkJCSJ2aG9zdCByZWFkIHNsYXZlIG1lc3NhZ2UgcmVwbHkg ZmFpbGVkXG4iKTsNCj4gLQkJZWxzZQ0KPiAtCQkJVkhPU1RfTE9HX0NPTkZJRyhkZXYtPmlmbmFt ZSwgSU5GTywgInZob3N0IHBlZXINCj4gY2xvc2VkXG4iKTsNCj4gLQkJcmV0ID0gLTE7DQo+IC0J CWdvdG8gb3V0Ow0KPiAtCX0NCj4gLQ0KPiAtCXJldCA9IDA7DQo+IC0JaWYgKG1zZ19yZXBseS5t c2cucmVxdWVzdC5zbGF2ZSAhPSBjdHgtPm1zZy5yZXF1ZXN0LnNsYXZlKSB7DQo+IC0JCVZIT1NU X0xPR19DT05GSUcoZGV2LT5pZm5hbWUsIEVSUiwNCj4gLQkJCSJyZWNlaXZlZCB1bmV4cGVjdGVk IG1zZyB0eXBlICgldSksIGV4cGVjdGVkICV1XG4iLA0KPiAtCQkJbXNnX3JlcGx5Lm1zZy5yZXF1 ZXN0LnNsYXZlLCBjdHgtPm1zZy5yZXF1ZXN0LnNsYXZlKTsNCj4gLQkJcmV0ID0gLTE7DQo+IC0J CWdvdG8gb3V0Ow0KPiAtCX0NCj4gLQ0KPiAtCXJldCA9IG1zZ19yZXBseS5tc2cucGF5bG9hZC51 NjQgPyAtMSA6IDA7DQo+IC0NCj4gLW91dDoNCj4gLQlydGVfc3BpbmxvY2tfdW5sb2NrKCZkZXYt PnNsYXZlX3JlcV9sb2NrKTsNCj4gLQlyZXR1cm4gcmV0Ow0KPiAtfQ0KPiAtDQo+ICBpbnQNCj4g IHZob3N0X3VzZXJfaW90bGJfbWlzcyhzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCB1aW50NjRfdCBp b3ZhLCB1aW50OF90IHBlcm0pDQo+ICB7DQo+IEBAIC0zMjc3LDEwICszMjY5LDkgQEAgdmhvc3Rf dXNlcl9pb3RsYl9taXNzKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsDQo+IHVpbnQ2NF90IGlvdmEs IHVpbnQ4X3QgcGVybSkNCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gDQo+IC1zdGF0aWMgaW50DQo+ IC12aG9zdF91c2VyX3NsYXZlX2NvbmZpZ19jaGFuZ2Uoc3RydWN0IHZpcnRpb19uZXQgKmRldiwg Ym9vbCBuZWVkX3JlcGx5KQ0KPiAraW50DQo+ICtydGVfdmhvc3Rfc2xhdmVfY29uZmlnX2NoYW5n ZShpbnQgdmlkLCBib29sIG5lZWRfcmVwbHkpDQo+ICB7DQo+IC0JaW50IHJldDsNCj4gIAlzdHJ1 Y3Qgdmh1X21zZ19jb250ZXh0IGN0eCA9IHsNCj4gIAkJLm1zZyA9IHsNCj4gIAkJCS5yZXF1ZXN0 LnNsYXZlID0gVkhPU1RfVVNFUl9TTEFWRV9DT05GSUdfQ0hBTkdFX01TRywNCj4gQEAgLTMyODgs MjkgKzMyNzksMjMgQEAgdmhvc3RfdXNlcl9zbGF2ZV9jb25maWdfY2hhbmdlKHN0cnVjdCB2aXJ0 aW9fbmV0DQo+ICpkZXYsIGJvb2wgbmVlZF9yZXBseSkNCj4gIAkJCS5zaXplID0gMCwNCj4gIAkJ fQ0KPiAgCX07DQo+IC0NCj4gLQlpZiAobmVlZF9yZXBseSkNCj4gLQkJY3R4Lm1zZy5mbGFncyB8 PSBWSE9TVF9VU0VSX05FRURfUkVQTFk7DQo+IC0NCj4gLQlyZXQgPSBzZW5kX3Zob3N0X3NsYXZl X21lc3NhZ2UoZGV2LCAmY3R4KTsNCj4gLQlpZiAocmV0IDwgMCkgew0KPiAtCQlWSE9TVF9MT0df Q09ORklHKGRldi0+aWZuYW1lLCBFUlIsICJmYWlsZWQgdG8gc2VuZCBjb25maWcNCj4gY2hhbmdl ICglZClcbiIsIHJldCk7DQo+IC0JCXJldHVybiByZXQ7DQo+IC0JfQ0KPiAtDQo+IC0JcmV0dXJu IHByb2Nlc3Nfc2xhdmVfbWVzc2FnZV9yZXBseShkZXYsICZjdHgpOw0KPiAtfQ0KPiAtDQo+IC1p bnQNCj4gLXJ0ZV92aG9zdF9zbGF2ZV9jb25maWdfY2hhbmdlKGludCB2aWQsIGJvb2wgbmVlZF9y ZXBseSkNCj4gLXsNCj4gIAlzdHJ1Y3QgdmlydGlvX25ldCAqZGV2Ow0KPiArCWludCByZXQ7DQo+ IA0KPiAgCWRldiA9IGdldF9kZXZpY2UodmlkKTsNCj4gIAlpZiAoIWRldikNCj4gIAkJcmV0dXJu IC1FTk9ERVY7DQo+IA0KPiAtCXJldHVybiB2aG9zdF91c2VyX3NsYXZlX2NvbmZpZ19jaGFuZ2Uo ZGV2LCBuZWVkX3JlcGx5KTsNCj4gKwlpZiAoIW5lZWRfcmVwbHkpIHsNCj4gKwkJcmV0ID0gc2Vu ZF92aG9zdF9zbGF2ZV9tZXNzYWdlKGRldiwgJmN0eCk7DQo+ICsJfSBlbHNlIHsNCj4gKwkJY3R4 Lm1zZy5mbGFncyB8PSBWSE9TVF9VU0VSX05FRURfUkVQTFk7DQo+ICsJCXJldCA9IHNlbmRfdmhv c3Rfc2xhdmVfbWVzc2FnZV9wcm9jZXNzX3JlcGx5KGRldiwgJmN0eCk7DQo+ICsJfQ0KPiArDQo+ ICsJaWYgKHJldCA8IDApDQo+ICsJCVZIT1NUX0xPR19DT05GSUcoZGV2LT5pZm5hbWUsIEVSUiwg ImZhaWxlZCB0byBzZW5kIGNvbmZpZw0KPiBjaGFuZ2UgKCVkKVxuIiwgcmV0KTsNCj4gKwlyZXR1 cm4gcmV0Ow0KPiAgfQ0KPiANCj4gIHN0YXRpYyBpbnQgdmhvc3RfdXNlcl9zbGF2ZV9zZXRfdnJp bmdfaG9zdF9ub3RpZmllcihzdHJ1Y3QgdmlydGlvX25ldA0KPiAqZGV2LA0KPiBAQCAtMzMzOSwx MyArMzMyNCwxMSBAQCBzdGF0aWMgaW50DQo+IHZob3N0X3VzZXJfc2xhdmVfc2V0X3ZyaW5nX2hv c3Rfbm90aWZpZXIoc3RydWN0IHZpcnRpb19uZXQgKmRldiwNCj4gIAkJY3R4LmZkX251bSA9IDE7 DQo+ICAJfQ0KPiANCj4gLQlyZXQgPSBzZW5kX3Zob3N0X3NsYXZlX21lc3NhZ2UoZGV2LCAmY3R4 KTsNCj4gLQlpZiAocmV0IDwgMCkgew0KPiArCXJldCA9IHNlbmRfdmhvc3Rfc2xhdmVfbWVzc2Fn ZV9wcm9jZXNzX3JlcGx5KGRldiwgJmN0eCk7DQo+ICsJaWYgKHJldCA8IDApDQo+ICAJCVZIT1NU X0xPR19DT05GSUcoZGV2LT5pZm5hbWUsIEVSUiwgImZhaWxlZCB0byBzZXQgaG9zdA0KPiBub3Rp ZmllciAoJWQpXG4iLCByZXQpOw0KPiAtCQlyZXR1cm4gcmV0Ow0KPiAtCX0NCj4gDQo+IC0JcmV0 dXJuIHByb2Nlc3Nfc2xhdmVfbWVzc2FnZV9yZXBseShkZXYsICZjdHgpOw0KPiArCXJldHVybiBy ZXQ7DQo+ICB9DQo+IA0KPiAgaW50IHJ0ZV92aG9zdF9ob3N0X25vdGlmaWVyX2N0cmwoaW50IHZp ZCwgdWludDE2X3QgcWlkLCBib29sIGVuYWJsZSkNCj4gLS0NCj4gMi4zOS4xDQoNClJldmlld2Vk LWJ5OiBDaGVuYm8gWGlhIDxjaGVuYm8ueGlhQGludGVsLmNvbT4gDQo=