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 9A50D41C49; Thu, 9 Feb 2023 09:01:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 87BCA42B8C; Thu, 9 Feb 2023 09:01:49 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 9E66340DF8 for ; Thu, 9 Feb 2023 09:01:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675929707; x=1707465707; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=LXdK2NEvB807XVOgI/eSZzY26FLcG0DZ+KC4IzgFSIU=; b=IY/itJrIlUdxzF5occQO1HdiHjpfK/Cm3F/ATNTkqZNUEdwR5CRagoQG Km2nabnJcZ1x65gcRojq/YHySWhHzxFem2jluZhmMDqHP5IMgXPfaxAks iXnWZDnlSRVQMHUhiKMXY3Pgwz4c0Thnt7YAhE7gzaEnizYo5vdIYRWtp rE+fiidBuzN307kgjRV4Cr1xHsDkLG9aFRAlPiOecd/8Vv7cIcwJDZzvv ORf5E83R/IDYq2Sb99yRRbNCHguSYXU9IKY7qCCVN71BjnX9PfCnUvN7Z 8GecDMuog9OJMKLLT6gkvbL4Vu6Xn1DACpIaRhqd1cFZaa3SozG0V/jN/ Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="416267711" X-IronPort-AV: E=Sophos;i="5.97,283,1669104000"; d="scan'208";a="416267711" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2023 00:01:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="731164125" X-IronPort-AV: E=Sophos;i="5.97,283,1669104000"; d="scan'208";a="731164125" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga008.fm.intel.com with ESMTP; 09 Feb 2023 00:01:41 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) 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:01:39 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.2507.16; Thu, 9 Feb 2023 00:01:38 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) 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:01:38 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) 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:01:37 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NWDTTcIndCbZiqSdUOd2XOy1SIQo7BZ96O3AFe5xwMoOKLWT40DjaTxMTp+Ov74Cfwvl+TQKJ7AcMVvwpmBuY996abnV01LXWFB7pksui9FpUddavBar1KVa0Tk/Xjh0De2qDSPcO7vAk9gCa+53f/UyetmiA1gMQM50zisEQWxIrPLGNQmTfqdcg75kYU0gJbFNAuwJcdbpZhlt75dngQRToijly223Marz3q8rgs2p3Z3K55wB3G5m56M3Dq3k0UU6M2D/7xRcorxuB9YuQVHqinWwIE1dgfDhLtdVbEq+/fOgEXoWPIBXkMvBLtabbdqnj7OHP46jKutiAfcAwQ== 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=LXdK2NEvB807XVOgI/eSZzY26FLcG0DZ+KC4IzgFSIU=; b=Mieo0pLjlbbCBCauTI7/OmRKlMA6U31CaylovM1uYzKhYHg8YUVtJ3fgkN2GKul2FoJ0iz7f+fO8swELb5qja3S0g2MXoMOo1aVKQARSEB4E8xkpKiVMbKqzNApo7Spoo2vXi7akhmIgblm4nL8BAmGDvH1XAHSzoj+MXbjE+Q107n4h2MjYU4AyaWRfG2AZPu0vyboAqfxVDbcSxYL8HAALDmP7z+Z09+xlBh07LHG4AePRvPDwkw4QBx+JaIXIbDjQg92/apsYcDYTWDwoNlncW1tqMvKCzWnHDd2MOoGjoaqrYJ97CbZqf0Hy2pJRZldbE/bUFXtWMR74z/BSDQ== 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 DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::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:01:35 +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:01:35 +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 5/9] vhost: annotate async accesses Thread-Topic: [PATCH v6 5/9] vhost: annotate async accesses Thread-Index: AQHZOuFuBp//jHGVpE2ugGtYZHkkHa7GQ52w Date: Thu, 9 Feb 2023 08:01:34 +0000 Message-ID: References: <20220328121758.26632-1-david.marchand@redhat.com> <20230207104532.2370869-1-david.marchand@redhat.com> <20230207104532.2370869-6-david.marchand@redhat.com> In-Reply-To: <20230207104532.2370869-6-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_|DM4PR11MB6020:EE_ x-ms-office365-filtering-correlation-id: deade3ed-78b4-46f3-9f2f-08db0a73dd20 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 47BkO4OUr4XsK1SAwCH1Tae0iX1I5Gqz74IB1UfSPFsoZ1lzPvgLKjOOsnSfb5T54Uku4eNVBaxPxLE5QT0apmSO/We+m0sVj9wRNhmVAWUiygDp7G4/aGdQoqSMQJdcNb66vqOVPSesHFw6tjJgfMA4vUjp0wmA6o3tOnJ6dtnniw7cI2CcBl9nX6SmYRstxy6GPzlYM9qQ8GD2kSPKzgK+/fT/Zy8PnCh5PcuWXok8PzN+1IUHQWp4nFA3VzgtjPOawMluulL6O1/NPu6V1R1qkk8cM18E5r8l2UtbWWvY/1fqXs82inLALbsYFC/f3jvAXt81yu+ZesDdmDFmYMwAmAib2GBJde0UalesShubB+fg7PkKcYPBPHkNYZPDKZRmrpuVrzWVNiHcz77d7pEw0/WuGzbtdk0LJBgx3DHGoPqNmBw105+01bsh6uGsvkN9bDLuILVCd6wn9fiyMEq384w33g8T8FmJbwlRVBB9ImLFr74QAVDJOhX4k+HYbeNxfCrstlcMGQvajdjuyLRIb+LldIJrI9wQI8pxrTjhcd5EgTsR3ObpBjNp1H/n8UyJWndEKra3byxVX3lflKJuur95e88gSSBw2+TBJFR19FFfqLK+AAPkSoee3X8u37HQw8I3GhsmlQ2xEdSTKdxnXuz8ptFVEdwAnRRKe4nCY5kPLVmkPI/wLIr672X6s7kFX16zH/qQsU7NrIm7wbJjOw4UdjWhHyWiptgQ4zA= 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)(346002)(39860400002)(376002)(136003)(396003)(366004)(451199018)(2906002)(30864003)(86362001)(38100700002)(82960400001)(122000001)(71200400001)(66574015)(7696005)(186003)(26005)(76116006)(9686003)(6506007)(53546011)(110136005)(33656002)(38070700005)(55016003)(66556008)(64756008)(54906003)(83380400001)(66476007)(316002)(66446008)(66946007)(4326008)(478600001)(41300700001)(52536014)(8676002)(5660300002)(8936002)(579004)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NE5GRGVqM1ZQZmF0UlVjd2Q2Zi8zYmNhSjl2Mis0Tkt3cHJjMUUrdjBqZXkw?= =?utf-8?B?ay84eU5jUlBVNEluWWlEU3VGSGdqQm44VUVQSStObE1YZTBPUG1ydUNPQ00r?= =?utf-8?B?MTJMemNyRTJRMHBVRFBUVC9LY1QzK1UrSmZRUi9mN0tXSUg0Tno0MU4zQ3F5?= =?utf-8?B?WXR5TGlUUUxOWjlBTEk5QThPRCs3TjdkSUJvZFFNNk84TmsxMmpjUVVtUXQ3?= =?utf-8?B?Tk9CMnpYZU1rRldrTjMxRWhBWDFEMU83QTQ4ek4zMUdpTjhxMmJYaW5MVmJx?= =?utf-8?B?M3VTV2ZjOTdabm1PVFJoS0ZGbXJYdUw3cDZiVVlXd1ZQNHd2bXdhUFdYNlhl?= =?utf-8?B?UTJlRlluUkxWSjRLT3RqeGFMSUd2QzBUQWZNeEc1ZzJQR3hnbU5PbW1DQXB2?= =?utf-8?B?VWQ0UXgxYmRER2d6dkZrMjN0Kzk1elpGMnFVdTM2YTF5QUpNMnJ0NFB4WmZs?= =?utf-8?B?STRCTjV4TnMydUJMS0NmUkJDVGVyYzA5MUNaSHd0UHpib0xlbVhub0Y4OFZP?= =?utf-8?B?TXAwSEVhOXZoMmF0QzdPdmdKM0wySlNzNU9vWFBIenFJd3dNS0g0U29GTUJj?= =?utf-8?B?YkdXQVBMRkprdGxqWGdIZDRMRDMvY2lBYmFDMHRQRldYZ2RmQkpJbnNwZnZC?= =?utf-8?B?L0RyakhuUm0wY3dZajBvUXdndFd0blJoZm41Wnd3ZVdvcVdQOEtIMy8vZ0Vh?= =?utf-8?B?NXpCV0puUkt3RGtGU2FYMkZwWExFOHF4ZnF1clZvSDBjQ1ZvYzZWVWd3RVVx?= =?utf-8?B?NmFIYW5KeHMrV2VUR3lsTXhEbXdwdkE1Q2dUQ2RPTkZxUnlJWjZVMGxTUE1w?= =?utf-8?B?N3BwM0tUTGRlTTQ5Z2NEdUtvN0xkUWVQdEJDbXV4RzJoRnZLWW9ENGdkQkVQ?= =?utf-8?B?eElOR0pQcjB3S04yTHBQYlQyY2RVSTU0Z3MyTHhncTdhQ3JvNWdhUVMrZklW?= =?utf-8?B?NzJFS3NWNk5hZmxoZ3p0eEdBQzZpVXJzNjRMRDdNSlBjRlJKekZhY0UzNUtn?= =?utf-8?B?QUhGWTBXQzdZMzFMU1RLczFBWHB0QXRhL0NyVlVEYndqQkFjcjlnRUdOa1pY?= =?utf-8?B?RWlxUTJ1V1dCQWFFdlpRWFBiWlY3c1NrSC9xY0lGdkJzSXJzbXpFR2ZRdkw2?= =?utf-8?B?bUZPcFNIU2FXWm1OYjJOWnFhL2tEdE4zS1lHU3k3K1dtUkx0TnJmemt5Rmwx?= =?utf-8?B?K0ozNU1TTkxnbzZ3emEra0dQN2JQQ01lWEVCczNlNnJncDAxYlptUEtOZlBw?= =?utf-8?B?RDF4ckIzYWdpNEdSNkVnVHVhMFo4cWVRTnFwQ01jd2h2eCtwbW5YTU5FLy9V?= =?utf-8?B?UkVzcEd5Y0xtZnJVeE90dVNhdnJlRmI0ZSs2MDVycUp1N2pUUDJQWE83UXZn?= =?utf-8?B?dDZING13aTRncHllVFhvbmJWaTJPVktTeVJ2S2p6QU81dWQyL2poRGovYXFB?= =?utf-8?B?eVo4Zk1XUHJhY3FLeHZXZUdQRjhRVjY1WndNL2dRUHVaT2w4SHA1UTBCU2NV?= =?utf-8?B?MXFCeTFHRnVXOG9OZkpSYkxzeFJZOCtycDBvTFhGTUxFQjdLbGNkUHZnY0lN?= =?utf-8?B?S0JTMnJtRStpTk9FWmNLNFBxSE1iRDBJNDlQNmZFQXRHc0FxeGZ2bzFQc3Zp?= =?utf-8?B?eU1Tc1liaUp3K1hZeVMwQ1o5NmoyUTkxQXhNNStjZks4OUZwZnAxRC9QN0Ro?= =?utf-8?B?ZFd6aUVSNTNVSUh2UGRBUDJabzBOeElaNW1mZ2pWUkMvZ29RRVZNMnptZTFX?= =?utf-8?B?UEpQVS9YYTgxSFA0bGtJc3RhUWVrbEtNYy9PZDVhOUR5TnBHUGphajMvS3lQ?= =?utf-8?B?dFo1a3NBMFh2RDlua1QzM2VkWlY1TVpQTGxUeEphSUFWd1JRaCsyS3dpaFlQ?= =?utf-8?B?Y2FRd0RyM3Evdkc2VzNJSmpiQXVBbjYvQ0d6eW14N21YNFNsd29SZlBPSDc3?= =?utf-8?B?K0tMOTVkUGJtbWtBcld4d3JMVTFNV2diV2p2Z0NuMStKaHdxNlhBOHlIWDN1?= =?utf-8?B?YUJxbzFUcEJWdmp6NWdIRGNpejZLcUNGUmJpOXp4Unh5U3VMQjQrMGErZmtR?= =?utf-8?B?andqaWcxMC9rRGk2YTdabDhPSk1HL0M2MHJDOGlTRVpGaWZSbDBrYTUyT0Vm?= =?utf-8?Q?swa/RvQuvJP+9ueZKzy+9jGlw?= 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: deade3ed-78b4-46f3-9f2f-08db0a73dd20 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2023 08:01:35.0007 (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: mGH/UPzdK19LFrUqsxGMeKw7xIbQuPdVVpw/MYIP7oyhSJwv02TMB7nZWhhNbfUfCNxAkG5Sgt4bKEL6VfIn/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6020 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 NiA1LzldIHZob3N0OiBhbm5vdGF0ZSBhc3luYyBhY2Nlc3Nlcw0KPiANCj4gdnEtPmFzeW5jIGlz IGluaXRpYWxpc2VkIGFuZCBtdXN0IGJlIGFjY2Vzc2VkIHVuZGVyIHZxLT5hY2Nlc3NfbG9jay4N Cj4gDQo+IFNpZ25lZC1vZmYtYnk6IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRo YXQuY29tPg0KPiBBY2tlZC1ieTogTW9ydGVuIEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0ZW1z LmNvbT4NCj4gUmV2aWV3ZWQtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJl ZGhhdC5jb20+DQo+IC0tLQ0KPiBDaGFuZ2VzIHNpbmNlIHY1Og0KPiAtIHJlYmFzZWQgYWZ0ZXIg cGFja2VkIHN1cHBvcnQgd2FzIGFkZGVkIHRvIGFzeW5jIGNvZGUsDQo+IA0KPiBDaGFuZ2VzIHNp bmNlIFJGQyB2MzoNCj4gLSByZWJhc2VkLA0KPiAtIGZpeGVkIGFubm90YXRpb25zIHZxLT5hY2Nl c3NfbG9jayAtPiAmdnEtPmFjY2Vzc19sb2NrLA0KPiAtIHJld29ya2VkIGZyZWVfdnEsDQo+IA0K PiAtLS0NCj4gIGxpYi92aG9zdC92aG9zdC5jICAgICAgfCAgNCArKysrDQo+ICBsaWIvdmhvc3Qv dmhvc3QuaCAgICAgIHwgIDIgKy0NCj4gIGxpYi92aG9zdC92aG9zdF91c2VyLmMgfCAxMCArKysr KysrLS0tDQo+ICBsaWIvdmhvc3QvdmlydGlvX25ldC5jIHwgNDEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysNCj4gIDQgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9saWIvdmhvc3Qvdmhvc3Qu YyBiL2xpYi92aG9zdC92aG9zdC5jDQo+IGluZGV4IDhjZDcyN2NhMmYuLjhiY2NkZDg1ODQgMTAw NjQ0DQo+IC0tLSBhL2xpYi92aG9zdC92aG9zdC5jDQo+ICsrKyBiL2xpYi92aG9zdC92aG9zdC5j DQo+IEBAIC0zNjksNiArMzY5LDcgQEAgY2xlYW51cF9kZXZpY2Uoc3RydWN0IHZpcnRpb19uZXQg KmRldiwgaW50IGRlc3Ryb3kpDQo+IA0KPiAgc3RhdGljIHZvaWQNCj4gIHZob3N0X2ZyZWVfYXN5 bmNfbWVtKHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9s b2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCWlmICghdnEtPmFzeW5j KQ0KPiAgCQlyZXR1cm47DQo+IEBAIC0zOTMsNyArMzk0LDkgQEAgZnJlZV92cShzdHJ1Y3Qgdmly dGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlDQo+ICp2cSkNCj4gIAllbHNlDQo+ ICAJCXJ0ZV9mcmVlKHZxLT5zaGFkb3dfdXNlZF9zcGxpdCk7DQo+IA0KPiArCXJ0ZV9zcGlubG9j a19sb2NrKCZ2cS0+YWNjZXNzX2xvY2spOw0KPiAgCXZob3N0X2ZyZWVfYXN5bmNfbWVtKHZxKTsN Cj4gKwlydGVfc3BpbmxvY2tfdW5sb2NrKCZ2cS0+YWNjZXNzX2xvY2spOw0KPiAgCXJ0ZV9mcmVl KHZxLT5iYXRjaF9jb3B5X2VsZW1zKTsNCj4gIAl2aG9zdF91c2VyX2lvdGxiX2Rlc3Ryb3kodnEp Ow0KPiAgCXJ0ZV9mcmVlKHZxLT5sb2dfY2FjaGUpOw0KPiBAQCAtMTY2OSw2ICsxNjcyLDcgQEAg cnRlX3Zob3N0X2V4dGVybl9jYWxsYmFja19yZWdpc3RlcihpbnQgdmlkLA0KPiANCj4gIHN0YXRp YyBfX3J0ZV9hbHdheXNfaW5saW5lIGludA0KPiAgYXN5bmNfY2hhbm5lbF9yZWdpc3RlcihzdHJ1 Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSkNCj4gKwlfX3J0 ZV9leGNsdXNpdmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAlz dHJ1Y3Qgdmhvc3RfYXN5bmMgKmFzeW5jOw0KPiAgCWludCBub2RlID0gdnEtPm51bWFfbm9kZTsN Cj4gZGlmZiAtLWdpdCBhL2xpYi92aG9zdC92aG9zdC5oIGIvbGliL3Zob3N0L3Zob3N0LmgNCj4g aW5kZXggODJmZTliNWZkYS4uYzA1MzEzY2YzNyAxMDA2NDQNCj4gLS0tIGEvbGliL3Zob3N0L3Zo b3N0LmgNCj4gKysrIGIvbGliL3Zob3N0L3Zob3N0LmgNCj4gQEAgLTMyNiw3ICszMjYsNyBAQCBz dHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlIHsNCj4gIAlzdHJ1Y3QgcnRlX3Zob3N0X3Jlc3VibWl0X2lu Zm8gKnJlc3VibWl0X2luZmxpZ2h0Ow0KPiAgCXVpbnQ2NF90CQlnbG9iYWxfY291bnRlcjsNCj4g DQo+IC0Jc3RydWN0IHZob3N0X2FzeW5jCSphc3luYzsNCj4gKwlzdHJ1Y3Qgdmhvc3RfYXN5bmMJ KmFzeW5jIF9fcnRlX2d1YXJkZWRfdmFyOw0KPiANCj4gIAlpbnQJCQlub3RpZl9lbmFibGU7DQo+ ICAjZGVmaW5lIFZJUlRJT19VTklOSVRJQUxJWkVEX05PVElGCSgtMSkNCj4gZGlmZiAtLWdpdCBh L2xpYi92aG9zdC92aG9zdF91c2VyLmMgYi9saWIvdmhvc3Qvdmhvc3RfdXNlci5jDQo+IGluZGV4 IDcwZDIyMWI5ZjYuLjhjMWQ2MGI3NmIgMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9zdC92aG9zdF91 c2VyLmMNCj4gKysrIGIvbGliL3Zob3N0L3Zob3N0X3VzZXIuYw0KPiBAQCAtMjE2OCw2ICsyMTY4 LDcgQEAgdmhvc3RfdXNlcl9zZXRfdnJpbmdfZW5hYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRl diwNCj4gIAkJCWludCBtYWluX2ZkIF9fcnRlX3VudXNlZCkNCj4gIHsNCj4gIAlzdHJ1Y3Qgdmly dGlvX25ldCAqZGV2ID0gKnBkZXY7DQo+ICsJc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnE7DQo+ ICAJYm9vbCBlbmFibGUgPSAhIWN0eC0+bXNnLnBheWxvYWQuc3RhdGUubnVtOw0KPiAgCWludCBp bmRleCA9IChpbnQpY3R4LT5tc2cucGF5bG9hZC5zdGF0ZS5pbmRleDsNCj4gDQo+IEBAIC0yMTc1 LDE1ICsyMTc2LDE4IEBAIHZob3N0X3VzZXJfc2V0X3ZyaW5nX2VuYWJsZShzdHJ1Y3QgdmlydGlv X25ldA0KPiAqKnBkZXYsDQo+ICAJCSJzZXQgcXVldWUgZW5hYmxlOiAlZCB0byBxcCBpZHg6ICVk XG4iLA0KPiAgCQllbmFibGUsIGluZGV4KTsNCj4gDQo+IC0JaWYgKGVuYWJsZSAmJiBkZXYtPnZp cnRxdWV1ZVtpbmRleF0tPmFzeW5jKSB7DQo+IC0JCWlmIChkZXYtPnZpcnRxdWV1ZVtpbmRleF0t PmFzeW5jLT5wa3RzX2luZmxpZ2h0X24pIHsNCj4gKwl2cSA9IGRldi0+dmlydHF1ZXVlW2luZGV4 XTsNCj4gKwkvKiB2aG9zdF91c2VyX2xvY2tfYWxsX3F1ZXVlX3BhaXJzIGxvY2tlZCBhbGwgcXBz ICovDQo+ICsJdnFfYXNzZXJ0X2xvY2soZGV2LCB2cSk7DQo+ICsJaWYgKGVuYWJsZSAmJiB2cS0+ YXN5bmMpIHsNCj4gKwkJaWYgKHZxLT5hc3luYy0+cGt0c19pbmZsaWdodF9uKSB7DQo+ICAJCQlW SE9TVF9MT0dfQ09ORklHKGRldi0+aWZuYW1lLCBFUlIsDQo+ICAJCQkJImZhaWxlZCB0byBlbmFi bGUgdnJpbmcuIEluZmxpZ2h0IHBhY2tldHMgbXVzdCBiZQ0KPiBjb21wbGV0ZWQgZmlyc3RcbiIp Ow0KPiAgCQkJcmV0dXJuIFJURV9WSE9TVF9NU0dfUkVTVUxUX0VSUjsNCj4gIAkJfQ0KPiAgCX0N Cj4gDQo+IC0JZGV2LT52aXJ0cXVldWVbaW5kZXhdLT5lbmFibGVkID0gZW5hYmxlOw0KPiArCXZx LT5lbmFibGVkID0gZW5hYmxlOw0KPiANCj4gIAlyZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRf T0s7DQo+ICB9DQo+IGRpZmYgLS1naXQgYS9saWIvdmhvc3QvdmlydGlvX25ldC5jIGIvbGliL3Zo b3N0L3ZpcnRpb19uZXQuYw0KPiBpbmRleCBmMmFiNmRiYTE1Li42NjcyY2FhYzQ5IDEwMDY0NA0K PiAtLS0gYS9saWIvdmhvc3QvdmlydGlvX25ldC5jDQo+ICsrKyBiL2xpYi92aG9zdC92aXJ0aW9f bmV0LmMNCj4gQEAgLTEwMiw2ICsxMDIsNyBAQCBzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSBp bnQ2NF90DQo+ICB2aG9zdF9hc3luY19kbWFfdHJhbnNmZXJfb25lKHN0cnVjdCB2aXJ0aW9fbmV0 ICpkZXYsIHN0cnVjdA0KPiB2aG9zdF92aXJ0cXVldWUgKnZxLA0KPiAgCQlpbnQxNl90IGRtYV9p ZCwgdWludDE2X3QgdmNoYW5faWQsIHVpbnQxNl90IGZsYWdfaWR4LA0KPiAgCQlzdHJ1Y3Qgdmhv c3RfaW92X2l0ZXIgKnBrdCkNCj4gKwlfX3J0ZV9leGNsdXNpdmVfbG9ja3NfcmVxdWlyZWQoJnZx LT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAlzdHJ1Y3QgYXN5bmNfZG1hX3ZjaGFuX2luZm8gKmRt YV9pbmZvID0NCj4gJmRtYV9jb3B5X3RyYWNrW2RtYV9pZF0udmNoYW5zW3ZjaGFuX2lkXTsNCj4g IAl1aW50MTZfdCByaW5nX21hc2sgPSBkbWFfaW5mby0+cmluZ19tYXNrOw0KPiBAQCAtMTUxLDYg KzE1Miw3IEBAIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHVpbnQxNl90DQo+ICB2aG9zdF9h c3luY19kbWFfdHJhbnNmZXIoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgc3RydWN0IHZob3N0X3Zp cnRxdWV1ZQ0KPiAqdnEsDQo+ICAJCWludDE2X3QgZG1hX2lkLCB1aW50MTZfdCB2Y2hhbl9pZCwg dWludDE2X3QgaGVhZF9pZHgsDQo+ICAJCXN0cnVjdCB2aG9zdF9pb3ZfaXRlciAqcGt0cywgdWlu dDE2X3QgbnJfcGt0cykNCj4gKwlfX3J0ZV9leGNsdXNpdmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5h Y2Nlc3NfbG9jaykNCj4gIHsNCj4gIAlzdHJ1Y3QgYXN5bmNfZG1hX3ZjaGFuX2luZm8gKmRtYV9p bmZvID0NCj4gJmRtYV9jb3B5X3RyYWNrW2RtYV9pZF0udmNoYW5zW3ZjaGFuX2lkXTsNCj4gIAlp bnQ2NF90IHJldCwgbnJfY29waWVzID0gMDsNCj4gQEAgLTQzNCw2ICs0MzYsNyBAQCBzdGF0aWMg X19ydGVfYWx3YXlzX2lubGluZSB2b2lkDQo+ICB2aG9zdF9hc3luY19zaGFkb3dfZW5xdWV1ZV9w YWNrZWRfYmF0Y2goc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsDQo+ICAJCQkJIHVpbnQ2NF90 ICpsZW5zLA0KPiAgCQkJCSB1aW50MTZfdCAqaWRzKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nr c19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXVpbnQxNl90IGk7DQo+ICAJ c3RydWN0IHZob3N0X2FzeW5jICphc3luYyA9IHZxLT5hc3luYzsNCj4gQEAgLTQ1MCw2ICs0NTMs NyBAQCB2aG9zdF9hc3luY19zaGFkb3dfZW5xdWV1ZV9wYWNrZWRfYmF0Y2goc3RydWN0DQo+IHZo b3N0X3ZpcnRxdWV1ZSAqdnEsDQo+IA0KPiAgc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9p ZA0KPiAgdmhvc3RfYXN5bmNfc2hhZG93X2RlcXVldWVfcGFja2VkX2JhdGNoKHN0cnVjdCB2aG9z dF92aXJ0cXVldWUgKnZxLA0KPiB1aW50MTZfdCAqaWRzKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9s b2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXVpbnQxNl90IGk7DQo+ ICAJc3RydWN0IHZob3N0X2FzeW5jICphc3luYyA9IHZxLT5hc3luYzsNCj4gQEAgLTYxMSw2ICs2 MTUsNyBAQCB2aG9zdF9hc3luY19zaGFkb3dfZW5xdWV1ZV9wYWNrZWQoc3RydWN0DQo+IHZob3N0 X3ZpcnRxdWV1ZSAqdnEsDQo+ICAJCQkJICAgdWludDE2X3QgKmlkLA0KPiAgCQkJCSAgIHVpbnQx Nl90ICpjb3VudCwNCj4gIAkJCQkgICB1aW50MTZfdCBudW1fYnVmZmVycykNCj4gKwlfX3J0ZV9l eGNsdXNpdmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAl1aW50 MTZfdCBpOw0KPiAgCXN0cnVjdCB2aG9zdF9hc3luYyAqYXN5bmMgPSB2cS0+YXN5bmM7DQo+IEBA IC0xMTE4LDYgKzExMjMsNyBAQCBzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSBpbnQNCj4gIGFz eW5jX2ZpbGxfc2VnKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0cXVl dWUgKnZxLA0KPiAgCQlzdHJ1Y3QgcnRlX21idWYgKm0sIHVpbnQzMl90IG1idWZfb2Zmc2V0LA0K PiAgCQl1aW50NjRfdCBidWZfaW92YSwgdWludDMyX3QgY3B5X2xlbiwgYm9vbCB0b19kZXNjKQ0K PiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAg ew0KPiAgCXN0cnVjdCB2aG9zdF9hc3luYyAqYXN5bmMgPSB2cS0+YXN5bmM7DQo+ICAJdWludDY0 X3QgbWFwcGVkX2xlbjsNCj4gQEAgLTExOTUsNiArMTIwMSw3IEBAIHN0YXRpYyBfX3J0ZV9hbHdh eXNfaW5saW5lIGludA0KPiAgbWJ1Zl90b19kZXNjKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0 cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxLA0KPiAgCQlzdHJ1Y3QgcnRlX21idWYgKm0sIHN0cnVj dCBidWZfdmVjdG9yICpidWZfdmVjLA0KPiAgCQl1aW50MTZfdCBucl92ZWMsIHVpbnQxNl90IG51 bV9idWZmZXJzLCBib29sIGlzX2FzeW5jKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1 aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXVpbnQzMl90IHZlY19pZHggPSAwOw0K PiAgCXVpbnQzMl90IG1idWZfb2Zmc2V0LCBtYnVmX2F2YWlsOw0KPiBAQCAtMTMyMyw2ICsxMzMw LDcgQEAgdmhvc3RfZW5xdWV1ZV9zaW5nbGVfcGFja2VkKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYs DQo+ICAJCQkgICAgc3RydWN0IHJ0ZV9tYnVmICpwa3QsDQo+ICAJCQkgICAgc3RydWN0IGJ1Zl92 ZWN0b3IgKmJ1Zl92ZWMsDQo+ICAJCQkgICAgdWludDE2X3QgKm5yX2Rlc2NzKQ0KPiArCV9fcnRl X2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXVp bnQxNl90IG5yX3ZlYyA9IDA7DQo+ICAJdWludDE2X3QgYXZhaWxfaWR4ID0gdnEtPmxhc3RfYXZh aWxfaWR4Ow0KPiBAQCAtMTM4Myw2ICsxMzkxLDcgQEAgdmhvc3RfZW5xdWV1ZV9zaW5nbGVfcGFj a2VkKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsDQo+ICBzdGF0aWMgX19ydGVfbm9pbmxpbmUgdWlu dDMyX3QNCj4gIHZpcnRpb19kZXZfcnhfc3BsaXQoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgc3Ry dWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsDQo+ICAJc3RydWN0IHJ0ZV9tYnVmICoqcGt0cywgdWlu dDMyX3QgY291bnQpDQo+ICsJX19ydGVfZXhjbHVzaXZlX2xvY2tzX3JlcXVpcmVkKCZ2cS0+YWNj ZXNzX2xvY2spDQo+ICB7DQo+ICAJdWludDMyX3QgcGt0X2lkeCA9IDA7DQo+ICAJdWludDE2X3Qg bnVtX2J1ZmZlcnM7DQo+IEBAIC0xNjEwLDYgKzE2MTksNyBAQCBzdGF0aWMgX19ydGVfYWx3YXlz X2lubGluZSBpbnQxNl90DQo+ICB2aXJ0aW9fZGV2X3J4X3NpbmdsZV9wYWNrZWQoc3RydWN0IHZp cnRpb19uZXQgKmRldiwNCj4gIAkJCSAgICBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwNCj4g IAkJCSAgICBzdHJ1Y3QgcnRlX21idWYgKnBrdCkNCj4gKwlfX3J0ZV9leGNsdXNpdmVfbG9ja3Nf cmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAlzdHJ1Y3QgYnVmX3ZlY3RvciBi dWZfdmVjW0JVRl9WRUNUT1JfTUFYXTsNCj4gIAl1aW50MTZfdCBucl9kZXNjcyA9IDA7DQo+IEBA IC0xNjM0LDYgKzE2NDQsNyBAQCB2aXJ0aW9fZGV2X3J4X3BhY2tlZChzdHJ1Y3QgdmlydGlvX25l dCAqZGV2LA0KPiAgCQkgICAgIHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKl9fcnRlX3Jlc3RyaWN0 IHZxLA0KPiAgCQkgICAgIHN0cnVjdCBydGVfbWJ1ZiAqKl9fcnRlX3Jlc3RyaWN0IHBrdHMsDQo+ ICAJCSAgICAgdWludDMyX3QgY291bnQpDQo+ICsJX19ydGVfZXhjbHVzaXZlX2xvY2tzX3JlcXVp cmVkKCZ2cS0+YWNjZXNzX2xvY2spDQo+ICB7DQo+ICAJdWludDMyX3QgcGt0X2lkeCA9IDA7DQo+ IA0KPiBAQCAtMTczMyw2ICsxNzQ0LDcgQEAgcnRlX3Zob3N0X2VucXVldWVfYnVyc3QoaW50IHZp ZCwgdWludDE2X3QgcXVldWVfaWQsDQo+IA0KPiAgc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUg dWludDE2X3QNCj4gIGFzeW5jX2dldF9maXJzdF9pbmZsaWdodF9wa3RfaWR4KHN0cnVjdCB2aG9z dF92aXJ0cXVldWUgKnZxKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEt PmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXN0cnVjdCB2aG9zdF9hc3luYyAqYXN5bmMgPSB2cS0+ YXN5bmM7DQo+IA0KPiBAQCAtMTc2MSw2ICsxNzczLDcgQEAgc3RvcmVfZG1hX2Rlc2NfaW5mb19z cGxpdChzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtDQo+ICpzX3JpbmcsIHN0cnVjdCB2cmluZ191c2Vk X2VsZW0NCj4gIHN0YXRpYyBfX3J0ZV9ub2lubGluZSB1aW50MzJfdA0KPiAgdmlydGlvX2Rldl9y eF9hc3luY19zdWJtaXRfc3BsaXQoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgc3RydWN0DQo+IHZo b3N0X3ZpcnRxdWV1ZSAqdnEsDQo+ICAJc3RydWN0IHJ0ZV9tYnVmICoqcGt0cywgdWludDMyX3Qg Y291bnQsIGludDE2X3QgZG1hX2lkLCB1aW50MTZfdA0KPiB2Y2hhbl9pZCkNCj4gKwlfX3J0ZV9l eGNsdXNpdmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAlzdHJ1 Y3QgYnVmX3ZlY3RvciBidWZfdmVjW0JVRl9WRUNUT1JfTUFYXTsNCj4gIAl1aW50MzJfdCBwa3Rf aWR4ID0gMDsNCj4gQEAgLTE4NjcsNiArMTg4MCw3IEBAIHZob3N0X2VucXVldWVfYXN5bmNfcGFj a2VkKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsDQo+ICAJCQkgICAgc3RydWN0IGJ1Zl92ZWN0b3Ig KmJ1Zl92ZWMsDQo+ICAJCQkgICAgdWludDE2X3QgKm5yX2Rlc2NzLA0KPiAgCQkJICAgIHVpbnQx Nl90ICpucl9idWZmZXJzKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEt PmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXVpbnQxNl90IG5yX3ZlYyA9IDA7DQo+ICAJdWludDE2 X3QgYXZhaWxfaWR4ID0gdnEtPmxhc3RfYXZhaWxfaWR4Ow0KPiBAQCAtMTkyNSw2ICsxOTM5LDcg QEAgdmhvc3RfZW5xdWV1ZV9hc3luY19wYWNrZWQoc3RydWN0IHZpcnRpb19uZXQgKmRldiwNCj4g IHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIGludDE2X3QNCj4gIHZpcnRpb19kZXZfcnhfYXN5 bmNfcGFja2VkKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0cXVldWUN Cj4gKnZxLA0KPiAgCQkJICAgIHN0cnVjdCBydGVfbWJ1ZiAqcGt0LCB1aW50MTZfdCAqbnJfZGVz Y3MsIHVpbnQxNl90DQo+ICpucl9idWZmZXJzKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19y ZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXN0cnVjdCBidWZfdmVjdG9yIGJ1 Zl92ZWNbQlVGX1ZFQ1RPUl9NQVhdOw0KPiANCj4gQEAgLTE5NDcsNiArMTk2Miw3IEBAIHZpcnRp b19kZXZfcnhfYXN5bmNfcGFja2VkX2JhdGNoX2VucXVldWUoc3RydWN0DQo+IHZpcnRpb19uZXQg KmRldiwNCj4gIAkJCSAgIHN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMsDQo+ICAJCQkgICB1aW50NjRf dCAqZGVzY19hZGRycywNCj4gIAkJCSAgIHVpbnQ2NF90ICpsZW5zKQ0KPiArCV9fcnRlX2V4Y2x1 c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXVpbnQzMl90 IGJ1Zl9vZmZzZXQgPSBzaXplb2Yoc3RydWN0IHZpcnRpb19uZXRfaGRyX21yZ19yeGJ1Zik7DQo+ ICAJc3RydWN0IHZpcnRpb19uZXRfaGRyX21yZ19yeGJ1ZiAqaGRyc1tQQUNLRURfQkFUQ0hfU0la RV07DQo+IEBAIC0yMDA3LDYgKzIwMjMsNyBAQCB2aXJ0aW9fZGV2X3J4X2FzeW5jX3BhY2tlZF9i YXRjaChzdHJ1Y3QgdmlydGlvX25ldA0KPiAqZGV2LA0KPiAgCQkJICAgc3RydWN0IHZob3N0X3Zp cnRxdWV1ZSAqdnEsDQo+ICAJCQkgICBzdHJ1Y3QgcnRlX21idWYgKipwa3RzLA0KPiAgCQkJICAg aW50MTZfdCBkbWFfaWQsIHVpbnQxNl90IHZjaGFuX2lkKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9s b2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXVpbnQ2NF90IGRlc2Nf YWRkcnNbUEFDS0VEX0JBVENIX1NJWkVdOw0KPiAgCXVpbnQ2NF90IGxlbnNbUEFDS0VEX0JBVENI X1NJWkVdOw0KPiBAQCAtMjAyMiw2ICsyMDM5LDcgQEAgdmlydGlvX2Rldl9yeF9hc3luY19wYWNr ZWRfYmF0Y2goc3RydWN0IHZpcnRpb19uZXQNCj4gKmRldiwNCj4gIHN0YXRpYyBfX3J0ZV9hbHdh eXNfaW5saW5lIHZvaWQNCj4gIGRtYV9lcnJvcl9oYW5kbGVyX3BhY2tlZChzdHJ1Y3Qgdmhvc3Rf dmlydHF1ZXVlICp2cSwgdWludDE2X3Qgc2xvdF9pZHgsDQo+ICAJCQl1aW50MzJfdCBucl9lcnIs IHVpbnQzMl90ICpwa3RfaWR4KQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgm dnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXVpbnQxNl90IGRlc2NzX2VyciA9IDA7DQo+ICAJ dWludDE2X3QgYnVmZmVyc19lcnIgPSAwOw0KPiBAQCAtMjA1Miw2ICsyMDcwLDcgQEAgZG1hX2Vy cm9yX2hhbmRsZXJfcGFja2VkKHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxLA0KPiB1aW50MTZf dCBzbG90X2lkeCwNCj4gIHN0YXRpYyBfX3J0ZV9ub2lubGluZSB1aW50MzJfdA0KPiAgdmlydGlv X2Rldl9yeF9hc3luY19zdWJtaXRfcGFja2VkKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVj dA0KPiB2aG9zdF92aXJ0cXVldWUgKnZxLA0KPiAgCXN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMsIHVp bnQzMl90IGNvdW50LCBpbnQxNl90IGRtYV9pZCwgdWludDE2X3QNCj4gdmNoYW5faWQpDQo+ICsJ X19ydGVfZXhjbHVzaXZlX2xvY2tzX3JlcXVpcmVkKCZ2cS0+YWNjZXNzX2xvY2spDQo+ICB7DQo+ ICAJdWludDMyX3QgcGt0X2lkeCA9IDA7DQo+ICAJdWludDE2X3Qgbl94ZmVyOw0KPiBAQCAtMjEy NCw2ICsyMTQzLDcgQEAgdmlydGlvX2Rldl9yeF9hc3luY19zdWJtaXRfcGFja2VkKHN0cnVjdCB2 aXJ0aW9fbmV0DQo+ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0cXVldWUNCj4gDQo+ICBzdGF0aWMg X19ydGVfYWx3YXlzX2lubGluZSB2b2lkDQo+ICB3cml0ZV9iYWNrX2NvbXBsZXRlZF9kZXNjc19z cGxpdChzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwgdWludDE2X3QNCj4gbl9kZXNjcykNCj4g KwlfX3J0ZV9leGNsdXNpdmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsN Cj4gIAlzdHJ1Y3Qgdmhvc3RfYXN5bmMgKmFzeW5jID0gdnEtPmFzeW5jOw0KPiAgCXVpbnQxNl90 IG5yX2xlZnQgPSBuX2Rlc2NzOw0KPiBAQCAtMjE1Niw2ICsyMTc2LDcgQEAgd3JpdGVfYmFja19j b21wbGV0ZWRfZGVzY3Nfc3BsaXQoc3RydWN0DQo+IHZob3N0X3ZpcnRxdWV1ZSAqdnEsIHVpbnQx Nl90IG5fZGVzY3MpDQo+ICBzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB2b2lkDQo+ICB3cml0 ZV9iYWNrX2NvbXBsZXRlZF9kZXNjc19wYWNrZWQoc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEs DQo+ICAJCQkJdWludDE2X3Qgbl9idWZmZXJzKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19y ZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXN0cnVjdCB2aG9zdF9hc3luYyAq YXN5bmMgPSB2cS0+YXN5bmM7DQo+ICAJdWludDE2X3QgZnJvbSA9IGFzeW5jLT5sYXN0X2J1ZmZl cl9pZHhfcGFja2VkOw0KPiBAQCAtMjIyMCw2ICsyMjQxLDcgQEAgd3JpdGVfYmFja19jb21wbGV0 ZWRfZGVzY3NfcGFja2VkKHN0cnVjdA0KPiB2aG9zdF92aXJ0cXVldWUgKnZxLA0KPiAgc3RhdGlj IF9fcnRlX2Fsd2F5c19pbmxpbmUgdWludDE2X3QNCj4gIHZob3N0X3BvbGxfZW5xdWV1ZV9jb21w bGV0ZWQoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgc3RydWN0DQo+IHZob3N0X3ZpcnRxdWV1ZSAq dnEsDQo+ICAJc3RydWN0IHJ0ZV9tYnVmICoqcGt0cywgdWludDE2X3QgY291bnQsIGludDE2X3Qg ZG1hX2lkLCB1aW50MTZfdA0KPiB2Y2hhbl9pZCkNCj4gKwlfX3J0ZV9leGNsdXNpdmVfbG9ja3Nf cmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAlzdHJ1Y3Qgdmhvc3RfYXN5bmMg KmFzeW5jID0gdnEtPmFzeW5jOw0KPiAgCXN0cnVjdCBhc3luY19pbmZsaWdodF9pbmZvICpwa3Rz X2luZm8gPSBhc3luYy0+cGt0c19pbmZvOw0KPiBAQCAtMjgyNCw2ICsyODQ2LDcgQEAgZGVzY190 b19tYnVmKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdA0KPiB2aG9zdF92aXJ0cXVldWUg KnZxLA0KPiAgCQkgIHN0cnVjdCBidWZfdmVjdG9yICpidWZfdmVjLCB1aW50MTZfdCBucl92ZWMs DQo+ICAJCSAgc3RydWN0IHJ0ZV9tYnVmICptLCBzdHJ1Y3QgcnRlX21lbXBvb2wgKm1idWZfcG9v bCwNCj4gIAkJICBib29sIGxlZ2FjeV9vbF9mbGFncywgdWludDE2X3Qgc2xvdF9pZHgsIGJvb2wg aXNfYXN5bmMpDQo+ICsJX19ydGVfZXhjbHVzaXZlX2xvY2tzX3JlcXVpcmVkKCZ2cS0+YWNjZXNz X2xvY2spDQo+ICB7DQo+ICAJdWludDMyX3QgYnVmX2F2YWlsLCBidWZfb2Zmc2V0LCBidWZfbGVu Ow0KPiAgCXVpbnQ2NF90IGJ1Zl9hZGRyLCBidWZfaW92YTsNCj4gQEAgLTMwMjksNiArMzA1Miw3 IEBAIHN0YXRpYyB1aW50MTZfdA0KPiAgdmlydGlvX2Rldl90eF9zcGxpdChzdHJ1Y3QgdmlydGlv X25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwNCj4gIAlzdHJ1Y3QgcnRlX21l bXBvb2wgKm1idWZfcG9vbCwgc3RydWN0IHJ0ZV9tYnVmICoqcGt0cywgdWludDE2X3QNCj4gY291 bnQsDQo+ICAJYm9vbCBsZWdhY3lfb2xfZmxhZ3MpDQo+ICsJX19ydGVfZXhjbHVzaXZlX2xvY2tz X3JlcXVpcmVkKCZ2cS0+YWNjZXNzX2xvY2spDQo+ICB7DQo+ICAJdWludDE2X3QgaTsNCj4gIAl1 aW50MTZfdCBhdmFpbF9lbnRyaWVzOw0KPiBAQCAtMzEzMiw2ICszMTU2LDcgQEAgc3RhdGljIHVp bnQxNl90DQo+ICB2aXJ0aW9fZGV2X3R4X3NwbGl0X2xlZ2FjeShzdHJ1Y3QgdmlydGlvX25ldCAq ZGV2LA0KPiAgCXN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxLCBzdHJ1Y3QgcnRlX21lbXBvb2wg Km1idWZfcG9vbCwNCj4gIAlzdHJ1Y3QgcnRlX21idWYgKipwa3RzLCB1aW50MTZfdCBjb3VudCkN Cj4gKwlfX3J0ZV9leGNsdXNpdmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4g IHsNCj4gIAlyZXR1cm4gdmlydGlvX2Rldl90eF9zcGxpdChkZXYsIHZxLCBtYnVmX3Bvb2wsIHBr dHMsIGNvdW50LCB0cnVlKTsNCj4gIH0NCj4gQEAgLTMxNDEsNiArMzE2Niw3IEBAIHN0YXRpYyB1 aW50MTZfdA0KPiAgdmlydGlvX2Rldl90eF9zcGxpdF9jb21wbGlhbnQoc3RydWN0IHZpcnRpb19u ZXQgKmRldiwNCj4gIAlzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwgc3RydWN0IHJ0ZV9tZW1w b29sICptYnVmX3Bvb2wsDQo+ICAJc3RydWN0IHJ0ZV9tYnVmICoqcGt0cywgdWludDE2X3QgY291 bnQpDQo+ICsJX19ydGVfZXhjbHVzaXZlX2xvY2tzX3JlcXVpcmVkKCZ2cS0+YWNjZXNzX2xvY2sp DQo+ICB7DQo+ICAJcmV0dXJuIHZpcnRpb19kZXZfdHhfc3BsaXQoZGV2LCB2cSwgbWJ1Zl9wb29s LCBwa3RzLCBjb3VudCwgZmFsc2UpOw0KPiAgfQ0KPiBAQCAtMzM0MSw2ICszMzY3LDcgQEAgdmhv c3RfZGVxdWV1ZV9zaW5nbGVfcGFja2VkKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsDQo+ICAJCQkg ICAgdWludDE2X3QgKmJ1Zl9pZCwNCj4gIAkJCSAgICB1aW50MTZfdCAqZGVzY19jb3VudCwNCj4g IAkJCSAgICBib29sIGxlZ2FjeV9vbF9mbGFncykNCj4gKwlfX3J0ZV9leGNsdXNpdmVfbG9ja3Nf cmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAlzdHJ1Y3QgYnVmX3ZlY3RvciBi dWZfdmVjW0JVRl9WRUNUT1JfTUFYXTsNCj4gIAl1aW50MzJfdCBidWZfbGVuOw0KPiBAQCAtMzM4 OSw2ICszNDE2LDcgQEAgdmlydGlvX2Rldl90eF9zaW5nbGVfcGFja2VkKHN0cnVjdCB2aXJ0aW9f bmV0ICpkZXYsDQo+ICAJCQkgICAgc3RydWN0IHJ0ZV9tZW1wb29sICptYnVmX3Bvb2wsDQo+ICAJ CQkgICAgc3RydWN0IHJ0ZV9tYnVmICpwa3RzLA0KPiAgCQkJICAgIGJvb2wgbGVnYWN5X29sX2Zs YWdzKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2Nr KQ0KPiAgew0KPiANCj4gIAl1aW50MTZfdCBidWZfaWQsIGRlc2NfY291bnQgPSAwOw0KPiBAQCAt MzQxOSw2ICszNDQ3LDcgQEAgdmlydGlvX2Rldl90eF9wYWNrZWQoc3RydWN0IHZpcnRpb19uZXQg KmRldiwNCj4gIAkJICAgICBzdHJ1Y3QgcnRlX21idWYgKipfX3J0ZV9yZXN0cmljdCBwa3RzLA0K PiAgCQkgICAgIHVpbnQzMl90IGNvdW50LA0KPiAgCQkgICAgIGJvb2wgbGVnYWN5X29sX2ZsYWdz KQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0K PiAgew0KPiAgCXVpbnQzMl90IHBrdF9pZHggPSAwOw0KPiANCj4gQEAgLTM0NjIsNiArMzQ5MSw3 IEBAIHN0YXRpYyB1aW50MTZfdA0KPiAgdmlydGlvX2Rldl90eF9wYWNrZWRfbGVnYWN5KHN0cnVj dCB2aXJ0aW9fbmV0ICpkZXYsDQo+ICAJc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqX19ydGVfcmVz dHJpY3QgdnEsIHN0cnVjdCBydGVfbWVtcG9vbA0KPiAqbWJ1Zl9wb29sLA0KPiAgCXN0cnVjdCBy dGVfbWJ1ZiAqKl9fcnRlX3Jlc3RyaWN0IHBrdHMsIHVpbnQzMl90IGNvdW50KQ0KPiArCV9fcnRl X2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXJl dHVybiB2aXJ0aW9fZGV2X3R4X3BhY2tlZChkZXYsIHZxLCBtYnVmX3Bvb2wsIHBrdHMsIGNvdW50 LCB0cnVlKTsNCj4gIH0NCj4gQEAgLTM0NzEsNiArMzUwMSw3IEBAIHN0YXRpYyB1aW50MTZfdA0K PiAgdmlydGlvX2Rldl90eF9wYWNrZWRfY29tcGxpYW50KHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYs DQo+ICAJc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqX19ydGVfcmVzdHJpY3QgdnEsIHN0cnVjdCBy dGVfbWVtcG9vbA0KPiAqbWJ1Zl9wb29sLA0KPiAgCXN0cnVjdCBydGVfbWJ1ZiAqKl9fcnRlX3Jl c3RyaWN0IHBrdHMsIHVpbnQzMl90IGNvdW50KQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19y ZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXJldHVybiB2aXJ0aW9fZGV2X3R4 X3BhY2tlZChkZXYsIHZxLCBtYnVmX3Bvb2wsIHBrdHMsIGNvdW50LCBmYWxzZSk7DQo+ICB9DQo+ IEBAIC0zNTg4LDYgKzM2MTksNyBAQCBzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB1aW50MTZf dA0KPiAgYXN5bmNfcG9sbF9kZXF1ZXVlX2NvbXBsZXRlZChzdHJ1Y3QgdmlydGlvX25ldCAqZGV2 LCBzdHJ1Y3QNCj4gdmhvc3RfdmlydHF1ZXVlICp2cSwNCj4gIAkJc3RydWN0IHJ0ZV9tYnVmICoq cGt0cywgdWludDE2X3QgY291bnQsIGludDE2X3QgZG1hX2lkLA0KPiAgCQl1aW50MTZfdCB2Y2hh bl9pZCwgYm9vbCBsZWdhY3lfb2xfZmxhZ3MpDQo+ICsJX19ydGVfZXhjbHVzaXZlX2xvY2tzX3Jl cXVpcmVkKCZ2cS0+YWNjZXNzX2xvY2spDQo+ICB7DQo+ICAJdWludDE2X3Qgc3RhcnRfaWR4LCBm cm9tLCBpOw0KPiAgCXVpbnQxNl90IG5yX2NwbF9wa3RzID0gMDsNCj4gQEAgLTM2MzQsNiArMzY2 Niw3IEBAIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHVpbnQxNl90DQo+ICB2aXJ0aW9fZGV2 X3R4X2FzeW5jX3NwbGl0KHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0 cXVldWUNCj4gKnZxLA0KPiAgCQlzdHJ1Y3QgcnRlX21lbXBvb2wgKm1idWZfcG9vbCwgc3RydWN0 IHJ0ZV9tYnVmICoqcGt0cywNCj4gdWludDE2X3QgY291bnQsDQo+ICAJCWludDE2X3QgZG1hX2lk LCB1aW50MTZfdCB2Y2hhbl9pZCwgYm9vbCBsZWdhY3lfb2xfZmxhZ3MpDQo+ICsJX19ydGVfZXhj bHVzaXZlX2xvY2tzX3JlcXVpcmVkKCZ2cS0+YWNjZXNzX2xvY2spDQo+ICB7DQo+ICAJc3RhdGlj IGJvb2wgYWxsb2NlcnJfd2FybmVkOw0KPiAgCWJvb2wgZHJvcHBlZCA9IGZhbHNlOw0KPiBAQCAt Mzc4MCw2ICszODEzLDcgQEAgdmlydGlvX2Rldl90eF9hc3luY19zcGxpdF9sZWdhY3koc3RydWN0 IHZpcnRpb19uZXQNCj4gKmRldiwNCj4gIAkJc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsIHN0 cnVjdCBydGVfbWVtcG9vbCAqbWJ1Zl9wb29sLA0KPiAgCQlzdHJ1Y3QgcnRlX21idWYgKipwa3Rz LCB1aW50MTZfdCBjb3VudCwNCj4gIAkJaW50MTZfdCBkbWFfaWQsIHVpbnQxNl90IHZjaGFuX2lk KQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0K PiAgew0KPiAgCXJldHVybiB2aXJ0aW9fZGV2X3R4X2FzeW5jX3NwbGl0KGRldiwgdnEsIG1idWZf cG9vbCwNCj4gIAkJCQlwa3RzLCBjb3VudCwgZG1hX2lkLCB2Y2hhbl9pZCwgdHJ1ZSk7DQo+IEBA IC0zNzkxLDYgKzM4MjUsNyBAQCB2aXJ0aW9fZGV2X3R4X2FzeW5jX3NwbGl0X2NvbXBsaWFudChz dHJ1Y3QNCj4gdmlydGlvX25ldCAqZGV2LA0KPiAgCQlzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2 cSwgc3RydWN0IHJ0ZV9tZW1wb29sICptYnVmX3Bvb2wsDQo+ICAJCXN0cnVjdCBydGVfbWJ1ZiAq KnBrdHMsIHVpbnQxNl90IGNvdW50LA0KPiAgCQlpbnQxNl90IGRtYV9pZCwgdWludDE2X3QgdmNo YW5faWQpDQo+ICsJX19ydGVfZXhjbHVzaXZlX2xvY2tzX3JlcXVpcmVkKCZ2cS0+YWNjZXNzX2xv Y2spDQo+ICB7DQo+ICAJcmV0dXJuIHZpcnRpb19kZXZfdHhfYXN5bmNfc3BsaXQoZGV2LCB2cSwg bWJ1Zl9wb29sLA0KPiAgCQkJCXBrdHMsIGNvdW50LCBkbWFfaWQsIHZjaGFuX2lkLCBmYWxzZSk7 DQo+IEBAIC0zNzk5LDYgKzM4MzQsNyBAQCB2aXJ0aW9fZGV2X3R4X2FzeW5jX3NwbGl0X2NvbXBs aWFudChzdHJ1Y3QNCj4gdmlydGlvX25ldCAqZGV2LA0KPiAgc3RhdGljIF9fcnRlX2Fsd2F5c19p bmxpbmUgdm9pZA0KPiAgdmhvc3RfYXN5bmNfc2hhZG93X2RlcXVldWVfc2luZ2xlX3BhY2tlZChz dHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwNCj4gIAkJCQl1aW50MTZfdCBidWZfaWQsIHVpbnQx Nl90IGNvdW50KQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vz c19sb2NrKQ0KPiAgew0KPiAgCXN0cnVjdCB2aG9zdF9hc3luYyAqYXN5bmMgPSB2cS0+YXN5bmM7 DQo+ICAJdWludDE2X3QgaWR4ID0gYXN5bmMtPmJ1ZmZlcl9pZHhfcGFja2VkOw0KPiBAQCAtMzgy MCw2ICszODU2LDcgQEAgdmlydGlvX2Rldl90eF9hc3luY19zaW5nbGVfcGFja2VkKHN0cnVjdCB2 aXJ0aW9fbmV0DQo+ICpkZXYsDQo+ICAJCQlzdHJ1Y3QgcnRlX21idWYgKnBrdHMsDQo+ICAJCQl1 aW50MTZfdCBzbG90X2lkeCwNCj4gIAkJCWJvb2wgbGVnYWN5X29sX2ZsYWdzKQ0KPiArCV9fcnRl X2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEtPmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCWlu dCBlcnI7DQo+ICAJdWludDE2X3QgYnVmX2lkLCBkZXNjX2NvdW50ID0gMDsNCj4gQEAgLTM4NzEs NiArMzkwOCw3IEBAIHZpcnRpb19kZXZfdHhfYXN5bmNfcGFja2VkX2JhdGNoKHN0cnVjdCB2aXJ0 aW9fbmV0DQo+ICpkZXYsDQo+ICAJCQkgICBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwNCj4g IAkJCSAgIHN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMsIHVpbnQxNl90IHNsb3RfaWR4LA0KPiAgCQkJ ICAgdWludDE2X3QgZG1hX2lkLCB1aW50MTZfdCB2Y2hhbl9pZCkNCj4gKwlfX3J0ZV9leGNsdXNp dmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAl1aW50MTZfdCBh dmFpbF9pZHggPSB2cS0+bGFzdF9hdmFpbF9pZHg7DQo+ICAJdWludDMyX3QgYnVmX29mZnNldCA9 IHNpemVvZihzdHJ1Y3QgdmlydGlvX25ldF9oZHJfbXJnX3J4YnVmKTsNCj4gQEAgLTM5MjcsNiAr Mzk2NSw3IEBAIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHVpbnQxNl90DQo+ICB2aXJ0aW9f ZGV2X3R4X2FzeW5jX3BhY2tlZChzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3Rf dmlydHF1ZXVlDQo+ICp2cSwNCj4gIAkJc3RydWN0IHJ0ZV9tZW1wb29sICptYnVmX3Bvb2wsIHN0 cnVjdCBydGVfbWJ1ZiAqKnBrdHMsDQo+ICAJCXVpbnQxNl90IGNvdW50LCB1aW50MTZfdCBkbWFf aWQsIHVpbnQxNl90IHZjaGFuX2lkLCBib29sDQo+IGxlZ2FjeV9vbF9mbGFncykNCj4gKwlfX3J0 ZV9leGNsdXNpdmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAl1 aW50MzJfdCBwa3RfaWR4ID0gMDsNCj4gIAl1aW50MTZfdCBzbG90X2lkeCA9IDA7DQo+IEBAIC00 MDM2LDYgKzQwNzUsNyBAQCBzdGF0aWMgdWludDE2X3QNCj4gIHZpcnRpb19kZXZfdHhfYXN5bmNf cGFja2VkX2xlZ2FjeShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3QNCj4gdmhvc3Rfdmly dHF1ZXVlICp2cSwNCj4gIAkJc3RydWN0IHJ0ZV9tZW1wb29sICptYnVmX3Bvb2wsIHN0cnVjdCBy dGVfbWJ1ZiAqKnBrdHMsDQo+ICAJCXVpbnQxNl90IGNvdW50LCB1aW50MTZfdCBkbWFfaWQsIHVp bnQxNl90IHZjaGFuX2lkKQ0KPiArCV9fcnRlX2V4Y2x1c2l2ZV9sb2Nrc19yZXF1aXJlZCgmdnEt PmFjY2Vzc19sb2NrKQ0KPiAgew0KPiAgCXJldHVybiB2aXJ0aW9fZGV2X3R4X2FzeW5jX3BhY2tl ZChkZXYsIHZxLCBtYnVmX3Bvb2wsDQo+ICAJCQkJcGt0cywgY291bnQsIGRtYV9pZCwgdmNoYW5f aWQsIHRydWUpOw0KPiBAQCAtNDA0Niw2ICs0MDg2LDcgQEAgc3RhdGljIHVpbnQxNl90DQo+ICB2 aXJ0aW9fZGV2X3R4X2FzeW5jX3BhY2tlZF9jb21wbGlhbnQoc3RydWN0IHZpcnRpb19uZXQgKmRl diwgc3RydWN0DQo+IHZob3N0X3ZpcnRxdWV1ZSAqdnEsDQo+ICAJCXN0cnVjdCBydGVfbWVtcG9v bCAqbWJ1Zl9wb29sLCBzdHJ1Y3QgcnRlX21idWYgKipwa3RzLA0KPiAgCQl1aW50MTZfdCBjb3Vu dCwgdWludDE2X3QgZG1hX2lkLCB1aW50MTZfdCB2Y2hhbl9pZCkNCj4gKwlfX3J0ZV9leGNsdXNp dmVfbG9ja3NfcmVxdWlyZWQoJnZxLT5hY2Nlc3NfbG9jaykNCj4gIHsNCj4gIAlyZXR1cm4gdmly dGlvX2Rldl90eF9hc3luY19wYWNrZWQoZGV2LCB2cSwgbWJ1Zl9wb29sLA0KPiAgCQkJCXBrdHMs IGNvdW50LCBkbWFfaWQsIHZjaGFuX2lkLCBmYWxzZSk7DQo+IC0tDQo+IDIuMzkuMQ0KDQpSZXZp ZXdlZC1ieTogQ2hlbmJvIFhpYSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+IA0K