From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 67338C433F5 for ; Thu, 11 Nov 2021 08:07:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 49CC56162E for ; Thu, 11 Nov 2021 08:07:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231961AbhKKIKb (ORCPT ); Thu, 11 Nov 2021 03:10:31 -0500 Received: from mail-bn7nam10on2070.outbound.protection.outlook.com ([40.107.92.70]:41825 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229674AbhKKIKb (ORCPT ); Thu, 11 Nov 2021 03:10:31 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mzLptjBBprtBY/SeO2xd4ymwjLCVa589RbVpozohoFxRk66HiqW1X+yy9zw76LY5S/5IeikA3NxL/iCJH2jzt8RPXbCEOvHFf3/7WKgF42AFlr8wrSUdpOmYiABLSKn3CowssPZsLS2xnusB2Nk+R95J4CQpY0AgNAqg6wCGk0O8SZvIi4p0XnRnJotyCWmfw6N7xl/DcbSfMexRC8KqkudOaVq5/JfMM2e6qPg5IBRsp2zdUPPAIGVaqY4gOiPXw1S3BvMgq+JjCCvSOoS3VrAqJaj8vr7PhM1fmP1+dkVspfNVIN8NZ02Nd9AwkPfnWZ3pJNIvhwUYn5GwEyyDJw== 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=4+05oIPmAUjsluQkZ72TteXzCPB9SBeOGzu8A49+0+A=; b=UpV3qoZ72wouCy3i6MflNFTC0pPKYlZKF2yJP5j7FnbSNEfNMdBnYGEjQTPkn19fwEWy2/nrVE5zSlX15j7n2mY/63h9tdlpcnjGpTnNhl3k+xZ8lqFmhjbu6drfNAbVzt3hzqj+1Z7fxydeWjPDKccpTnC2u0IfV6/Ub2oica2trsRhXjeagkEoUe7a+1BCFSA42qZU3U2lz8xCd2FLBgF+nYtA9mux3PFmkRt3s0eo8tyr6+uwkjjMrP2qi1+L6f0SHIbO0QdhRZqHxUx2TM2Ufq7IdYB2bs9oHytGNOTfR4FqturInqYhSW5gfBCDaBUmWycIPNlst6fNDb1D6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4+05oIPmAUjsluQkZ72TteXzCPB9SBeOGzu8A49+0+A=; b=FhwyUuVnUjkQ46s3ku6XrGDArCSR42dRNdOHwBPL9uth12Nag4C8gy0ZmJWakEnH2JHe9Dqz2OCN8FLF8bwaj0nzMxF3TQWsSsPMpLKV39MRf3l+q5+YlZxghKJOBQBm/xHCUkQpnIOQ8JpdjM9QLpmsvIJYDDivYtAW0fVAKH7jvm1q3ZhsJfUs74EZ5469TOTMhGUmdaT0cMurW3imcS9bR8QUpN08NoCIHLUan7mdZmWthdMrSdUNu4QUZ1KJIfN9kaVtTJ47z8Eta7fiMcPEEKe5onWYghnmF5wo6svbqATIpWEieRTn1i3Qb6dmxv0EsIQlJrCNr7Nf6FhcEg== Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28) by MWHPR1201MB0224.namprd12.prod.outlook.com (2603:10b6:301:55::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.15; Thu, 11 Nov 2021 08:07:39 +0000 Received: from MW2PR12MB4667.namprd12.prod.outlook.com ([fe80::c961:59f1:3120:1798]) by MW2PR12MB4667.namprd12.prod.outlook.com ([fe80::c961:59f1:3120:1798%4]) with mapi id 15.20.4669.016; Thu, 11 Nov 2021 08:07:39 +0000 From: Chaitanya Kulkarni To: Damien Le Moal CC: "linux-block@vger.kernel.org" , "linux-raid@vger.kernel.org" , "linux-nvme@lists.infradead.org" , "target-devel@vger.kernel.org" , "linux-xfs@vger.kernel.org" , "dm-devel@redhat.com" , "linux-fsdevel@vger.kernel.org" , "linux-scsi@vger.kernel.org" Subject: Re: [RFC PATCH 2/8] scsi: add REQ_OP_VERIFY support Thread-Topic: [RFC PATCH 2/8] scsi: add REQ_OP_VERIFY support Thread-Index: AQHX0Ufej19RADS0h02RwBAEv1bAa6vzTaUAgAq2LwA= Date: Thu, 11 Nov 2021 08:07:39 +0000 Message-ID: References: <20211104064634.4481-1-chaitanyak@nvidia.com> <20211104064634.4481-3-chaitanyak@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 authentication-results: opensource.wdc.com; dkim=none (message not signed) header.d=none;opensource.wdc.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 875ee3a1-5194-4313-ee72-08d9a4ea546f x-ms-traffictypediagnostic: MWHPR1201MB0224: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iW1Vh6lwnohG0eBulzeUMESsh7ziq+HS6K7zqIOJAOHWOd7H9PtL78sCm5ZWNj5vz132ghZUOVFOOyP4UL+FsaDxBoWnGZ+/ozQyq7kfx6TLP1uspybMsCTnzxpNUnDB6GIIGHovjze7qQ3gBVQmpJ9oRnqv/YxpC4py2eImCYdIagEEWKZZoeTNgpxKGJdnwhuiQSeeH+7uUrcTBrc7jGfAy+Ptlp5fMjLDsAdCJ3qUQuuqoxmgJ+cI0yUudjrtA7zCqFvaexIIp0wJ8ZzvNOtgcSFGQPTSAlqU4qBcebRN3dQM+2wMnAKga+HBySX/QYBckNkHJ2U8E/EEivatiL5c0ky8rizXKe8x94kCwGwJgqgBJejwyTQ9eXX1GOXRTuGrW0c+r8UWpAnchobcT6VQkTRvUo7AUR2wt1gT9gRT2WyyZsnGpkgdpaNDha4CkWvh9BvkfGkAeb2GR6xNdyaM55q4TxYQAbga4vjvRf1198I76HBtxwRUge7bbXTy75yCbiR0E3xarqucA2g9Laf6O/jNyQ/EBA341uzDA9btuZJMT7dmdm48AlL0qYezcbmKElGiIWn+hqSvIdSQiWJFwC44cciPp7rCRP7IC9OHII9LSSWicp5mmw6Objq8aASz7d39ScXOUrQo1VwvqREwWZdSc4DZ04fARPlrXLzsxqXAz8iJeS8En+GGVlNY5VnYitZGlcPVv8Jw3jA41qoYo2nKrpdmZ4Hj90+kBbDhYfiTagyBijcQtT1713H3yY3TKsPaFT7KYHZ7NRtGIqgY+KXtj5V2evDUcA+y+4s= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB4667.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2906002)(66446008)(8676002)(64756008)(8936002)(38070700005)(66476007)(54906003)(38100700002)(36756003)(122000001)(316002)(5660300002)(6512007)(6486002)(2616005)(4326008)(31696002)(508600001)(71200400001)(6506007)(53546011)(31686004)(66556008)(86362001)(76116006)(66946007)(6916009)(83380400001)(186003)(21314003)(45980500001)(43740500002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R1lpRkVyRlJhYThsTlVVOHZIQTZyMktwT3drRW5kendERjI2NlF0TWxlNVFM?= =?utf-8?B?K1EvUGk0Z0VwS3R0dTkxeFRGSiticFhmUWdiN3dMUTFMRlVWem5rTHJjT29i?= =?utf-8?B?ZXlSQmYxM2d2YnRvS3hOUVRJTldJK3dBRW1hcDNLb1V3UGdoVTdNRjRrTUdp?= =?utf-8?B?bkZGOWpXRnh3dytWV1U1U3VVeGlWazFIN255NWZXOWpvSUlhREdpeXI3NUIv?= =?utf-8?B?OFFjZldVYTdRMlZTb2JBYUM0WnlHUHhzcFFDdWhBNGIveXNSZk4zRUdacFEw?= =?utf-8?B?RGp5R3pTVXE1UVVPWkJDN0YxTEhOZ0hpRTRjSUFBRWtQaVhJUEp1dFpCMThK?= =?utf-8?B?RE41bTJNcTVoVnZOU2laZkQ0SDR4SGVrMm02OTVHN2NFSWkrTDk3YVpQWjAr?= =?utf-8?B?NUFIY09NOVlXdTduM1N4RXUxQ3NGSkpJQ0xwYm1vc2phaWhuT0Zmd24yY0wv?= =?utf-8?B?Sk1HbjR5amp2eGw4SmhSYjIvMk83QnFsQWtZYURkcW9MenFVVmoxRlRPeXJW?= =?utf-8?B?ZGw2RUIzNzI5UXFESFRDdDQ5S1lMTitxdU0rMUk3NTUrU2JOVWJtOGMzalZ6?= =?utf-8?B?UlFlN3pJM05YNVFxWHg3bWUweW90bldUaFBEU0RpZEVZVjd2anoyczFXYVNX?= =?utf-8?B?eUpRcTBaaERHcVIrVUt5OFNFVHlNY21lK3FtejZnWkRybWczV2VubGk2MVJu?= =?utf-8?B?UGgyVmpGUVo3ckUrb3RWcyttZHNyc3dENWV0a3dXcHdJNkYwdGxNUmZ3YWpW?= =?utf-8?B?V1h0dG83K3RnVDY1aG5xQTVFbU9aTjdQaTRWSEJqMFgxRHoxVjdWYSsxekdY?= =?utf-8?B?MHJyaHoybXJ4ejVIU29DWk8yaldMOW9aMER3OUtRQU1KSWVMQm5keHNFclQ5?= =?utf-8?B?bm9xQlIwREtFaU5YbzZveVA4MXlDa0FZRVBJcVNLSk0xOXp4ZjlZU0Q3WUN6?= =?utf-8?B?ZTFlNW04TitFVG1KUXRDb0tLRUFLYm5JR0xVNWJ4T0cxd2U3K3duVjVmRVBN?= =?utf-8?B?QjhtZjR1aGE1YU81TUlLVGZGdk8xNFlyY1pkZm5FMzV6Nkp4Qi9xampxdVZh?= =?utf-8?B?NUNXRjRDU0ljcE0xVTdWdEhvWVJNNld5UDcybUtVTUY1WGNuRFBwdlpmYitZ?= =?utf-8?B?eVJMZVlsSEZ4MklEZExSb0RkVkk4alF3eDQ4elpaeCtyejhzQTJQcFE5UGNu?= =?utf-8?B?bDJoUjdDcTZZV3dYbnlYNmxRdWFiL0ZLcEZuZDQxcGhoYSsvRk1xUzJ6dU9C?= =?utf-8?B?VUtNRGZxYVZIM1JTS05LTC8ySnNEREUvdWxNaGhVWko0cFhJSk9JdjV2NHlE?= =?utf-8?B?MytwU1JkTS8vZTZOZEFXbEpQZU1mWG1wdm9RRUJUaDc1TVRpTnhXYXNieWFL?= =?utf-8?B?SjFweERwZ0dRYkJ3aDI4dHRkWjRFVUx2NDlRb09GWDRMakdxaDU5SDNXMWNo?= =?utf-8?B?WU4xV0FCaGZCNnhvSzYyemQwRVZoUEpwNVBQMzhXcC9QWEZYaE15L0lCYm5q?= =?utf-8?B?T3VjNW1oODhwT2FsR3B0cTdWcnBQU3dhaWNmRDVKdkxOSHd0RVg5ajU5MW5m?= =?utf-8?B?M2xDdE1tOTg3UXl5TVVZVWh1MDlROHJYbE5ieUt5bWI0K1lyM2t3aDhKV1hh?= =?utf-8?B?SE9XTnVSTEliVlJ4Q0d0d3Z3ek5zUCtnL3JNUXBGMkdUaTdpT3BJRnZPazVu?= =?utf-8?B?T082UUs1N24rUWlETVF4anFkTmo3aWwweDlkVjRvNVpaaS9hMWhsOVRrSDY3?= =?utf-8?B?d0FvRW9NcGN3UXpRVTZScC9OdkJOQ0xzYTgydU5ZV0RXaGw1Ylg5aFRXdnNJ?= =?utf-8?B?a3JuSkZyODBwTHZyT0lGMWhRYUFoODhIUCtpL3hkRmlVaWxGUlpuemlvZ3N0?= =?utf-8?B?WndtellKU3NkRjlXRWw0QUJCeFVZQldtMExYT2lSWmpiMURBcUF1c0pjc0ZS?= =?utf-8?B?cHh3N3h4T1VPL0dJODJ2UTZocHpvL0xxVDEybExKODJjc0JmTU9PbzIzdUtQ?= =?utf-8?B?QklseFVzblY2SWdjekZwWEI2ZTlma2FHdzVOWGxEUUgvdFB6b1o1YnJ1SE8w?= =?utf-8?B?WG1rOE5nMWt1dG01aXFYd0ZNalVNYVllQXhYYTVoUyt4Z1oxTWoyZjM4UEw5?= =?utf-8?B?Y3UvdzhVZGRGYWJmVU1kcnM0MVdESWVMOHo2UEc0ck5GRU42OC9pUmQyQ2NE?= =?utf-8?B?dTlhS3l6SWlLdnRweDV4MG1Jdk0yTG9TclRlNEt0V013UDlqMjRqTHhNQXpB?= =?utf-8?Q?Vu6HVmxlb5NzIvsK/bIWYftV1BjN6nsx6abKmrimA4=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 875ee3a1-5194-4313-ee72-08d9a4ea546f X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Nov 2021 08:07:39.4060 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Cd8oGViME+/b/yG6aw70ERvQ255QurjMa+ayzSTs9idAOt4tmMiw1wbA//+uxdULY8NGYRdbHxvaCjHuP1tpww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1201MB0224 Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org T24gMTEvNC8yMDIxIDU6MzMgQU0sIERhbWllbiBMZSBNb2FsIHdyb3RlOg0KPiBFeHRlcm5hbCBl bWFpbDogVXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiANCj4gDQo+ IE9uIDIwMjEvMTEvMDQgMTU6NDYsIENoYWl0YW55YSBLdWxrYXJuaSB3cm90ZToNCj4+IEZyb206 IENoYWl0YW55YSBLdWxrYXJuaSA8a2NoQG52aWRpYS5jb20+DQo+Pg0KPj4gU2lnbmVkLW9mZi1i eTogQ2hhaXRhbnlhIEt1bGthcm5pIDxrY2hAbnZpZGlhLmNvbT4NCj4+IC0tLQ0KPj4gICBkcml2 ZXJzL3Njc2kvc2QuYyB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrDQo+PiAgIGRyaXZlcnMvc2NzaS9zZC5oIHwgIDEgKw0KPj4gICAyIGZpbGVzIGNo YW5nZWQsIDUzIGluc2VydGlvbnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3Np L3NkLmMgYi9kcml2ZXJzL3Njc2kvc2QuYw0KPj4gaW5kZXggYTNkMmQ0YmM0YTNkLi43ZjJjNGVi OThjZjggMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL3Njc2kvc2QuYw0KPj4gKysrIGIvZHJpdmVy cy9zY3NpL3NkLmMNCj4+IEBAIC0xMDYsNiArMTA2LDcgQEAgTU9EVUxFX0FMSUFTX1NDU0lfREVW SUNFKFRZUEVfWkJDKTsNCj4+DQo+PiAgIHN0YXRpYyB2b2lkIHNkX2NvbmZpZ19kaXNjYXJkKHN0 cnVjdCBzY3NpX2Rpc2sgKiwgdW5zaWduZWQgaW50KTsNCj4+ICAgc3RhdGljIHZvaWQgc2RfY29u ZmlnX3dyaXRlX3NhbWUoc3RydWN0IHNjc2lfZGlzayAqKTsNCj4+ICtzdGF0aWMgdm9pZCBzZF9j b25maWdfdmVyaWZ5KHN0cnVjdCBzY3NpX2Rpc2sgKnNka3ApOw0KPj4gICBzdGF0aWMgaW50ICBz ZF9yZXZhbGlkYXRlX2Rpc2soc3RydWN0IGdlbmRpc2sgKik7DQo+PiAgIHN0YXRpYyB2b2lkIHNk X3VubG9ja19uYXRpdmVfY2FwYWNpdHkoc3RydWN0IGdlbmRpc2sgKmRpc2spOw0KPj4gICBzdGF0 aWMgaW50ICBzZF9wcm9iZShzdHJ1Y3QgZGV2aWNlICopOw0KPj4gQEAgLTk5NSw2ICs5OTYsNDEg QEAgc3RhdGljIGJsa19zdGF0dXNfdCBzZF9zZXR1cF93cml0ZV96ZXJvZXNfY21uZChzdHJ1Y3Qg c2NzaV9jbW5kICpjbWQpDQo+PiAgICAgICAgcmV0dXJuIHNkX3NldHVwX3dyaXRlX3NhbWUxMF9j bW5kKGNtZCwgZmFsc2UpOw0KPj4gICB9DQo+Pg0KPj4gK3N0YXRpYyB2b2lkIHNkX2NvbmZpZ192 ZXJpZnkoc3RydWN0IHNjc2lfZGlzayAqc2RrcCkNCj4+ICt7DQo+PiArICAgICBzdHJ1Y3QgcmVx dWVzdF9xdWV1ZSAqcSA9IHNka3AtPmRpc2stPnF1ZXVlOw0KPj4gKw0KPj4gKyAgICAgLyogWFhY OiB1c2Ugc2FtZSBwYXR0ZXJuIGFzIHNkX2NvbmZpZ193cml0ZV9zYW1lKCkuICovDQo+PiArICAg ICBibGtfcXVldWVfbWF4X3ZlcmlmeV9zZWN0b3JzKHEsIFVJTlRfTUFYID4+IDkpOw0KPiANCj4g VkVSSUZZIDEwLCAxMiwgMTYgYW5kIDMyIGNvbW1hbmRzIGFyZSBvcHRpb25hbCBhbmQgbWF5IG5v dCBiZSBpbXBsZW1lbnRlZCBieSBhDQo+IGRldmljZS4gU28gc2V0dGluZyB0aGlzIHVuY29uZGl0 aW9uYWxseSBpcyB3cm9uZy4NCj4gQXQgdGhlIHZlcnkgbGVhc3QgeW91IG11c3QgaGF2ZSBhbiAi aWYgKHNka3AtPnZlcmlmeV8xNikiIGhlcmUsIGFuZCBjYWxsDQo+ICJibGtfcXVldWVfbWF4X3Zl cmlmeV9zZWN0b3JzKHEsIDApOyIgaWYgdGhlIGRldmljZSBkb2VzIG5vdCBzdXBwb3J0IHZlcmlm eS4NCj4gDQoNClllcywgSSBwdXQgaXQgdG9nZXRoZXIgZm9yIHRoZSBSRkMsIHRoaXMgbmVlZHMg dG8gY29uc2lkZXIgdGhlIGRldmljZQ0KdW5zdXBwb3J0ZWQgY2FzZSBqdXN0IGxpa2Ugd2hhdCB3 ZSBkbyBmb3Igd3JpdGUgemVyb2VzIGFuZCBlbXVsYXRlIHRoZQ0Kc2FtZS4NCg0KPj4gK30NCj4+ ICsNCj4+ICtzdGF0aWMgYmxrX3N0YXR1c190IHNkX3NldHVwX3ZlcmlmeV9jbW5kKHN0cnVjdCBz Y3NpX2NtbmQgKmNtZCkNCj4+ICt7DQo+PiArICAgICAgIHN0cnVjdCByZXF1ZXN0ICpycSA9IGNt ZC0+cmVxdWVzdDsNCj4+ICsgICAgICAgc3RydWN0IHNjc2lfZGV2aWNlICpzZHAgPSBjbWQtPmRl dmljZTsNCj4+ICsgICAgICAgc3RydWN0IHNjc2lfZGlzayAqc2RrcCA9IHNjc2lfZGlzayhycS0+ cnFfZGlzayk7DQo+PiArICAgICAgIHU2NCBsYmEgPSBzZWN0b3JzX3RvX2xvZ2ljYWwoc2RwLCBi bGtfcnFfcG9zKHJxKSk7DQo+PiArICAgICAgIHUzMiBucl9ibG9ja3MgPSBzZWN0b3JzX3RvX2xv Z2ljYWwoc2RwLCBibGtfcnFfc2VjdG9ycyhycSkpOw0KPj4gKw0KPj4gKyAgICAgICBpZiAoIXNk a3AtPnZlcmlmeV8xNikNCj4+ICsgICAgICAgICAgICByZXR1cm4gQkxLX1NUU19OT1RTVVBQOw0K PiANCj4gSSB0aGluayB0aGlzIHNob3VsZCBiZSAicmV0dXJuIEJMS19TVFNfVEFSR0VUOyINCj4g DQo+PiArDQo+PiArICAgICAgIGNtZC0+Y21kX2xlbiA9IDE2Ow0KPj4gKyAgICAgICBjbWQtPmNt bmRbMF0gPSBWRVJJRllfMTY7DQo+IA0KPiBBbmQgd2hhdCBpZiB0aGUgZGV2aWNlIHN1cHBvcnRz IFZFUklGWSAxMCBvciAxMiBidXQgbm90IFZFUklGWSAxNiA/DQoNCkZvciBmaXJzdCBpbXBsZW1l bnRhdGlvbiB3ZSBjYW4gb25seSBWRVJJRlkgMTYsIGxhdGVyIHdlIGNhbiBhZGQgY2FzZXMgDQpm b3IgVkVSSUZZIDEwLTEyIHZlcnNpb25zLg0KDQo+IA0KPj4gKyAgICAgICAvKiBza2lwIHZlcHJv dGVjdCAvIGRwbyAvIGJ5dGNoayAqLw0KPj4gKyAgICAgICBjbWQtPmNtbmRbMV0gPSAwOw0KPj4g KyAgICAgICBwdXRfdW5hbGlnbmVkX2JlNjQobGJhLCAmY21kLT5jbW5kWzJdKTsNCj4+ICsgICAg ICAgcHV0X3VuYWxpZ25lZF9iZTMyKG5yX2Jsb2NrcywgJmNtZC0+Y21uZFsxMF0pOw0KPj4gKyAg ICAgICBjbWQtPmNtbmRbMTRdID0gMDsNCj4+ICsgICAgICAgY21kLT5jbW5kWzE1XSA9IDA7DQo+ PiArDQo+PiArICAgICAgIGNtZC0+YWxsb3dlZCA9IFNEX01BWF9SRVRSSUVTOw0KPj4gKyAgICAg ICBjbWQtPnNjX2RhdGFfZGlyZWN0aW9uID0gRE1BX05PTkU7DQo+PiArICAgICAgIGNtZC0+dHJh bnNmZXJzaXplID0gMDsNCj4+ICsNCj4+ICsgICAgICAgcmV0dXJuIEJMS19TVFNfT0s7DQo+PiAr fQ0KPj4gKw0KPj4gICBzdGF0aWMgdm9pZCBzZF9jb25maWdfd3JpdGVfc2FtZShzdHJ1Y3Qgc2Nz aV9kaXNrICpzZGtwKQ0KPj4gICB7DQo+PiAgICAgICAgc3RydWN0IHJlcXVlc3RfcXVldWUgKnEg PSBzZGtwLT5kaXNrLT5xdWV1ZTsNCj4+IEBAIC0xMzQ1LDYgKzEzODEsOCBAQCBzdGF0aWMgYmxr X3N0YXR1c190IHNkX2luaXRfY29tbWFuZChzdHJ1Y3Qgc2NzaV9jbW5kICpjbWQpDQo+PiAgICAg ICAgICAgICAgICB9DQo+PiAgICAgICAgY2FzZSBSRVFfT1BfV1JJVEVfWkVST0VTOg0KPj4gICAg ICAgICAgICAgICAgcmV0dXJuIHNkX3NldHVwX3dyaXRlX3plcm9lc19jbW5kKGNtZCk7DQo+PiAr ICAgICBjYXNlIFJFUV9PUF9WRVJJRlk6DQo+PiArICAgICAgICAgICAgIHJldHVybiBzZF9zZXR1 cF92ZXJpZnlfY21uZChjbWQpOw0KPj4gICAgICAgIGNhc2UgUkVRX09QX1dSSVRFX1NBTUU6DQo+ PiAgICAgICAgICAgICAgICByZXR1cm4gc2Rfc2V0dXBfd3JpdGVfc2FtZV9jbW5kKGNtZCk7DQo+ PiAgICAgICAgY2FzZSBSRVFfT1BfRkxVU0g6DQo+PiBAQCAtMjAyOSw2ICsyMDY3LDcgQEAgc3Rh dGljIGludCBzZF9kb25lKHN0cnVjdCBzY3NpX2NtbmQgKlNDcG50KQ0KPj4gICAgICAgIHN3aXRj aCAocmVxX29wKHJlcSkpIHsNCj4+ICAgICAgICBjYXNlIFJFUV9PUF9ESVNDQVJEOg0KPj4gICAg ICAgIGNhc2UgUkVRX09QX1dSSVRFX1pFUk9FUzoNCj4+ICsgICAgIGNhc2UgUkVRX09QX1ZFUklG WToNCj4+ICAgICAgICBjYXNlIFJFUV9PUF9XUklURV9TQU1FOg0KPj4gICAgICAgIGNhc2UgUkVR X09QX1pPTkVfUkVTRVQ6DQo+PiAgICAgICAgY2FzZSBSRVFfT1BfWk9ORV9SRVNFVF9BTEw6DQo+ PiBAQCAtMzA5Niw2ICszMTM1LDE3IEBAIHN0YXRpYyB2b2lkIHNkX3JlYWRfd3JpdGVfc2FtZShz dHJ1Y3Qgc2NzaV9kaXNrICpzZGtwLCB1bnNpZ25lZCBjaGFyICpidWZmZXIpDQo+PiAgICAgICAg ICAgICAgICBzZGtwLT53czEwID0gMTsNCj4+ICAgfQ0KPj4NCj4+ICtzdGF0aWMgdm9pZCBzZF9y ZWFkX3ZlcmlmeShzdHJ1Y3Qgc2NzaV9kaXNrICpzZGtwLCB1bnNpZ25lZCBjaGFyICpidWZmZXIp DQo+PiArew0KPj4gKyAgICAgICBzdHJ1Y3Qgc2NzaV9kZXZpY2UgKnNkZXYgPSBzZGtwLT5kZXZp Y2U7DQo+PiArDQo+PiArICAgICAgIHNkX3ByaW50ayhLRVJOX0lORk8sIHNka3AsICJWRVJJRlkx NiBjaGVjay5cbiIpOw0KPiANCj4gUmVtb3ZlIHRoaXMgbWVzc2FnZSBwbGVhc2UuDQo+IA0KPj4g KyAgICAgICBpZiAoc2NzaV9yZXBvcnRfb3Bjb2RlKHNkZXYsIGJ1ZmZlciwgU0RfQlVGX1NJWkUs IFZFUklGWV8xNikgPT0gMSkgew0KPj4gKyAgICAgICAgICAgIHNkX3ByaW50ayhLRVJOX0lORk8s IHNka3AsICIgVkVSSUZZMTYgaW4gT04gLlxuIik7DQo+IA0KPiBBbmQgdGhpcyBvbmUgdG9vLg0K PiANCj4+ICsgICAgICAgICAgICAgICBzZGtwLT52ZXJpZnlfMTYgPSAxOw0KPiANCj4gV2h5IG5v dCBjaGVja2luZyBmb3IgVkVSSUZZIDEwIGFuZCAxMiBpZiBWRVJJRlkgMTYgaXMgbm90IHN1cHBv cnRlZCA/DQo+IEFsc28sIHdoeSBkb24ndCB5b3UgY2FsbCAiYmxrX3F1ZXVlX21heF92ZXJpZnlf c2VjdG9ycyhxLCBVSU5UX01BWCA+PiA5KTsiIGhlcmUNCj4gaW5zdGVhZCBvZiBhZGRpbmcgdGhl IG5vdCBzbyB1c2VmdWwgc2RfY29uZmlnX3ZlcmlmeSgpIGhlbHBlciA/DQo+IA0KDQpPa2F5LCBs ZXQgbWUgc2VlIGlmIEkgY2FuIGFkZCB0aGF0IGluIFYxLg0KDQo+PiArICAgICAgIH0NCj4+ICt9 DQo+PiArDQo+PiAgIHN0YXRpYyB2b2lkIHNkX3JlYWRfc2VjdXJpdHkoc3RydWN0IHNjc2lfZGlz ayAqc2RrcCwgdW5zaWduZWQgY2hhciAqYnVmZmVyKQ0KPj4gICB7DQo+PiAgICAgICAgc3RydWN0 IHNjc2lfZGV2aWNlICpzZGV2ID0gc2RrcC0+ZGV2aWNlOw0KPj4gQEAgLTMyMjQsNiArMzI3NCw3 IEBAIHN0YXRpYyBpbnQgc2RfcmV2YWxpZGF0ZV9kaXNrKHN0cnVjdCBnZW5kaXNrICpkaXNrKQ0K Pj4gICAgICAgICAgICAgICAgc2RfcmVhZF9jYWNoZV90eXBlKHNka3AsIGJ1ZmZlcik7DQo+PiAg ICAgICAgICAgICAgICBzZF9yZWFkX2FwcF90YWdfb3duKHNka3AsIGJ1ZmZlcik7DQo+PiAgICAg ICAgICAgICAgICBzZF9yZWFkX3dyaXRlX3NhbWUoc2RrcCwgYnVmZmVyKTsNCj4+ICsgICAgICAg ICAgICAgc2RfcmVhZF92ZXJpZnkoc2RrcCwgYnVmZmVyKTsNCj4+ICAgICAgICAgICAgICAgIHNk X3JlYWRfc2VjdXJpdHkoc2RrcCwgYnVmZmVyKTsNCj4+ICAgICAgICB9DQo+Pg0KPj4gQEAgLTMy NjUsNiArMzMxNiw3IEBAIHN0YXRpYyBpbnQgc2RfcmV2YWxpZGF0ZV9kaXNrKHN0cnVjdCBnZW5k aXNrICpkaXNrKQ0KPj4NCj4+ICAgICAgICBzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShkaXNrLCBs b2dpY2FsX3RvX3NlY3RvcnMoc2RwLCBzZGtwLT5jYXBhY2l0eSkpOw0KPj4gICAgICAgIHNkX2Nv bmZpZ193cml0ZV9zYW1lKHNka3ApOw0KPj4gKyAgICAgc2RfY29uZmlnX3ZlcmlmeShzZGtwKTsN Cj4+ICAgICAgICBrZnJlZShidWZmZXIpOw0KPj4NCj4+ICAgICAgICAvKg0KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvc2NzaS9zZC5oIGIvZHJpdmVycy9zY3NpL3NkLmgNCj4+IGluZGV4IGI1OTEz NmM0MTI1Yi4uOTRhODZiZjZkYWM0IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9zY3NpL3NkLmgN Cj4+ICsrKyBiL2RyaXZlcnMvc2NzaS9zZC5oDQo+PiBAQCAtMTIwLDYgKzEyMCw3IEBAIHN0cnVj dCBzY3NpX2Rpc2sgew0KPj4gICAgICAgIHVuc2lnbmVkICAgICAgICBsYnB2cGQgOiAxOw0KPj4g ICAgICAgIHVuc2lnbmVkICAgICAgICB3czEwIDogMTsNCj4+ICAgICAgICB1bnNpZ25lZCAgICAg ICAgd3MxNiA6IDE7DQo+PiArICAgICB1bnNpZ25lZCAgICAgICAgdmVyaWZ5XzE2IDogMTsNCj4g DQo+IFNlZSByaWdodCBhYm92ZSB0aGlzIGxpbmUgaG93IHdyaXRlIHNhbWUgc3VwcG9ydHMgdGhl IDEwIGFuZCAxNiB2YXJpYW50cy4gSQ0KPiB0aGluayB5b3UgbmVlZCB0aGUgc2FtZSBoZXJlLiBB bmQgdmVyeSBsaWtlbHksIHlvdSBhbHNvIG5lZWQgdGhlIDMyIHZlcnNpb24gaW4NCj4gY2FzZSB0 aGUgZGV2aWNlIGhhcyBESUYvRElYICh0eXBlIDIgcHJvdGVjdGlvbikuDQo+IA0KDQpBZ3JlZSB3 aXRoIHdyaXRlIHNhbWUgMTAvMTYgdmVyc2lvbnMsIGxldCBtZSBzZWUgaWYgSSBjYW4gYWRkIHRo YXQgZm9yIFYxLg0KDQo+PiAgICAgICAgdW5zaWduZWQgICAgICAgIHJjX2Jhc2lzOiAyOw0KPj4g ICAgICAgIHVuc2lnbmVkICAgICAgICB6b25lZDogMjsNCj4+ICAgICAgICB1bnNpZ25lZCAgICAg ICAgdXJzd3J6IDogMTsNCj4+DQo+IA0KPiANCj4gLS0NCj4gRGFtaWVuIExlIE1vYWwNCj4gV2Vz dGVybiBEaWdpdGFsIFJlc2VhcmNoDQo+IA0KDQpUaGFua3MgZm9yIHRoZSBjb21tZW50cyBEYW1p ZW4uDQoNCg0K