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 X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1851C43460 for ; Thu, 8 Apr 2021 08:32:48 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3134761181 for ; Thu, 8 Apr 2021 08:32:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3134761181 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BMerTK2gkCUPscPD5QtWrHH2CQcaiZ6ko0wzWKDJrNw=; b=KlEb1th1J5SDGxEQ+xrqm8a/y SAXS3LCbW1MdWo7T+Ov5eILJFmZuzDMtbWglSspdxBPSbRM9/wEsnT8GzyU3s1vinMnOuoHdWi0e+ L2SBNVfm5j96e8V3La09UmLtp70uqFCxAYKEb3bWLid00SGSe7f/G48dmdyJ4HofrInwVjvZjXGZE 0D7rAY2jQKM/5ZyuYUM1lKMnZ4zYSLTKqHQpqlcN5/oWqt3/dfCz2PlJu6VUpm+wENQ5Tz8tjkza3 aWK+oLzmQaduB9VHxT/60pitJBE2vrBLfp/KKu99DxPOZjCM/z4JuS+j8sITNooaNqPTMXBLZeqJT /xVLVLwiA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lUQ5d-007LKa-FU; Thu, 08 Apr 2021 08:32:37 +0000 Received: from mx2.suse.de ([195.135.220.15]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lUQ5Z-007LJv-4X for linux-nvme@lists.infradead.org; Thu, 08 Apr 2021 08:32:35 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 72218AF24; Thu, 8 Apr 2021 08:32:31 +0000 (UTC) Subject: Re: [PATCH v9 06/13] lpfc: vmid: Add support for vmid in mailbox command, does vmid resource allocation and vmid cleanup To: Muneendra , linux-block@vger.kernel.org, linux-scsi@vger.kernel.org, tj@kernel.org, linux-nvme@lists.infradead.org Cc: jsmart2021@gmail.com, emilne@redhat.com, mkumar@redhat.com, Gaurav Srivastava References: <1617750397-26466-1-git-send-email-muneendra.kumar@broadcom.com> <1617750397-26466-7-git-send-email-muneendra.kumar@broadcom.com> From: Hannes Reinecke Message-ID: <1ca58578-1b76-f084-b26e-5e91d569cdb9@suse.de> Date: Thu, 8 Apr 2021 10:32:30 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <1617750397-26466-7-git-send-email-muneendra.kumar@broadcom.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210408_093233_335295_5AD35561 X-CRM114-Status: GOOD ( 40.36 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org T24gNC83LzIxIDE6MDYgQU0sIE11bmVlbmRyYSB3cm90ZToKPiBGcm9tOiBHYXVyYXYgU3JpdmFz dGF2YSA8Z2F1cmF2LnNyaXZhc3RhdmFAYnJvYWRjb20uY29tPgo+IAo+IFRoaXMgcGF0Y2ggZG9l cyB0aGUgZm9sbG93aW5nIC0KPiAxLmFkZHMgc3VwcG9ydGluZyBkYXRhc3RydWN0dXJlcyBmb3Ig bWFpbGJveCBjb21tYW5kIHdoaWNoIGhlbHBzIGluCj4gZGV0ZXJtaW5pbmcgaWYgdGhlIGZpcm13 YXJlIHN1cHBvcnRzIGFwcGlkIG9yIG5vdC4KPiAyLlRoaXMgcGF0Y2ggYWxsb2NhdGVzIHRoZSBy ZXNvdXJjZSBmb3Igdm1pZCBhbmQgY2hlY2tzIGlmIHRoZSBmaXJtd2FyZQo+IHN1cHBvcnRzIHRo ZSBmZWF0dXJlIG9yIG5vdC4KPiAzLlRoZSBwYXRjaCBjbGVhbnMgdXAgdGhlIHZtaWQgcmVzb3Vy Y2VzIGFuZCBzdG9wcyB0aGUgdGltZXIuCj4gCj4gU2lnbmVkLW9mZi1ieTogR2F1cmF2IFNyaXZh c3RhdmEgPGdhdXJhdi5zcml2YXN0YXZhQGJyb2FkY29tLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBK YW1lcyBTbWFydCA8anNtYXJ0MjAyMUBnbWFpbC5jb20+Cj4gCj4gLS0tCj4gdjk6Cj4gTW9kaWZp ZWQgY29kZSBmb3IgdXNlIG9mIGhhc2h0YWJsZQo+IAo+IHY4Ogo+IEFkZGVkIG5ldyBmdW5jdGlv biBkZWNsYXJhdGlvbiwgcmV0dXJuIGVycm9yIGNvZGUgYW5kCj4gbWVtb3J5IGFsbG9jYXRpb24g QVBJIGNoYW5nZXMKPiAKPiB2NzoKPiBObyBjaGFuZ2UKPiAKPiB2NjoKPiBBZGRlZCBGb3J3YXJk IGRlY2xhcmF0aW9ucyBhbmQgZnVuY3Rpb25zIHRvIHN0YXRpYwo+IAo+IHY1Ogo+IE1lcmdlZCBw YXRjaGVzIDggYW5kIDExIG9mIHY0IHRvIHRoaXMgcGF0Y2gKPiBDaGFuZ2VkIFJldHVybiBjb2Rl IHRvIG5vbi1udW1lcmljL1N5bWJvbAo+IAo+IHY0Ogo+IE5vIGNoYW5nZQo+IAo+IHYzOgo+IE5v IGNoYW5nZQo+IAo+IHYyOgo+IFBvcnRlZCB0aGUgcGF0Y2ggb24gdG9wIG9mIDUuMTAvc2NzaS1x dWV1ZQo+IC0tLQo+ICAgZHJpdmVycy9zY3NpL2xwZmMvbHBmY19odzQuaCAgfCAxMiArKysrKysr Cj4gICBkcml2ZXJzL3Njc2kvbHBmYy9scGZjX2luaXQuYyB8IDY0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL3Njc2kvbHBmYy9scGZjX21ib3guYyB8ICA2 ICsrKysKPiAgIGRyaXZlcnMvc2NzaS9scGZjL2xwZmNfc2NzaS5jIHwgMjkgKysrKysrKysrKysr KysrKwo+ICAgZHJpdmVycy9zY3NpL2xwZmMvbHBmY19zbGkuYyAgfCAgOSArKysrKwo+ICAgNSBm aWxlcyBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3Njc2kvbHBmYy9scGZjX2h3NC5oIGIvZHJpdmVycy9zY3NpL2xwZmMvbHBmY19odzQuaAo+IGlu ZGV4IDU0MWI5YWVmNmJmZS4uNWZkYWZjOTJmYzJkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc2Nz aS9scGZjL2xwZmNfaHc0LmgKPiArKysgYi9kcml2ZXJzL3Njc2kvbHBmYy9scGZjX2h3NC5oCj4g QEAgLTI3Miw2ICsyNzIsOSBAQCBzdHJ1Y3QgbHBmY19zbGk0X2ZsYWdzIHsKPiAgICNkZWZpbmUg bHBmY192ZmlfcnNyY19yZHlfTUFTSwkJMHgwMDAwMDAwMQo+ICAgI2RlZmluZSBscGZjX3ZmaV9y c3JjX3JkeV9XT1JECQl3b3JkMAo+ICAgI2RlZmluZSBMUEZDX1ZGSV9SU1JDX1JEWQkJMQo+ICsj ZGVmaW5lIGxwZmNfZnRyX2FzaGRyX1NISUZUICAgICAgICAgICAgNAo+ICsjZGVmaW5lIGxwZmNf ZnRyX2FzaGRyX01BU0sgICAgICAgICAgICAgMHgwMDAwMDAwMQo+ICsjZGVmaW5lIGxwZmNfZnRy X2FzaGRyX1dPUkQgICAgICAgICAgICAgd29yZDAKPiAgIH07Cj4gICAKPiAgIHN0cnVjdCBzbGk0 X2Jsc19yc3Agewo+IEBAIC0yOTQzLDYgKzI5NDYsOSBAQCBzdHJ1Y3QgbHBmY19tYnhfcmVxdWVz dF9mZWF0dXJlcyB7Cj4gICAjZGVmaW5lIGxwZmNfbWJ4X3JxX2Z0cl9ycV9tcnFwX1NISUZUCQkx Ngo+ICAgI2RlZmluZSBscGZjX21ieF9ycV9mdHJfcnFfbXJxcF9NQVNLCQkweDAwMDAwMDAxCj4g ICAjZGVmaW5lIGxwZmNfbWJ4X3JxX2Z0cl9ycV9tcnFwX1dPUkQJCXdvcmQyCj4gKyNkZWZpbmUg bHBmY19tYnhfcnFfZnRyX3JxX2FzaGRyX1NISUZUICAgICAgICAgIDE3Cj4gKyNkZWZpbmUgbHBm Y19tYnhfcnFfZnRyX3JxX2FzaGRyX01BU0sgICAgICAgICAgIDB4MDAwMDAwMDEKPiArI2RlZmlu ZSBscGZjX21ieF9ycV9mdHJfcnFfYXNoZHJfV09SRCAgICAgICAgICAgd29yZDIKPiAgIAl1aW50 MzJfdCB3b3JkMzsKPiAgICNkZWZpbmUgbHBmY19tYnhfcnFfZnRyX3JzcF9pYWFiX1NISUZUCQkw Cj4gICAjZGVmaW5lIGxwZmNfbWJ4X3JxX2Z0cl9yc3BfaWFhYl9NQVNLCQkweDAwMDAwMDAxCj4g QEAgLTI5NzQsNiArMjk4MCw5IEBAIHN0cnVjdCBscGZjX21ieF9yZXF1ZXN0X2ZlYXR1cmVzIHsK PiAgICNkZWZpbmUgbHBmY19tYnhfcnFfZnRyX3JzcF9tcnFwX1NISUZUCQkxNgo+ICAgI2RlZmlu ZSBscGZjX21ieF9ycV9mdHJfcnNwX21ycXBfTUFTSwkJMHgwMDAwMDAwMQo+ICAgI2RlZmluZSBs cGZjX21ieF9ycV9mdHJfcnNwX21ycXBfV09SRAkJd29yZDMKPiArI2RlZmluZSBscGZjX21ieF9y cV9mdHJfcnNwX2FzaGRyX1NISUZUICAgICAgICAgMTcKPiArI2RlZmluZSBscGZjX21ieF9ycV9m dHJfcnNwX2FzaGRyX01BU0sgICAgICAgICAgMHgwMDAwMDAwMQo+ICsjZGVmaW5lIGxwZmNfbWJ4 X3JxX2Z0cl9yc3BfYXNoZHJfV09SRCAgICAgICAgICB3b3JkMwo+ICAgfTsKPiAgIAo+ICAgc3Ry dWN0IGxwZmNfbWJ4X3N1cHBfcGFnZXMgewo+IEBAIC00MzkxLDYgKzQ0MDAsOSBAQCBzdHJ1Y3Qg d3FlX2NvbW1vbiB7Cj4gICAjZGVmaW5lIHdxZV94Y2hnX1dPUkQgICAgICAgICB3b3JkMTAKPiAg ICNkZWZpbmUgTFBGQ19TQ1NJX1hDSEcJICAgICAgMHgwCj4gICAjZGVmaW5lIExQRkNfTlZNRV9Y Q0hHCSAgICAgIDB4MQo+ICsjZGVmaW5lIHdxZV9hcHBpZF9TSElGVCAgICAgICA1Cj4gKyNkZWZp bmUgd3FlX2FwcGlkX01BU0sgICAgICAgIDB4MDAwMDAwMDEKPiArI2RlZmluZSB3cWVfYXBwaWRf V09SRCAgICAgICAgd29yZDEwCj4gICAjZGVmaW5lIHdxZV9vYXNfU0hJRlQgICAgICAgICA2Cj4g ICAjZGVmaW5lIHdxZV9vYXNfTUFTSyAgICAgICAgICAweDAwMDAwMDAxCj4gICAjZGVmaW5lIHdx ZV9vYXNfV09SRCAgICAgICAgICB3b3JkMTAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2xw ZmMvbHBmY19pbml0LmMgYi9kcml2ZXJzL3Njc2kvbHBmYy9scGZjX2luaXQuYwo+IGluZGV4IDVl YTQzYzUyN2UwOC4uYTUwNmFiNDUzMzQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc2NzaS9scGZj L2xwZmNfaW5pdC5jCj4gKysrIGIvZHJpdmVycy9zY3NpL2xwZmMvbHBmY19pbml0LmMKPiBAQCAt OTgsNiArOTgsNyBAQCBzdGF0aWMgc3RydWN0IHNjc2lfdHJhbnNwb3J0X3RlbXBsYXRlICpscGZj X3RyYW5zcG9ydF90ZW1wbGF0ZSA9IE5VTEw7Cj4gICBzdGF0aWMgc3RydWN0IHNjc2lfdHJhbnNw b3J0X3RlbXBsYXRlICpscGZjX3Zwb3J0X3RyYW5zcG9ydF90ZW1wbGF0ZSA9IE5VTEw7Cj4gICBz dGF0aWMgREVGSU5FX0lEUihscGZjX2hiYV9pbmRleCk7Cj4gICAjZGVmaW5lIExQRkNfTlZNRVRf QlVGX1BPU1QgMjU0Cj4gK3N0YXRpYyBpbnQgbHBmY192bWlkX3Jlc19hbGxvYyhzdHJ1Y3QgbHBm Y19oYmEgKnBoYmEsIHN0cnVjdCBscGZjX3Zwb3J0ICp2cG9ydCk7Cj4gICAKPiAgIC8qKgo+ICAg ICogbHBmY19jb25maWdfcG9ydF9wcmVwIC0gUGVyZm9ybSBscGZjIGluaXRpYWxpemF0aW9uIHBy aW9yIHRvIGNvbmZpZyBwb3J0Cj4gQEAgLTI4ODgsNiArMjg4OSwxMCBAQCBscGZjX2NsZWFudXAo c3RydWN0IGxwZmNfdnBvcnQgKnZwb3J0KQo+ICAgCWlmIChwaGJhLT5saW5rX3N0YXRlID4gTFBG Q19MSU5LX0RPV04pCj4gICAJCWxwZmNfcG9ydF9saW5rX2ZhaWx1cmUodnBvcnQpOwo+ICAgCj4g KwkvKiBjbGVhbnVwIHZtaWQgcmVzb3VyY2VzICovCj4gKwlpZiAobHBmY19pc192bWlkX2VuYWJs ZWQocGhiYSkpCj4gKwkJbHBmY192bWlkX3Zwb3J0X2NsZWFudXAodnBvcnQpOwo+ICsKPiAgIAls aXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobmRscCwgbmV4dF9uZGxwLCAmdnBvcnQtPmZjX25vZGVz LCBubHBfbGlzdHApIHsKPiAgIAkJaWYgKHZwb3J0LT5wb3J0X3R5cGUgIT0gTFBGQ19QSFlTSUNB TF9QT1JUICYmCj4gICAJCSAgICBuZGxwLT5ubHBfRElEID09IEZhYnJpY19ESUQpIHsKPiBAQCAt NDMxOCw2ICs0MzIzLDU3IEBAIGxwZmNfZ2V0X3d3cG4oc3RydWN0IGxwZmNfaGJhICpwaGJhKQo+ ICAgCQlyZXR1cm4gcm9sNjQod3duLCAzMik7Cj4gICB9Cj4gICAKPiArLyoqCj4gKyAqIGxwZmNf dm1pZF9yZXNfYWxsb2MgLSBBbGxvY2F0ZXMgcmVzb3VyY2VzIGZvciBWTUlECj4gKyAqIEBwaGJh OiBwb2ludGVyIHRvIGxwZmMgaGJhIGRhdGEgc3RydWN0dXJlLgo+ICsgKiBAdnBvcnQ6IHBvaW50 ZXIgdG8gdnBvcnQgZGF0YSBzdHJ1Y3R1cmUKPiArICoKPiArICogVGhpcyByb3V0aW5lIGFsbG9j YXRlZCB0aGUgcmVzb3VyY2VzIG5lZWRlZCBmb3IgdGhlIHZtaWQuCj4gKyAqCj4gKyAqIFJldHVy biBjb2Rlcwo+ICsgKgkwIG9uIFN1Y2NlZXNzCj4gKyAqCU5vbi0wIG9uIEZhaWx1cmUKPiArICov Cj4gK3N0YXRpYyBpbnQKPiArbHBmY192bWlkX3Jlc19hbGxvYyhzdHJ1Y3QgbHBmY19oYmEgKnBo YmEsIHN0cnVjdCBscGZjX3Zwb3J0ICp2cG9ydCkKPiArewo+ICsJLyogdm1pZCBmZWF0dXJlIGlz IHN1cHBvcnRlZCBvbmx5IG9uIFNMSTQgKi8KPiArCWlmIChwaGJhLT5zbGlfcmV2ID09IExQRkNf U0xJX1JFVjMpIHsKPiArCQlwaGJhLT5jZmdfdm1pZF9hcHBfaGVhZGVyID0gMDsKPiArCQlwaGJh LT5jZmdfdm1pZF9wcmlvcml0eV90YWdnaW5nID0gMDsKPiArCX0KPiArCj4gKwkvKiBpZiBlbmFi bGVkLCB0aGVuIGFsbG9jYXRlZCB0aGUgcmVzb3VyY2VzICovCj4gKwlpZiAobHBmY19pc192bWlk X2VuYWJsZWQocGhiYSkpIHsKPiArCQl2cG9ydC0+dm1pZCA9Cj4gKwkJICAgIGtjYWxsb2MocGhi YS0+Y2ZnX21heF92bWlkLCBzaXplb2Yoc3RydWN0IGxwZmNfdm1pZCksCj4gKwkJCSAgICBHRlBf S0VSTkVMKTsKPiArCQlpZiAoIXZwb3J0LT52bWlkKQo+ICsJCQlyZXR1cm4gLUVOT01FTTsKPiAr Cj4gKwkJcndsb2NrX2luaXQoJnZwb3J0LT52bWlkX2xvY2spOwo+ICsKPiArCQkvKiBzZXR0aW5n IHRoZSBWTUlEIHBhcmFtZXRlcnMgZm9yIHRoZSB2cG9ydCAqLwo+ICsJCXZwb3J0LT52bWlkX3By aW9yaXR5X3RhZ2dpbmcgPSBwaGJhLT5jZmdfdm1pZF9wcmlvcml0eV90YWdnaW5nOwo+ICsJCXZw b3J0LT52bWlkX2luYWN0aXZpdHlfdGltZW91dCA9Cj4gKwkJICAgIHBoYmEtPmNmZ192bWlkX2lu YWN0aXZpdHlfdGltZW91dDsKPiArCQl2cG9ydC0+bWF4X3ZtaWQgPSBwaGJhLT5jZmdfbWF4X3Zt aWQ7Cj4gKwkJdnBvcnQtPmN1cl92bWlkX2NudCA9IDA7Cj4gKwo+ICsJCXZwb3J0LT52bWlkX3By aW9yaXR5X3JhbmdlID0gYml0bWFwX3phbGxvYwo+ICsJCQkoTFBGQ19WTUlEX01BWF9QUklPUklU WV9SQU5HRSwgR0ZQX0tFUk5FTCk7Cj4gKwo+ICsJCWlmICghdnBvcnQtPnZtaWRfcHJpb3JpdHlf cmFuZ2UpIHsKPiArCQkJa2ZyZWUodnBvcnQtPnZtaWQpOwo+ICsJCQlyZXR1cm4gLUVOT01FTTsK PiArCQl9Cj4gKwo+ICsJCS8qIEluaXRpYWxpemUgdGhlIGhhc2h0YWJsZSAqLwo+ICsJCWhhc2hf aW5pdCh2cG9ydC0+aGFzaF90YWJsZSk7Cj4gKwl9Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAg IC8qKgo+ICAgICogbHBmY19jcmVhdGVfcG9ydCAtIENyZWF0ZSBhbiBGQyBwb3J0Cj4gICAgKiBA cGhiYTogcG9pbnRlciB0byBscGZjIGhiYSBkYXRhIHN0cnVjdHVyZS4KPiBAQCAtNDQ3MCw2ICs0 NTI2LDEyIEBAIGxwZmNfY3JlYXRlX3BvcnQoc3RydWN0IGxwZmNfaGJhICpwaGJhLCBpbnQgaW5z dGFuY2UsIHN0cnVjdCBkZXZpY2UgKmRldikKPiAgIAkJCXZwb3J0LT5wb3J0X3R5cGUsIHNob3N0 LT5zZ190YWJsZXNpemUsCj4gICAJCQlwaGJhLT5jZmdfc2NzaV9zZWdfY250LCBwaGJhLT5jZmdf c2dfc2VnX2NudCk7Cj4gICAKPiArCS8qIGFsbG9jYXRlIHRoZSByZXNvdXJjZXMgZm9yIHZtaWQg Ki8KPiArCXJjID0gbHBmY192bWlkX3Jlc19hbGxvYyhwaGJhLCB2cG9ydCk7Cj4gKwo+ICsJaWYg KHJjKQo+ICsJCWdvdG8gb3V0Owo+ICsKPiAgIAkvKiBJbml0aWFsaXplIGFsbCBpbnRlcm5hbGx5 IG1hbmFnZWQgbGlzdHMuICovCj4gICAJSU5JVF9MSVNUX0hFQUQoJnZwb3J0LT5mY19ub2Rlcyk7 Cj4gICAJSU5JVF9MSVNUX0hFQUQoJnZwb3J0LT5yY3ZfYnVmZmVyX2xpc3QpOwo+IEBAIC00NDk0 LDYgKzQ1NTYsOCBAQCBscGZjX2NyZWF0ZV9wb3J0KHN0cnVjdCBscGZjX2hiYSAqcGhiYSwgaW50 IGluc3RhbmNlLCBzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gICAJcmV0dXJuIHZwb3J0Owo+ICAgCj4g ICBvdXRfcHV0X3Nob3N0Ogo+ICsJa2ZyZWUodnBvcnQtPnZtaWQpOwo+ICsJYml0bWFwX2ZyZWUo dnBvcnQtPnZtaWRfcHJpb3JpdHlfcmFuZ2UpOwo+ICAgCXNjc2lfaG9zdF9wdXQoc2hvc3QpOwo+ ICAgb3V0Ogo+ICAgCXJldHVybiBOVUxMOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvbHBm Yy9scGZjX21ib3guYyBiL2RyaXZlcnMvc2NzaS9scGZjL2xwZmNfbWJveC5jCj4gaW5kZXggYzAz YTdmMTJkZDY1Li43YTE1OTg2ZWQ1ODYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zY3NpL2xwZmMv bHBmY19tYm94LmMKPiArKysgYi9kcml2ZXJzL3Njc2kvbHBmYy9scGZjX21ib3guYwo+IEBAIC0y MTAwLDYgKzIxMDAsMTIgQEAgbHBmY19yZXF1ZXN0X2ZlYXR1cmVzKHN0cnVjdCBscGZjX2hiYSAq cGhiYSwgc3RydWN0IGxwZmNNYm94cSAqbWJveHEpCj4gICAJCWJmX3NldChscGZjX21ieF9ycV9m dHJfcnFfaWFhYiwgJm1ib3hxLT51Lm1xZS51bi5yZXFfZnRycywgMCk7Cj4gICAJCWJmX3NldChs cGZjX21ieF9ycV9mdHJfcnFfaWFhciwgJm1ib3hxLT51Lm1xZS51bi5yZXFfZnRycywgMCk7Cj4g ICAJfQo+ICsKPiArCS8qIEVuYWJsZSBBcHBsaWNhdGlvbiBTZXJ2aWNlcyBIZWFkZXIgZm9yIGFw cGhlZHIgVk1JRCAqLwo+ICsJaWYgKHBoYmEtPmNmZ192bWlkX2FwcF9oZWFkZXIpIHsKPiArCQli Zl9zZXQobHBmY19tYnhfcnFfZnRyX3JxX2FzaGRyLCAmbWJveHEtPnUubXFlLnVuLnJlcV9mdHJz LCAxKTsKPiArCQliZl9zZXQobHBmY19mdHJfYXNoZHIsICZwaGJhLT5zbGk0X2hiYS5zbGk0X2Zs YWdzLCAxKTsKPiArCX0KPiAgIAlyZXR1cm47Cj4gICB9Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9zY3NpL2xwZmMvbHBmY19zY3NpLmMgYi9kcml2ZXJzL3Njc2kvbHBmYy9scGZjX3Njc2ku Ywo+IGluZGV4IDg1ZjZhMDY2ZGU1YS4uMDg2OGNiMzhkNWIwIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvc2NzaS9scGZjL2xwZmNfc2NzaS5jCj4gKysrIGIvZHJpdmVycy9zY3NpL2xwZmMvbHBmY19z Y3NpLmMKPiBAQCAtNTM4NCw2ICs1Mzg0LDM1IEBAIGxwZmNfcXVldWVjb21tYW5kKHN0cnVjdCBT Y3NpX0hvc3QgKnNob3N0LCBzdHJ1Y3Qgc2NzaV9jbW5kICpjbW5kKQo+ICAgCXJldHVybiAwOwo+ ICAgfQo+ICAgCj4gKy8qCj4gKyAqIGxwZmNfdm1pZF92cG9ydF9jbGVhbnVwIC0gY2xlYW5zIHVw IHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgdnBvcnRzCj4gKyAqIEB2cG9ydDogVGhl IHZpcnR1YWwgcG9ydCBmb3Igd2hpY2ggdGhpcyBjYWxsIGlzIGJlaW5nIGV4ZWN1dGVkLgo+ICsg Ki8KPiArdm9pZCBscGZjX3ZtaWRfdnBvcnRfY2xlYW51cChzdHJ1Y3QgbHBmY192cG9ydCAqdnBv cnQpCj4gK3sKPiArCXUzMiBidWNrZXQ7Cj4gKwlzdHJ1Y3QgbHBmY192bWlkICpjdXI7Cj4gKwo+ ICsJLyogZGVsZXRlIHRoZSB0aW1lciAqLwo+ICsJaWYgKHZwb3J0LT5wb3J0X3R5cGUgPT0gTFBG Q19QSFlTSUNBTF9QT1JUKQo+ICsJCWRlbF90aW1lcl9zeW5jKCZ2cG9ydC0+cGhiYS0+aW5hY3Rp dmVfdm1pZF9wb2xsKTsKPiArCj4gKwkvKiBmcmVlIHRoZSByZXNvdXJjZXMgKi8KPiArCWtmcmVl KHZwb3J0LT5xZnBhX3Jlcyk7Cj4gKwlrZnJlZSh2cG9ydC0+dm1pZF9wcmlvcml0eS52bWlkX3Jh bmdlKTsKPiArCWtmcmVlKHZwb3J0LT52bWlkKTsKPiArCj4gKwkvKiBmb3IgYWxsIGVsZW1lbnRz IGluIHRoZSBoYXNoIHRhYmxlICovCj4gKwlpZiAoIWhhc2hfZW1wdHkodnBvcnQtPmhhc2hfdGFi bGUpKQo+ICsJCWhhc2hfZm9yX2VhY2godnBvcnQtPmhhc2hfdGFibGUsIGJ1Y2tldCwgY3VyLCBo bm9kZSkKPiArCQkJaGFzaF9kZWwoJmN1ci0+aG5vZGUpOwo+ICsKPiArCS8qIHJlc2V0IHZhcmlh YmxlcyAqLwo+ICsJdnBvcnQtPnFmcGFfcmVzID0gTlVMTDsKPiArCXZwb3J0LT52bWlkX3ByaW9y aXR5LnZtaWRfcmFuZ2UgPSBOVUxMOwo+ICsJdnBvcnQtPnZtaWQgPSBOVUxMOwo+ICsJdnBvcnQt PmN1cl92bWlkX2NudCA9IDA7Cj4gK30KPiAgIAo+ICAgLyoqCj4gICAgKiBscGZjX2Fib3J0X2hh bmRsZXIgLSBzY3NpX2hvc3RfdGVtcGxhdGUgZWhfYWJvcnRfaGFuZGxlciBlbnRyeSBwb2ludAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvbHBmYy9scGZjX3NsaS5jIGIvZHJpdmVycy9zY3Np L2xwZmMvbHBmY19zbGkuYwo+IGluZGV4IGY2ZTFlMzZlYWJkYy4uM2YyMTI1NTVmM2FjIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvc2NzaS9scGZjL2xwZmNfc2xpLmMKPiArKysgYi9kcml2ZXJzL3Nj c2kvbHBmYy9scGZjX3NsaS5jCj4gQEAgLTc2OTgsNiArNzY5OCwxNSBAQCBscGZjX3NsaTRfaGJh X3NldHVwKHN0cnVjdCBscGZjX2hiYSAqcGhiYSkKPiAgIAkJZ290byBvdXRfZnJlZV9tYm94Owo+ ICAgCX0KPiAgIAo+ICsJLyogRGlzYWJsZSB2bWlkIGlmIGFwcCBoZWFkZXIgaXMgbm90IHN1cHBv cnRlZCAqLwo+ICsJaWYgKHBoYmEtPmNmZ192bWlkX2FwcF9oZWFkZXIgJiYgIShiZl9nZXQobHBm Y19tYnhfcnFfZnRyX3JzcF9hc2hkciwKPiArCQkJCQkJICAmbXFlLT51bi5yZXFfZnRycykpKSB7 Cj4gKwkJYmZfc2V0KGxwZmNfZnRyX2FzaGRyLCAmcGhiYS0+c2xpNF9oYmEuc2xpNF9mbGFncywg MCk7Cj4gKwkJcGhiYS0+Y2ZnX3ZtaWRfYXBwX2hlYWRlciA9IDA7Cj4gKwkJbHBmY19wcmludGZf bG9nKHBoYmEsIEtFUk5fREVCVUcsIExPR19TTEksCj4gKwkJCQkiMTI0MiB2bWlkIGZlYXR1cmUg bm90IHN1cHBvcnRlZFxuIik7Cj4gKwl9Cj4gKwo+ICAgCS8qCj4gICAJICogVGhlIHBvcnQgbXVz dCBzdXBwb3J0IEZDUCBpbml0aWF0b3IgbW9kZSBhcyB0aGlzIGlzIHRoZQo+ICAgCSAqIG9ubHkg bW9kZSBydW5uaW5nIGluIHRoZSBob3N0Lgo+IApJIHdvdWxkIGhhdmUgdGhvdWdodCB0aGF0IHRo ZSBmb3J3YXJkIGRlY2xhcmF0aW9uIGZvciAKbHBmY192cG9ydF9jbGVhbnVwKCkgc2hvdWxkIGJl IHByZXNlbnQgaW4gdGhpcyBwYXRjaCAoYW5kIG5vdCB0aGUgCnByZXZpb3VzIG9uZSkuCkJ1dCB0 aGF0J3MgbGFyZ2VseSBjb3NtZXRpY2FsLCBzbzoKClJldmlld2VkLWJ5OiBIYW5uZXMgUmVpbmVj a2UgPGhhcmVAc3VzZS5kZT4KCkNoZWVycywKCkhhbm5lcwotLSAKRHIuIEhhbm5lcyBSZWluZWNr ZSAgICAgICAgICAgICAgICBLZXJuZWwgU3RvcmFnZSBBcmNoaXRlY3QKaGFyZUBzdXNlLmRlICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKzQ5IDkxMSA3NDA1MyA2ODgKU1VTRSBTb2Z0d2Fy ZSBTb2x1dGlvbnMgR21iSCwgTWF4ZmVsZHN0ci4gNSwgOTA0MDkgTsO8cm5iZXJnCkhSQiAzNjgw OSAoQUcgTsO8cm5iZXJnKSwgR2VzY2jDpGZ0c2bDvGhyZXI6IEZlbGl4IEltZW5kw7ZyZmZlcgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbnZt ZSBtYWlsaW5nIGxpc3QKTGludXgtbnZtZUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbnZtZQo=