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=-5.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, 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 95C85C33C8C for ; Tue, 7 Jan 2020 16:17:49 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 5EA0B2073D for ; Tue, 7 Jan 2020 16:17:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ih7Bi10m" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5EA0B2073D 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=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=WbD4DajcWhFNVPj9DLQ/WovvJ2fOfqTrL0BQRgLxJao=; b=ih7Bi10mZXMDNlLsQn8p5JSBqF dfMZWDDmAhD2vpRfH2UUbyllw7Uz2cvL/bT/umRl+x/Vde80xlMktnuqXZ3F+sj4FRoWGFaM4qKyF dFbv9OOB4a2S/tao5GNzgZWDF30tA2AR7jahK16Aq5X17AooO9eScbh/pg1qePWtzJJL54L2DzB4N uL8XCHQrJQs8qq3OhSC3zJ7TckYUh6i4ZX5QcknhHuDp4rpb1q5KZCr/1vsDm8e7D+rl6zlMtnXom yrS2vbfuSCTv2/ggTu2H7jr/wgm2DSwN1C7Xj9Ie3C+iz6ZKbH3aQ/6rTkctVPuM+LNaH8kj5rOY9 k2RFETew==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iorY8-0005gQ-Q5; Tue, 07 Jan 2020 16:17:44 +0000 Received: from mx2.suse.de ([195.135.220.15]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iorY4-0005fo-Nt for linux-nvme@lists.infradead.org; Tue, 07 Jan 2020 16:17:42 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id BB843ACD5; Tue, 7 Jan 2020 16:17:36 +0000 (UTC) Subject: Re: [PATCH v2] nvme-fabrics: reject I/O to offline device To: Victor Gladkov , Sagi Grimberg , James Smart , "linux-nvme@lists.infradead.org" References: <49c2e737f21b4c2795de71c8d8d578ee@kioxia.com> From: Hannes Reinecke Openpgp: preference=signencrypt Autocrypt: addr=hare@suse.de; prefer-encrypt=mutual; keydata= mQINBE6KyREBEACwRN6XKClPtxPiABx5GW+Yr1snfhjzExxkTYaINHsWHlsLg13kiemsS6o7 qrc+XP8FmhcnCOts9e2jxZxtmpB652lxRB9jZE40mcSLvYLM7S6aH0WXKn8bOqpqOGJiY2bc 6qz6rJuqkOx3YNuUgiAxjuoYauEl8dg4bzex3KGkGRuxzRlC8APjHlwmsr+ETxOLBfUoRNuE b4nUtaseMPkNDwM4L9+n9cxpGbdwX0XwKFhlQMbG3rWA3YqQYWj1erKIPpgpfM64hwsdk9zZ QO1krgfULH4poPQFpl2+yVeEMXtsSou915jn/51rBelXeLq+cjuK5+B/JZUXPnNDoxOG3j3V VSZxkxLJ8RO1YamqZZbVP6jhDQ/bLcAI3EfjVbxhw9KWrh8MxTcmyJPn3QMMEp3wpVX9nSOQ tzG72Up/Py67VQe0x8fqmu7R4MmddSbyqgHrab/Nu+ak6g2RRn3QHXAQ7PQUq55BDtj85hd9 W2iBiROhkZ/R+Q14cJkWhzaThN1sZ1zsfBNW0Im8OVn/J8bQUaS0a/NhpXJWv6J1ttkX3S0c QUratRfX4D1viAwNgoS0Joq7xIQD+CfJTax7pPn9rT////hSqJYUoMXkEz5IcO+hptCH1HF3 qz77aA5njEBQrDRlslUBkCZ5P+QvZgJDy0C3xRGdg6ZVXEXJOQARAQABtCpIYW5uZXMgUmVp bmVja2UgKFN1U0UgTGFicykgPGhhcmVAc3VzZS5kZT6JAkEEEwECACsCGwMFCRLMAwAGCwkI BwMCBhUIAgkKCwQWAgMBAh4BAheABQJOisquAhkBAAoJEGz4yi9OyKjPOHoQAJLeLvr6JNHx GPcHXaJLHQiinz2QP0/wtsT8+hE26dLzxb7hgxLafj9XlAXOG3FhGd+ySlQ5wSbbjdxNjgsq FIjqQ88/Lk1NfnqG5aUTPmhEF+PzkPogEV7Pm5Q17ap22VK623MPaltEba+ly6/pGOODbKBH ak3gqa7Gro5YCQzNU0QVtMpWyeGF7xQK76DY/atvAtuVPBJHER+RPIF7iv5J3/GFIfdrM+wS BubFVDOibgM7UBnpa7aohZ9RgPkzJpzECsbmbttxYaiv8+EOwark4VjvOne8dRaj50qeyJH6 HLpBXZDJH5ZcYJPMgunghSqghgfuUsd5fHmjFr3hDb5EoqAfgiRMSDom7wLZ9TGtT6viDldv hfWaIOD5UhpNYxfNgH6Y102gtMmN4o2P6g3UbZK1diH13s9DA5vI2mO2krGz2c5BOBmcctE5 iS+JWiCizOqia5Op+B/tUNye/YIXSC4oMR++Fgt30OEafB8twxydMAE3HmY+foawCpGq06yM vAguLzvm7f6wAPesDAO9vxRNC5y7JeN4Kytl561ciTICmBR80Pdgs/Obj2DwM6dvHquQbQrU Op4XtD3eGUW4qgD99DrMXqCcSXX/uay9kOG+fQBfK39jkPKZEuEV2QdpE4Pry36SUGfohSNq xXW+bMc6P+irTT39VWFUJMcSuQINBE6KyREBEACvEJggkGC42huFAqJcOcLqnjK83t4TVwEn JRisbY/VdeZIHTGtcGLqsALDzk+bEAcZapguzfp7cySzvuR6Hyq7hKEjEHAZmI/3IDc9nbdh EgdCiFatah0XZ/p4vp7KAelYqbv8YF/ORLylAdLh9rzLR6yHFqVaR4WL4pl4kEWwFhNSHLxe 55G56/dxBuoj4RrFoX3ynerXfbp4dH2KArPc0NfoamqebuGNfEQmDbtnCGE5zKcR0zvmXsRp qU7+caufueZyLwjTU+y5p34U4PlOO2Q7/bdaPEdXfpgvSpWk1o3H36LvkPV/PGGDCLzaNn04 BdiiiPEHwoIjCXOAcR+4+eqM4TSwVpTn6SNgbHLjAhCwCDyggK+3qEGJph+WNtNU7uFfscSP k4jqlxc8P+hn9IqaMWaeX9nBEaiKffR7OKjMdtFFnBRSXiW/kOKuuRdeDjL5gWJjY+IpdafP KhjvUFtfSwGdrDUh3SvB5knSixE3qbxbhbNxmqDVzyzMwunFANujyyVizS31DnWC6tKzANkC k15CyeFC6sFFu+WpRxvC6fzQTLI5CRGAB6FAxz8Hu5rpNNZHsbYs9Vfr/BJuSUfRI/12eOCL IvxRPpmMOlcI4WDW3EDkzqNAXn5Onx/b0rFGFpM4GmSPriEJdBb4M4pSD6fN6Y/Jrng/Bdwk SQARAQABiQIlBBgBAgAPBQJOiskRAhsMBQkSzAMAAAoJEGz4yi9OyKjPgEwQAIP/gy/Xqc1q OpzfFScswk3CEoZWSqHxn/fZasa4IzkwhTUmukuIvRew+BzwvrTxhHcz9qQ8hX7iDPTZBcUt ovWPxz+3XfbGqE+q0JunlIsP4N+K/I10nyoGdoFpMFMfDnAiMUiUatHRf9Wsif/nT6oRiPNJ T0EbbeSyIYe+ZOMFfZBVGPqBCbe8YMI+JiZeez8L9JtegxQ6O3EMQ//1eoPJ5mv5lWXLFQfx f4rAcKseM8DE6xs1+1AIsSIG6H+EE3tVm+GdCkBaVAZo2VMVapx9k8RMSlW7vlGEQsHtI0FT c1XNOCGjaP4ITYUiOpfkh+N0nUZVRTxWnJqVPGZ2Nt7xCk7eoJWTSMWmodFlsKSgfblXVfdM 9qoNScM3u0b9iYYuw/ijZ7VtYXFuQdh0XMM/V6zFrLnnhNmg0pnK6hO1LUgZlrxHwLZk5X8F uD/0MCbPmsYUMHPuJd5dSLUFTlejVXIbKTSAMd0tDSP5Ms8Ds84z5eHreiy1ijatqRFWFJRp ZtWlhGRERnDH17PUXDglsOA08HCls0PHx8itYsjYCAyETlxlLApXWdVl9YVwbQpQ+i693t/Y PGu8jotn0++P19d3JwXW8t6TVvBIQ1dRZHx1IxGLMn+CkDJMOmHAUMWTAXX2rf5tUjas8/v2 azzYF4VRJsdl+d0MCaSy8mUh Message-ID: Date: Tue, 7 Jan 2020 17:17:35 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <49c2e737f21b4c2795de71c8d8d578ee@kioxia.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200107_081741_067335_E5BDB1D5 X-CRM114-Status: GOOD ( 28.37 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org T24gMS8xLzIwIDU6NDUgUE0sIFZpY3RvciBHbGFka292IHdyb3RlOgo+IElzc3VlIERlc2NyaXB0 aW9uOgo+IENvbW1hbmRzIGdldCBzdHVjayB3aGlsZSBIb3N0IE5WTWUgY29udHJvbGxlciAoVENQ IG9yIFJETUEpIGlzIGluIHJlY29ubmVjdCBzdGF0ZS4gCj4gTlZNZSBjb250cm9sbGVyIGVudGVy cyBpbnRvIHJlY29ubmVjdCBzdGF0ZSB3aGVuIGl0IGxvc2VzIGNvbm5lY3Rpb24gd2l0aCB0aGUg dGFyZ2V0LiBJdCB0cmllcyB0byByZWNvbm5lY3QgZXZlcnkgMTAgc2Vjb25kcyAoZGVmYXVsdCkg dW50aWwgc3VjY2Vzc2Z1bCByZWNvbm5lY3Rpb24gb3IgdW50aWwgcmVjb25uZWN0IHRpbWUtb3V0 IGlzIHJlYWNoZWQuIFRoZSBkZWZhdWx0IHJlY29ubmVjdCB0aW1lIG91dCBpcyAxMCBtaW51dGVz Lgo+IFRoaXMgYmVoYXZpb3IgaXMgZGlmZmVyZW50IHRoYW4gSVNDU0kgd2hlcmUgQ29tbWFuZHMg ZHVyaW5nIHJlY29ubmVjdCBzdGF0ZSByZXR1cm5zIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvcjog InJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UiCj4gCj4gRml4IERlc2NyaXB0aW9uOgo+ IEZvbGxvd2luZyB5b3VyIHN1Z2dlc3Rpb25zOgo+IDEuIEFkZCBhIG5ldyBzZXNzaW9uIHBhcmFt ZXRlciBjYWxsZWQgImZhc3RfZmFpbF90bW8iLiAKPiAJVGhlIHRpbWVvdXQgaXMgbWVhc3VyZWQg aW4gc2Vjb25kcyBmcm9tIHRoZSBjb250cm9sbGVyIHJlY29ubmVjdCwgYW55IGNvbW1hbmQgYmV5 b25kIHRoYXQgdGltZW91dCBpcyByZWplY3RlZC4gCj4gCVRoZSBuZXcgcGFyYW1ldGVyIHZhbHVl IG1heSBiZSBwYXNzZWQgZHVyaW5nICdjb25uZWN0JywgYW5kIGl0cyBkZWZhdWx0IHZhbHVlIGlz IDMwIHNlY29uZHMuIAo+IAlBIHZhbHVlIG9mIDAgbWVhbnMgbm8gdGltZW91dCAoaW4gc2ltaWxh ciB0byBjdXJyZW50IGJlaGF2aW9yKS4KPiAyLiBBZGQgYSBjb250cm9sbGVyIGZsYWcgb2YgImZh aWxmYXN0X2V4cGlyZWQiLgo+IDMuIEFkZCBkZWRpY2F0ZWQgZGVsYXllZF93b3JrIHRoYXQgdXBk YXRlIHRoZSAiZmFpbGZhc3RfZXhwaXJlZCIgY29udHJvbGxlciBmbGFnLgo+IDQuIFdoZW4gZW50 ZXJpbmcgQ09OTkVDVElORywgc2NoZWR1bGUgdGhlIGRlbGF5ZWRfd29yayBiYXNlZCBvbiBmYWls ZmFzdCB0aW1lb3V0IHZhbHVlLiAKPiAJSWYgdHJhbnNpdGlvbiBvdXQgb2YgQ09OTkVDVElORywg dGVybWluYXRlIGRlbGF5ZWQgd29yayBpdGVtIGFuZCBlbnN1cmUgZmFpbGZhc3RfZXhwaXJlZCBp cyBmYWxzZS4KPiAJSWYgZGVsYXllZCB3b3JrIGl0ZW0gZXhwaXJlczogc2V0ICJmYWlsZmFzdF9l eHBpcmVkIiBmbGFnIHRvIHRydWUuCj4gNS4gVXBkYXRlIG52bWZfZmFpbF9ub25yZWFkeV9jb21t YW5kKCkgd2l0aCBjaGVjayB0aGUgImZhaWxmYXN0X2V4cGlyZWQiIGNvbnRyb2xsZXIgZmxhZy4K PiAKPiBicmFuY2ggbnZtZS9mb3ItNS41Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZtZS9ob3N0L2NvcmUuYyBiL2RyaXZlcnMvbnZt ZS9ob3N0L2NvcmUuYwo+IGluZGV4IDJhODRlMTQuLjhlMzBlMDMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9udm1lL2hvc3QvY29yZS5jCj4gKysrIGIvZHJpdmVycy9udm1lL2hvc3QvY29yZS5jCj4g QEAgLTkzLDYgKzkzLDggQEAKPiAgc3RhdGljIHZvaWQgbnZtZV9wdXRfc3Vic3lzdGVtKHN0cnVj dCBudm1lX3N1YnN5c3RlbSAqc3Vic3lzKTsKPiAgc3RhdGljIHZvaWQgbnZtZV9yZW1vdmVfaW52 YWxpZF9uYW1lc3BhY2VzKHN0cnVjdCBudm1lX2N0cmwgKmN0cmwsCj4gIAkJCQkJICAgdW5zaWdu ZWQgbnNpZCk7Cj4gK3N0YXRpYyB2b2lkIG52bWVfc3RhcnRfZmFpbGZhc3Rfd29yayhzdHJ1Y3Qg bnZtZV9jdHJsICpjdHJsKTsKPiArc3RhdGljIHZvaWQgbnZtZV9zdG9wX2ZhaWxmYXN0X3dvcmso c3RydWN0IG52bWVfY3RybCAqY3RybCk7Cj4gICBzdGF0aWMgdm9pZCBudm1lX3NldF9xdWV1ZV9k eWluZyhzdHJ1Y3QgbnZtZV9ucyAqbnMpCj4gIHsKPiBAQCAtMzM5LDYgKzM0MSw4IEBAIGJvb2wg bnZtZV9jaGFuZ2VfY3RybF9zdGF0ZShzdHJ1Y3QgbnZtZV9jdHJsICpjdHJsLAo+ICAJCWNhc2Ug TlZNRV9DVFJMX0NPTk5FQ1RJTkc6Cj4gIAkJCWNoYW5nZWQgPSB0cnVlOwo+ICAJCQkvKiBGQUxM VEhSVSAqLwo+ICsJCQlpZihvbGRfc3RhdGUgPT0gTlZNRV9DVFJMX0NPTk5FQ1RJTkcpCj4gKwkJ CQludm1lX3N0b3BfZmFpbGZhc3Rfd29yayhjdHJsKTsKPiAgCQlkZWZhdWx0Ogo+ICAJCQlicmVh azsKPiAgCQl9Cj4gQEAgLTM1OSw2ICszNjMsNyBAQCBib29sIG52bWVfY2hhbmdlX2N0cmxfc3Rh dGUoc3RydWN0IG52bWVfY3RybCAqY3RybCwKPiAgCQljYXNlIE5WTUVfQ1RSTF9SRVNFVFRJTkc6 Cj4gIAkJCWNoYW5nZWQgPSB0cnVlOwo+ICAJCQkvKiBGQUxMVEhSVSAqLwo+ICsJCQludm1lX3N0 YXJ0X2ZhaWxmYXN0X3dvcmsoY3RybCk7Cj4gIAkJZGVmYXVsdDoKPiAgCQkJYnJlYWs7Cj4gIAkJ fQo+IEBAIC0xMDMzLDYgKzEwMzgsMzYgQEAgdm9pZCBudm1lX3N0b3Bfa2VlcF9hbGl2ZShzdHJ1 Y3QgbnZtZV9jdHJsICpjdHJsKQo+ICB9Cj4gIEVYUE9SVF9TWU1CT0xfR1BMKG52bWVfc3RvcF9r ZWVwX2FsaXZlKTsKPiAgK3N0YXRpYyB2b2lkIG52bWVfZmFpbGZhc3Rfd29yayhzdHJ1Y3Qgd29y a19zdHJ1Y3QgKndvcmspCj4gK3sKPiArCXN0cnVjdCBudm1lX2N0cmwgKmN0cmwgPSBjb250YWlu ZXJfb2YodG9fZGVsYXllZF93b3JrKHdvcmspLAo+ICsJCQlzdHJ1Y3QgbnZtZV9jdHJsLCBmYWls ZmFzdF93b3JrKTsKPiArCj4gKwlzcGluX2xvY2tfaXJxKCZjdHJsLT5sb2NrKTsKPiArCWlmIChj dHJsLT5zdGF0ZSA9PSBOVk1FX0NUUkxfQ09OTkVDVElORykgewo+ICsJCXNldF9iaXQoTlZNRV9D VFJMX0ZBSUxGQVNUX0VYUElSRUQsICZjdHJsLT5mbGFncyk7Cj4gKwkJZGV2X2luZm8oY3RybC0+ ZGV2aWNlLCAiZmFpbGZhc3QgZXhwaXJlZCBzZXQgZm9yIGNvbnRyb2xsZXIgJXNcbiIsIGN0cmwt Pm9wdHMtPnN1YnN5c25xbik7Cj4gKwl9Cj4gKwlzcGluX3VubG9ja19pcnEoJmN0cmwtPmxvY2sp Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBudm1lX3N0YXJ0X2ZhaWxmYXN0X3dvcmsoc3RydWN0 IG52bWVfY3RybCAqY3RybCkKPiArewo+ICsJaWYgKHVubGlrZWx5KGN0cmwtPm9wdHMtPmZhaWxf ZmFzdF90bW8gPT0gMCkpCj4gKwkJcmV0dXJuOwo+ICsKPiArCXNjaGVkdWxlX2RlbGF5ZWRfd29y aygmY3RybC0+ZmFpbGZhc3Rfd29yaywgY3RybC0+b3B0cy0+ZmFpbF9mYXN0X3RtbyAqIEhaKTsK PiArfQo+ICsKPiArc3RhdGljIHZvaWQgbnZtZV9zdG9wX2ZhaWxmYXN0X3dvcmsoc3RydWN0IG52 bWVfY3RybCAqY3RybCkKPiArewo+ICsJaWYgKHVubGlrZWx5KGN0cmwtPm9wdHMtPmZhaWxfZmFz dF90bW8gPT0gMCkpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWNhbmNlbF9kZWxheWVkX3dvcmtfc3lu YygmY3RybC0+ZmFpbGZhc3Rfd29yayk7Cj4gKwljbGVhcl9iaXQoTlZNRV9DVFJMX0ZBSUxGQVNU X0VYUElSRUQsICZjdHJsLT5mbGFncyk7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgbnZtZV9pZGVu dGlmeV9jdHJsKHN0cnVjdCBudm1lX2N0cmwgKmRldiwgc3RydWN0IG52bWVfaWRfY3RybCAqKmlk KQo+ICB7Cj4gIAlzdHJ1Y3QgbnZtZV9jb21tYW5kIGMgPSB7IH07Cj4gQEAgLTM5NzksNiArNDAx NCw3IEBAIHZvaWQgbnZtZV9zdG9wX2N0cmwoc3RydWN0IG52bWVfY3RybCAqY3RybCkKPiAgewo+ ICAJbnZtZV9tcGF0aF9zdG9wKGN0cmwpOwo+ICAJbnZtZV9zdG9wX2tlZXBfYWxpdmUoY3RybCk7 Cj4gKwludm1lX3N0b3BfZmFpbGZhc3Rfd29yayhjdHJsKTsKPiAgCWZsdXNoX3dvcmsoJmN0cmwt PmFzeW5jX2V2ZW50X3dvcmspOwo+ICAJY2FuY2VsX3dvcmtfc3luYygmY3RybC0+ZndfYWN0X3dv cmspOwo+ICB9Cj4gQEAgLTQwNDMsNiArNDA3OSw3IEBAIGludCBudm1lX2luaXRfY3RybChzdHJ1 Y3QgbnZtZV9jdHJsICpjdHJsLCBzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gIAlpbnQgcmV0Owo+ICAJ Y3RybC0+c3RhdGUgPSBOVk1FX0NUUkxfTkVXOwo+ICsJY2xlYXJfYml0KE5WTUVfQ1RSTF9GQUlM RkFTVF9FWFBJUkVELCAmY3RybC0+ZmxhZ3MpOwo+ICAJc3Bpbl9sb2NrX2luaXQoJmN0cmwtPmxv Y2spOwo+ICAJbXV0ZXhfaW5pdCgmY3RybC0+c2Nhbl9sb2NrKTsKPiAgCUlOSVRfTElTVF9IRUFE KCZjdHJsLT5uYW1lc3BhY2VzKTsKPiBAQCAtNDA1Nyw2ICs0MDk0LDcgQEAgaW50IG52bWVfaW5p dF9jdHJsKHN0cnVjdCBudm1lX2N0cmwgKmN0cmwsIHN0cnVjdCBkZXZpY2UgKmRldiwKPiAgCWlu aXRfd2FpdHF1ZXVlX2hlYWQoJmN0cmwtPnN0YXRlX3dxKTsKPiAgCUlOSVRfREVMQVlFRF9XT1JL KCZjdHJsLT5rYV93b3JrLCBudm1lX2tlZXBfYWxpdmVfd29yayk7Cj4gKwlJTklUX0RFTEFZRURf V09SSygmY3RybC0+ZmFpbGZhc3Rfd29yaywgbnZtZV9mYWlsZmFzdF93b3JrKTsKPiAgCW1lbXNl dCgmY3RybC0+a2FfY21kLCAwLCBzaXplb2YoY3RybC0+a2FfY21kKSk7Cj4gIAljdHJsLT5rYV9j bWQuY29tbW9uLm9wY29kZSA9IG52bWVfYWRtaW5fa2VlcF9hbGl2ZTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9udm1lL2hvc3QvZmFicmljcy5jIGIvZHJpdmVycy9udm1lL2hvc3QvZmFicmljcy5j Cj4gaW5kZXggNzRiODgxOC4uZTk1MmU1ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL252bWUvaG9z dC9mYWJyaWNzLmMKPiArKysgYi9kcml2ZXJzL252bWUvaG9zdC9mYWJyaWNzLmMKPiBAQCAtNTQ5 LDYgKzU0OSw3IEBAIGJsa19zdGF0dXNfdCBudm1mX2ZhaWxfbm9ucmVhZHlfY29tbWFuZChzdHJ1 Y3QgbnZtZV9jdHJsICpjdHJsLAo+ICB7Cj4gIAlpZiAoY3RybC0+c3RhdGUgIT0gTlZNRV9DVFJM X0RFTEVUSU5HICYmCj4gIAkgICAgY3RybC0+c3RhdGUgIT0gTlZNRV9DVFJMX0RFQUQgJiYKPiAr CSAgICAhdGVzdF9iaXQoTlZNRV9DVFJMX0ZBSUxGQVNUX0VYUElSRUQsICZjdHJsLT5mbGFncykg JiYKPiAgCSAgICAhYmxrX25vcmV0cnlfcmVxdWVzdChycSkgJiYgIShycS0+Y21kX2ZsYWdzICYg UkVRX05WTUVfTVBBVEgpKQo+ICAJCXJldHVybiBCTEtfU1RTX1JFU09VUkNFOwo+IEBAIC02MTIs NiArNjEzLDcgQEAgYm9vbCBfX252bWZfY2hlY2tfcmVhZHkoc3RydWN0IG52bWVfY3RybCAqY3Ry bCwgc3RydWN0IHJlcXVlc3QgKnJxLAo+ICAJeyBOVk1GX09QVF9OUl9XUklURV9RVUVVRVMsCSJu cl93cml0ZV9xdWV1ZXM9JWQiCX0sCj4gIAl7IE5WTUZfT1BUX05SX1BPTExfUVVFVUVTLAkibnJf cG9sbF9xdWV1ZXM9JWQiCX0sCj4gIAl7IE5WTUZfT1BUX1RPUywJCQkidG9zPSVkIgkJfSwKPiAr CXsgTlZNRl9PUFRfRkFJTF9GQVNUX1RNTywJImZhaWxfZmFzdF90bW89JWQiCX0sCj4gIAl7IE5W TUZfT1BUX0VSUiwJCQlOVUxMCQkJfQo+ICB9Owo+IEBAIC02MzAsNiArNjMyLDcgQEAgc3RhdGlj IGludCBudm1mX3BhcnNlX29wdGlvbnMoc3RydWN0IG52bWZfY3RybF9vcHRpb25zICpvcHRzLAo+ ICAJb3B0cy0+bnJfaW9fcXVldWVzID0gbnVtX29ubGluZV9jcHVzKCk7Cj4gIAlvcHRzLT5yZWNv bm5lY3RfZGVsYXkgPSBOVk1GX0RFRl9SRUNPTk5FQ1RfREVMQVk7Cj4gIAlvcHRzLT5rYXRvID0g TlZNRV9ERUZBVUxUX0tBVE87Cj4gKwlvcHRzLT5mYWlsX2Zhc3RfdG1vID0gTlZNRl9ERUZfRkFJ TF9GQVNUX1RNTzsKPiAgCW9wdHMtPmR1cGxpY2F0ZV9jb25uZWN0ID0gZmFsc2U7Cj4gIAlvcHRz LT5oZHJfZGlnZXN0ID0gZmFsc2U7Cj4gIAlvcHRzLT5kYXRhX2RpZ2VzdCA9IGZhbHNlOwo+IEBA IC03NTEsNiArNzU0LDE3IEBAIHN0YXRpYyBpbnQgbnZtZl9wYXJzZV9vcHRpb25zKHN0cnVjdCBu dm1mX2N0cmxfb3B0aW9ucyAqb3B0cywKPiAgCQkJCXByX3dhcm4oImN0cmxfbG9zc190bW8gPCAw IHdpbGwgcmVjb25uZWN0IGZvcmV2ZXJcbiIpOwo+ICAJCQljdHJsX2xvc3NfdG1vID0gdG9rZW47 Cj4gIAkJCWJyZWFrOwo+ICsJCWNhc2UgTlZNRl9PUFRfRkFJTF9GQVNUX1RNTzoKPiArCQkJaWYg KG1hdGNoX2ludChhcmdzLCAmdG9rZW4pKSB7Cj4gKwkJCQlyZXQgPSAtRUlOVkFMOwo+ICsJCQkJ Z290byBvdXQ7Cj4gKwkJCX0KPiArCj4gKwkJCWlmICh0b2tlbikKPiArCQkJCXByX3dhcm4oImZh aWxfZmFzdF90bW8gIT0gMCwgSS9PIHdpbGwgZmFpbGVkIG9uIHJlY29ubmVjdCBjb250cm9sbGVy IGFmdGVyICVkIHNlY1xuIiwgdG9rZW4pOwo+ICsKPiArCQkJb3B0cy0+ZmFpbF9mYXN0X3RtbyAg PSB0b2tlbjsKPiArCQkJYnJlYWs7Cj4gIAkJY2FzZSBOVk1GX09QVF9IT1NUTlFOOgo+ICAJCQlp ZiAob3B0cy0+aG9zdCkgewo+ICAJCQkJcHJfZXJyKCJob3N0bnFuIGFscmVhZHkgdXNlci1hc3Np Z25lZDogJXNcbiIsCj4gQEAgLTg4MSwxMSArODk1LDE0IEBAIHN0YXRpYyBpbnQgbnZtZl9wYXJz ZV9vcHRpb25zKHN0cnVjdCBudm1mX2N0cmxfb3B0aW9ucyAqb3B0cywKPiAgCQlvcHRzLT5ucl9w b2xsX3F1ZXVlcyA9IDA7Cj4gIAkJb3B0cy0+ZHVwbGljYXRlX2Nvbm5lY3QgPSB0cnVlOwo+ICAJ fQo+IC0JaWYgKGN0cmxfbG9zc190bW8gPCAwKQo+ICsJaWYgKGN0cmxfbG9zc190bW8gPCAwKXsK PiAgCQlvcHRzLT5tYXhfcmVjb25uZWN0cyA9IC0xOwo+IC0JZWxzZQo+ICsJfWVsc2V7Cj4gIAkJ b3B0cy0+bWF4X3JlY29ubmVjdHMgPSBESVZfUk9VTkRfVVAoY3RybF9sb3NzX3RtbywKPiAgCQkJ CQkJb3B0cy0+cmVjb25uZWN0X2RlbGF5KTsKPiArCQlpZihjdHJsX2xvc3NfdG1vIDwgb3B0cy0+ ZmFpbF9mYXN0X3RtbykKPiArCQkJcHJfd2FybigiZmFpbGZhc3QgdG1vICglZCkgbGFyZ2VyIHRo YW4gY29udHJvbGxlciBsb3NzIHRtbyAoJWQpXG4iLCBvcHRzLT5mYWlsX2Zhc3RfdG1vLCBjdHJs X2xvc3NfdG1vKTsKPiArCX0KPiAKPiAgCWlmICghb3B0cy0+aG9zdCkgewo+ICAJCWtyZWZfZ2V0 KCZudm1mX2RlZmF1bHRfaG9zdC0+cmVmKTsKPiBAQCAtOTg1LDcgKzEwMDIsNyBAQCB2b2lkIG52 bWZfZnJlZV9vcHRpb25zKHN0cnVjdCBudm1mX2N0cmxfb3B0aW9ucyAqb3B0cykKPiAgI2RlZmlu ZSBOVk1GX0FMTE9XRURfT1BUUwkoTlZNRl9PUFRfUVVFVUVfU0laRSB8IE5WTUZfT1BUX05SX0lP X1FVRVVFUyB8IFwKPiAgCQkJCSBOVk1GX09QVF9LQVRPIHwgTlZNRl9PUFRfSE9TVE5RTiB8IFwK PiAgCQkJCSBOVk1GX09QVF9IT1NUX0lEIHwgTlZNRl9PUFRfRFVQX0NPTk5FQ1QgfFwKPiAtCQkJ CSBOVk1GX09QVF9ESVNBQkxFX1NRRkxPVykKPiArCQkJCSBOVk1GX09QVF9ESVNBQkxFX1NRRkxP V3xOVk1GX09QVF9GQUlMX0ZBU1RfVE1PKQo+IAo+IHN0YXRpYyBzdHJ1Y3QgbnZtZV9jdHJsICoK PiBudm1mX2NyZWF0ZV9jdHJsKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqYnVmKQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL252bWUvaG9zdC9mYWJyaWNzLmggYi9kcml2ZXJzL252bWUv aG9zdC9mYWJyaWNzLmgKPiBpbmRleCBhMGVjNDBhLi5mZDhjN2RkIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvbnZtZS9ob3N0L2ZhYnJpY3MuaAo+ICsrKyBiL2RyaXZlcnMvbnZtZS9ob3N0L2ZhYnJp Y3MuaAo+IEBAIC0xNSw2ICsxNSw4IEBACj4gICNkZWZpbmUgTlZNRl9ERUZfUkVDT05ORUNUX0RF TEFZCTEwCj4gLyogZGVmYXVsdCB0byA2MDAgc2Vjb25kcyBvZiByZWNvbm5lY3QgYXR0ZW1wdHMg YmVmb3JlIGdpdmluZyB1cCAqLwo+ICAjZGVmaW5lIE5WTUZfREVGX0NUUkxfTE9TU19UTU8JCTYw MAo+ICsvKiBkZWZhdWx0IHRvIDA6IGRvbid0IGZhaWwgZmFzdCBJTyBjb21tYW5kcyAgKi8KPiAr I2RlZmluZSBOVk1GX0RFRl9GQUlMX0ZBU1RfVE1PCQkwCj4gCj4gLyoKPiAgICogRGVmaW5lIGEg aG9zdCBhcyBzZWVuIGJ5IHRoZSB0YXJnZXQuICBXZSBhbGxvY2F0ZSBvbmUgYXQgYm9vdCwgYnV0 IGFsc28KPiBAQCAtNTYsNiArNTgsNyBAQCBlbnVtIHsKPiAgCU5WTUZfT1BUX05SX1dSSVRFX1FV RVVFUyA9IDEgPDwgMTcsCj4gIAlOVk1GX09QVF9OUl9QT0xMX1FVRVVFUyA9IDEgPDwgMTgsCj4g IAlOVk1GX09QVF9UT1MJCT0gMSA8PCAxOSwKPiArCU5WTUZfT1BUX0ZBSUxfRkFTVF9UTU8JPSAx IDw8IDIwLAo+ICB9Owo+IC8qKgo+IEBAIC04OSw2ICs5Miw3IEBAIGVudW0gewo+ICAgKiBAbnJf d3JpdGVfcXVldWVzOiBudW1iZXIgb2YgcXVldWVzIGZvciB3cml0ZSBJL08KPiAgICogQG5yX3Bv bGxfcXVldWVzOiBudW1iZXIgb2YgcXVldWVzIGZvciBwb2xsaW5nIEkvTwo+ICAgKiBAdG9zOiB0 eXBlIG9mIHNlcnZpY2UKPiArICogQGZhc3RfZmFpbF90bW86IEZhc3QgSS9PIGZhaWwgdGltZW91 dCBpbiBzZWNvbmRzOwo+ICAgKi8KPiAgc3RydWN0IG52bWZfY3RybF9vcHRpb25zIHsKPiAgCXVu c2lnbmVkCQltYXNrOwo+IEBAIC0xMTEsNiArMTE1LDcgQEAgc3RydWN0IG52bWZfY3RybF9vcHRp b25zIHsKPiAgCXVuc2lnbmVkIGludAkJbnJfd3JpdGVfcXVldWVzOwo+ICAJdW5zaWduZWQgaW50 CQlucl9wb2xsX3F1ZXVlczsKPiAgCWludAkJCXRvczsKPiArCXVuc2lnbmVkIGludAlmYWlsX2Zh c3RfdG1vOwo+ICB9Owo+IAo+ICAvKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL252bWUvaG9zdC9u dm1lLmggYi9kcml2ZXJzL252bWUvaG9zdC9udm1lLmgKPiBpbmRleCAxMDI0ZmVjLi5iNmExOTll IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbnZtZS9ob3N0L252bWUuaAo+ICsrKyBiL2RyaXZlcnMv bnZtZS9ob3N0L252bWUuaAo+IEBAIC0yNTYsNiArMjU2LDcgQEAgc3RydWN0IG52bWVfY3RybCB7 Cj4gIAlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgc2Nhbl93b3JrOwo+ICAJc3RydWN0IHdvcmtfc3RydWN0 IGFzeW5jX2V2ZW50X3dvcms7Cj4gIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGthX3dvcms7Cj4gKwlz dHJ1Y3QgZGVsYXllZF93b3JrIGZhaWxmYXN0X3dvcms7Cj4gIAlzdHJ1Y3QgbnZtZV9jb21tYW5k IGthX2NtZDsKPiAgCXN0cnVjdCB3b3JrX3N0cnVjdCBmd19hY3Rfd29yazsKPiAgCXVuc2lnbmVk IGxvbmcgZXZlbnRzOwo+IEBAIC0yODksNiArMjkwLDggQEAgc3RydWN0IG52bWVfY3RybCB7Cj4g IAl1MTYgaWNkb2ZmOwo+ICAJdTE2IG1heGNtZDsKPiAgCWludCBucl9yZWNvbm5lY3RzOwo+ICsJ dW5zaWduZWQgbG9uZyBmbGFnczsKPiArI2RlZmluZSBOVk1FX0NUUkxfRkFJTEZBU1RfRVhQSVJF RAkwCj4gIAlzdHJ1Y3QgbnZtZl9jdHJsX29wdGlvbnMgKm9wdHM7Cj4gCj4gIAlzdHJ1Y3QgcGFn ZSAqZGlzY2FyZF9wYWdlOwo+IApJbiBwcmluY2lwbGUgaXQgbG9va3MgZ29vZCwgYnV0OgoKV2hh dCBoYXBwZW5zIGlmIHRoZSBjb250cm9sbGVyIHJlY29ubmVjdHMgX2FmdGVyXyBmYWlsZmFzdCBo YXMgdHJpZ2dlcmVkPwpGcm9tIG15IHJlYWRpbmcgaXQgd291bGQgc2ltcGx5IGVzdGFibGlzaCB0 aGUgY29ubmVjdGlvbiwgc28gSS9PIF9jb3VsZF8KY29udGludWUgdG8gYmUgc2VydmVkIGZyb20g dGhpcyBwYXRoLgpCdXQgc2VlaW5nIHRoYXQgSS9PIGhhcyBhbHJlYWR5IGJlZW4gZmFpbGVkIGR1 ZSB0byBmYWlsZmFzdCB0bW8gdGhlCnN5c3RlbSB3aWxsIG1vc3QgbGlrZWx5IGhhdmUgdGFrZW4g Y29ycmVjdGl2ZSBhY3Rpb24sIHN1Y2ggYXMgZmFpbGluZwpvdmVyIHRvIGFub3RoZXIgcGF0aCBv ciBpbmZvcm1pbmcgdGhlIGNsdXN0ZXIgbWFuYWdlciBldGMuClNvIHdobydzIGdvaW5nIHRvIGlu Zm9ybSB0aGUgdXBwZXIgbGF5ZXJzIHRoYXQgdGhlIHBhdGggaGFzIGJlY29tZSBsaXZlCmFnYWlu PwoKQ2hlZXJzLAoKSGFubmVzCi0tIApEci4gSGFubmVzIFJlaW5lY2tlCQkgICAgICBUZWFtbGVh ZCBTdG9yYWdlICYgTmV0d29ya2luZwpoYXJlQHN1c2UuZGUJCQkgICAgICAgICAgICAgICAgICAr NDkgOTExIDc0MDUzIDY4OApTVVNFIFNvZnR3YXJlIFNvbHV0aW9ucyBHZXJtYW55IEdtYkgsIE1h eGZlbGRzdHIuIDUsIDkwNDA5IE7DvHJuYmVyZwpIUkIgMzY4MDkgKEFHIE7DvHJuYmVyZyksIEdG OiBGZWxpeCBJbWVuZMO2cmZmZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LW52bWUgbWFpbGluZyBsaXN0CmxpbnV4LW52bWVAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LW52bWUK