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 7B89FC433F5 for ; Sun, 3 Oct 2021 19:59:41 +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 2AD586187D for ; Sun, 3 Oct 2021 19:59:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 2AD586187D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=nod.at Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Subject:References: In-Reply-To:Message-ID:Cc:To:From:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=XTTPoD9aF20+ejN6d0gIOkY6Cvbg8EaYJfa3G8oYCmc=; b=kxINCetjHnNzYaexu8XSjWzOYn 2bku4io2CYmCSroofUsl/tzS971m1+W8El9LVEk9mrmJg93wpnLDJUfUolCKPCWmJr0unsK8Sl3rY P1/oNL644EYZ4zwpCHeLZZphpiPIbMZQXAsti9lHINHO0wD+ZyZotx1gNQPhYHy7/kZJSzHHnVHBA ImZOrcCRmQ4ij0oHRTqzNYTnyM1AICGvjN+GbEK/Y8pRH2ZygtUTEQhBTTkzt62nFEqmoTe9miJkW N63HqGgDssYYIGHU/5/QuczDVVmRG8yFsFT/YcXP7Sr0MEKgWhjp6ZPlHg+H1WTrFNrAx3CxV8MdZ udAWigiw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mX7d9-004NQE-Da; Sun, 03 Oct 2021 19:58:39 +0000 Received: from lithops.sigma-star.at ([195.201.40.130]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mX7d2-004NPL-Ej for linux-mtd@lists.infradead.org; Sun, 03 Oct 2021 19:58:35 +0000 Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id 7510B61B8F4C; Sun, 3 Oct 2021 21:58:26 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id cbTNVwa62Y0x; Sun, 3 Oct 2021 21:58:25 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id 54B8E608F449; Sun, 3 Oct 2021 21:58:25 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id GhBvbZycOL_5; Sun, 3 Oct 2021 21:58:25 +0200 (CEST) Received: from lithops.sigma-star.at (lithops.sigma-star.at [195.201.40.130]) by lithops.sigma-star.at (Postfix) with ESMTP id 27EB261B8F4C; Sun, 3 Oct 2021 21:58:25 +0200 (CEST) Date: Sun, 3 Oct 2021 21:58:25 +0200 (CEST) From: Richard Weinberger To: schaecsn Cc: linux-mtd , linux-kernel , Stefan Schaeckeler Message-ID: <1815586081.32955.1633291105033.JavaMail.zimbra@nod.at> In-Reply-To: <20210907214034.11676-2-schaecsn@gmx.net> References: <20210907214034.11676-1-schaecsn@gmx.net> <20210907214034.11676-2-schaecsn@gmx.net> Subject: Re: [PATCH 1/1] ubifs: ubifs to export filesystem error counters MIME-Version: 1.0 X-Originating-IP: [195.201.40.130] X-Mailer: Zimbra 8.8.12_GA_3807 (ZimbraWebClient - FF92 (Linux)/8.8.12_GA_3809) Thread-Topic: ubifs: ubifs to export filesystem error counters Thread-Index: R4HIb5yxzrB2cLTRigFILX4pEkVdpQ== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211003_125832_857336_B8C0F663 X-CRM114-Status: GOOD ( 28.55 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org U3RlZmFuLAoKLS0tLS0gVXJzcHLDvG5nbGljaGUgTWFpbCAtLS0tLQo+IFZvbjogInNjaGFlY3Nu IiA8c2NoYWVjc25AZ214Lm5ldD4KPiBBbjogInJpY2hhcmQiIDxyaWNoYXJkQG5vZC5hdD4sICJs aW51eC1tdGQiIDxsaW51eC1tdGRAbGlzdHMuaW5mcmFkZWFkLm9yZz4sICJsaW51eC1rZXJuZWwi Cj4gPGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+Cj4gQ0M6ICJzY2hhZWNzbiIgPHNjaGFl Y3NuQGdteC5uZXQ+LCAiU3RlZmFuIFNjaGFlY2tlbGVyIiA8c3NjaGFlY2tAY2lzY28uY29tPgo+ IEdlc2VuZGV0OiBEaWVuc3RhZywgNy4gU2VwdGVtYmVyIDIwMjEgMjM6NDA6MzQKPiBCZXRyZWZm OiBbUEFUQ0ggMS8xXSB1YmlmczogdWJpZnMgdG8gZXhwb3J0IGZpbGVzeXN0ZW0gZXJyb3IgY291 bnRlcnMKCj4gTm90IGFsbCB1YmlmcyBmaWxlc3lzdGVtIGVycm9ycyBhcmUgcHJvcGFnYXRlZCB0 byB1c2Vyc3BhY2UuCj4gCj4gRXhwb3J0IGJhZCBtYWdpYywgYmFkIG5vZGUgYW5kIGNyYyBlcnJv cnMgdmlhIHN5c2ZzLiBUaGlzIGFsbG93cyB1c2Vyc3BhY2UKPiB0byBub3RpY2UgZmlsZXN5c3Rl bSBlcnJvcnM6Cj4gCj4gL3N5cy9mcy91Ymlmcy91YmlYX1kvZXJyb3JzX21hZ2ljCj4gL3N5cy9m cy91Ymlmcy91YmlYX1kvZXJyb3JzX25vZGUKPiAvc3lzL2ZzL3ViaWZzL3ViaVhfWS9lcnJvcnNf Y3JjCj4gCj4gVGhlIGNvdW50ZXJzIGFyZSByZXNldCB0byAwIHdpdGggYSByZW1vdW50LiBXcml0 aW5nIGFueXRoaW5nIGludG8gdGhlCj4gY291bnRlcnMgYWxzbyBjbGVhcnMgdGhlbS4KCkkgdGhp bmsgdGhpcyBpcyBhIG5pY2UgZmVhdHVyZS4gVGhhbmtzIGZvciBpbXBsZW1lbnRpbmcgaXQuClBs ZWFzZSBzZWUgc29tZSBtaW5vciBuaXRzIGJlbG93LgoKSXMgdGhlcmUgYSBzcGVjaWZpYyByZWFz b24gd2h5IHlvdSBkaWRuJ3QgaW1wbGVtZW50IGl0IHZpYSBVQklGUydzIGRlYnVnZnMgaW50ZXJm YWNlPwpzeXNmcyBpcyBBQkksIHNvIHdlIGNhbm5vdCBjaGFuZ2UgbXVjaCBhbnltb3JlLgoKPiBT aWduZWQtb2ZmLWJ5OiBTdGVmYW4gU2NoYWVja2VsZXIgPHNzY2hhZWNrQGNpc2NvLmNvbT4KPiAt LS0KPiBmcy91Ymlmcy9NYWtlZmlsZSB8ICAgMiArLQo+IGZzL3ViaWZzL2lvLmMgICAgIHwgICA2 ICsrCj4gZnMvdWJpZnMvc3VwZXIuYyAgfCAgMTcgKysrKy0KPiBmcy91Ymlmcy9zeXNmcy5jICB8 IDE4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gZnMv dWJpZnMvc3lzZnMuaCAgfCAgMzkgKysrKysrKysrKwo+IGZzL3ViaWZzL3ViaWZzLmggIHwgIDEx ICsrKwo+IDYgZmlsZXMgY2hhbmdlZCwgMjYwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p Cj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGZzL3ViaWZzL3N5c2ZzLmMKPiBjcmVhdGUgbW9kZSAxMDA2 NDQgZnMvdWJpZnMvc3lzZnMuaAo+IAo+IGRpZmYgLS1naXQgYS9mcy91Ymlmcy9NYWtlZmlsZSBi L2ZzL3ViaWZzL01ha2VmaWxlCj4gaW5kZXggNWM0Yjg0NTc1NGE3Li4zMTRjODBiMjRhNzYgMTAw NjQ0Cj4gLS0tIGEvZnMvdWJpZnMvTWFrZWZpbGUKPiArKysgYi9mcy91Ymlmcy9NYWtlZmlsZQo+ IEBAIC01LDcgKzUsNyBAQCB1Ymlmcy15ICs9IHNocmlua2VyLm8gam91cm5hbC5vIGZpbGUubyBk aXIubyBzdXBlci5vIHNiLm8gaW8ubwo+IHViaWZzLXkgKz0gdG5jLm8gbWFzdGVyLm8gc2Nhbi5v IHJlcGxheS5vIGxvZy5vIGNvbW1pdC5vIGdjLm8gb3JwaGFuLm8KPiB1Ymlmcy15ICs9IGJ1ZGdl dC5vIGZpbmQubyB0bmNfY29tbWl0Lm8gY29tcHJlc3MubyBscHQubyBscHJvcHMubwo+IHViaWZz LXkgKz0gcmVjb3ZlcnkubyBpb2N0bC5vIGxwdF9jb21taXQubyB0bmNfbWlzYy5vIGRlYnVnLm8K PiAtdWJpZnMteSArPSBtaXNjLm8KPiArdWJpZnMteSArPSBtaXNjLm8gc3lzZnMubwo+IHViaWZz LSQoQ09ORklHX0ZTX0VOQ1JZUFRJT04pICs9IGNyeXB0by5vCj4gdWJpZnMtJChDT05GSUdfVUJJ RlNfRlNfWEFUVFIpICs9IHhhdHRyLm8KPiB1Ymlmcy0kKENPTkZJR19VQklGU19GU19BVVRIRU5U SUNBVElPTikgKz0gYXV0aC5vCj4gZGlmZiAtLWdpdCBhL2ZzL3ViaWZzL2lvLmMgYi9mcy91Ymlm cy9pby5jCj4gaW5kZXggMDBiNjFkYmE2MmI3Li4wYjE1OGU0MjBjYzEgMTAwNjQ0Cj4gLS0tIGEv ZnMvdWJpZnMvaW8uYwo+ICsrKyBiL2ZzL3ViaWZzL2lvLmMKPiBAQCAtMjM4LDYgKzIzOCw4IEBA IGludCB1Ymlmc19jaGVja19ub2RlKGNvbnN0IHN0cnVjdCB1Ymlmc19pbmZvICpjLCBjb25zdCB2 b2lkCj4gKmJ1ZiwgaW50IGxlbiwKPiAJCWlmICghcXVpZXQpCj4gCQkJdWJpZnNfZXJyKGMsICJi YWQgbWFnaWMgJSMwOHgsIGV4cGVjdGVkICUjMDh4IiwKPiAJCQkJICBtYWdpYywgVUJJRlNfTk9E RV9NQUdJQyk7Cj4gKwkJaWYgKGMtPnN0YXRzKQo+ICsJCQljLT5zdGF0cy0+bWFnaWNfZXJyb3Jz Kys7CgpQbGVhc2Ugd3JhcCB0aGlzIGludG8gYSBoZWxwZXIgZnVuY3Rpb24uCgo+IAkJZXJyID0g LUVVQ0xFQU47Cj4gCQlnb3RvIG91dDsKPiAJfQo+IEBAIC0yNDYsNiArMjQ4LDggQEAgaW50IHVi aWZzX2NoZWNrX25vZGUoY29uc3Qgc3RydWN0IHViaWZzX2luZm8gKmMsIGNvbnN0IHZvaWQKPiAq YnVmLCBpbnQgbGVuLAo+IAlpZiAodHlwZSA8IDAgfHwgdHlwZSA+PSBVQklGU19OT0RFX1RZUEVT X0NOVCkgewo+IAkJaWYgKCFxdWlldCkKPiAJCQl1Ymlmc19lcnIoYywgImJhZCBub2RlIHR5cGUg JWQiLCB0eXBlKTsKPiArCQlpZiAoYy0+c3RhdHMpCj4gKwkJCWMtPnN0YXRzLT5ub2RlX2Vycm9y cysrOwoKU2FtZS4KCj4gCQlnb3RvIG91dDsKPiAJfQo+IAo+IEBAIC0yNzAsNiArMjc0LDggQEAg aW50IHViaWZzX2NoZWNrX25vZGUoY29uc3Qgc3RydWN0IHViaWZzX2luZm8gKmMsIGNvbnN0IHZv aWQKPiAqYnVmLCBpbnQgbGVuLAo+IAkJaWYgKCFxdWlldCkKPiAJCQl1Ymlmc19lcnIoYywgImJh ZCBDUkM6IGNhbGN1bGF0ZWQgJSMwOHgsIHJlYWQgJSMwOHgiLAo+IAkJCQkgIGNyYywgbm9kZV9j cmMpOwo+ICsJCWlmIChjLT5zdGF0cykKPiArCQkJYy0+c3RhdHMtPmNyY19lcnJvcnMrKzsKClNh bWUuCgo+IAkJZXJyID0gLUVVQ0xFQU47Cj4gCQlnb3RvIG91dDsKPiAJfQo+IGRpZmYgLS1naXQg YS9mcy91Ymlmcy9zdXBlci5jIGIvZnMvdWJpZnMvc3VwZXIuYwo+IGluZGV4IGYwZmIyNTcyN2Q5 Ni4uNTBiOTM0ODU0YTg0IDEwMDY0NAo+IC0tLSBhL2ZzL3ViaWZzL3N1cGVyLmMKPiArKysgYi9m cy91Ymlmcy9zdXBlci5jCj4gQEAgLTI0LDYgKzI0LDcgQEAKPiAjaW5jbHVkZSA8bGludXgvbW91 bnQuaD4KPiAjaW5jbHVkZSA8bGludXgvbWF0aDY0Lmg+Cj4gI2luY2x1ZGUgPGxpbnV4L3dyaXRl YmFjay5oPgo+ICsjaW5jbHVkZSAic3lzZnMuaCIKPiAjaW5jbHVkZSAidWJpZnMuaCIKPiAKPiBz dGF0aWMgaW50IHViaWZzX2RlZmF1bHRfdmVyc2lvbl9zZXQoY29uc3QgY2hhciAqdmFsLCBjb25z dCBzdHJ1Y3Qga2VybmVsX3BhcmFtCj4gKmtwKQo+IEBAIC0xMjY0LDYgKzEyNjUsMTAgQEAgc3Rh dGljIGludCBtb3VudF91YmlmcyhzdHJ1Y3QgdWJpZnNfaW5mbyAqYykKPiAJaWYgKGVycikKPiAJ CXJldHVybiBlcnI7Cj4gCj4gKwllcnIgPSB1Ymlmc19zeXNmc19yZWdpc3RlcihjKTsKPiArCWlm IChlcnIpCj4gKwkJZ290byBvdXRfZGVidWdnaW5nOwo+ICsKPiAJZXJyID0gY2hlY2tfdm9sdW1l X2VtcHR5KGMpOwo+IAlpZiAoZXJyKQo+IAkJZ290byBvdXRfZnJlZTsKPiBAQCAtMTY0MSw2ICsx NjQ2LDggQEAgc3RhdGljIGludCBtb3VudF91YmlmcyhzdHJ1Y3QgdWJpZnNfaW5mbyAqYykKPiAJ dmZyZWUoYy0+c2J1Zik7Cj4gCWtmcmVlKGMtPmJvdHRvbV91cF9idWYpOwo+IAlrZnJlZShjLT5z dXBfbm9kZSk7Cj4gKwl1Ymlmc19zeXNmc191bnJlZ2lzdGVyKGMpOwo+ICtvdXRfZGVidWdnaW5n Ogo+IAl1Ymlmc19kZWJ1Z2dpbmdfZXhpdChjKTsKPiAJcmV0dXJuIGVycjsKPiB9Cj4gQEAgLTE2 ODQsNiArMTY5MSw3IEBAIHN0YXRpYyB2b2lkIHViaWZzX3Vtb3VudChzdHJ1Y3QgdWJpZnNfaW5m byAqYykKPiAJa2ZyZWUoYy0+Ym90dG9tX3VwX2J1Zik7Cj4gCWtmcmVlKGMtPnN1cF9ub2RlKTsK PiAJdWJpZnNfZGVidWdnaW5nX2V4aXQoYyk7Cj4gKwl1Ymlmc19zeXNmc191bnJlZ2lzdGVyKGMp Owo+IH0KPiAKPiAvKioKPiBAQCAtMjQzNiwxNCArMjQ0NCwyMCBAQCBzdGF0aWMgaW50IF9faW5p dCB1Ymlmc19pbml0KHZvaWQpCj4gCj4gCWRiZ19kZWJ1Z2ZzX2luaXQoKTsKPiAKPiArCWVyciA9 IHViaWZzX3N5c2ZzX2luaXQoKTsKPiArCWlmIChlcnIpCj4gKwkJZ290byBvdXRfZGJnOwo+ICsK PiAJZXJyID0gcmVnaXN0ZXJfZmlsZXN5c3RlbSgmdWJpZnNfZnNfdHlwZSk7Cj4gCWlmIChlcnIp IHsKPiAJCXByX2VycigiVUJJRlMgZXJyb3IgKHBpZCAlZCk6IGNhbm5vdCByZWdpc3RlciBmaWxl IHN5c3RlbSwgZXJyb3IgJWQiLAo+IAkJICAgICAgIGN1cnJlbnQtPnBpZCwgZXJyKTsKPiAtCQln b3RvIG91dF9kYmc7Cj4gKwkJZ290byBvdXRfc3lzZnM7Cj4gCX0KPiAJcmV0dXJuIDA7Cj4gCj4g K291dF9zeXNmczoKPiArCXViaWZzX3N5c2ZzX2V4aXQoKTsKPiBvdXRfZGJnOgo+IAlkYmdfZGVi dWdmc19leGl0KCk7Cj4gCXViaWZzX2NvbXByZXNzb3JzX2V4aXQoKTsKPiBAQCAtMjQ2Miw2ICsy NDc2LDcgQEAgc3RhdGljIHZvaWQgX19leGl0IHViaWZzX2V4aXQodm9pZCkKPiAJV0FSTl9PTihh dG9taWNfbG9uZ19yZWFkKCZ1Ymlmc19jbGVhbl96bl9jbnQpICE9IDApOwo+IAo+IAlkYmdfZGVi dWdmc19leGl0KCk7Cj4gKwl1Ymlmc19zeXNmc19leGl0KCk7Cj4gCXViaWZzX2NvbXByZXNzb3Jz X2V4aXQoKTsKPiAJdW5yZWdpc3Rlcl9zaHJpbmtlcigmdWJpZnNfc2hyaW5rZXJfaW5mbyk7Cj4g Cj4gZGlmZiAtLWdpdCBhL2ZzL3ViaWZzL3N5c2ZzLmMgYi9mcy91Ymlmcy9zeXNmcy5jCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmJhYzUzYTBmMDQ1MQo+IC0t LSAvZGV2L251bGwKPiArKysgYi9mcy91Ymlmcy9zeXNmcy5jCj4gQEAgLTAsMCArMSwxODcgQEAK PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvKgo+ICsgKiBU aGlzIGZpbGUgaXMgcGFydCBvZiBVQklGUy4KPiArICoKPiArICogQ29weXJpZ2h0IChDKSAyMDIx IENpc2NvIFN5c3RlbXMKPiArICoKPiArICogQXV0aG9yOiBTdGVmYW4gU2NoYWVja2VsZXIKPiAr ICovCj4gKwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L2ZzLmg+Cj4gKwo+ICsjaW5jbHVkZSAic3lz ZnMuaCIKPiArI2luY2x1ZGUgInViaWZzLmgiCj4gKwo+ICsKPiArZW51bSBhdHRyX2lkX3Qgewo+ ICsJYXR0cl9lcnJvcnNfbWFnaWMsCj4gKwlhdHRyX2Vycm9yc19ub2RlLAo+ICsJYXR0cl9lcnJv cnNfY3JjLAo+ICt9Owo+ICsKPiArc3RydWN0IHViaWZzX2F0dHIgewo+ICsJc3RydWN0IGF0dHJp YnV0ZSBhdHRyOwo+ICsJZW51bSBhdHRyX2lkX3QgYXR0cl9pZDsKPiArfTsKPiArCj4gKyNkZWZp bmUgVUJJRlNfQVRUUihfbmFtZSwgX21vZGUsIF9pZCkJCQkJCVwKPiArc3RhdGljIHN0cnVjdCB1 Ymlmc19hdHRyIHViaWZzX2F0dHJfIyNfbmFtZSA9IHsJCQkJXAo+ICsJLmF0dHIgPSB7Lm5hbWUg PSBfX3N0cmluZ2lmeShfbmFtZSksIC5tb2RlID0gX21vZGUgfSwJCVwKPiArCS5hdHRyX2lkID0g YXR0cl8jI19pZCwJCQkJCQlcCj4gK30KPiArCj4gKyNkZWZpbmUgVUJJRlNfQVRUUl9GVU5DKF9u YW1lLCBfbW9kZSkgVUJJRlNfQVRUUihfbmFtZSwgX21vZGUsIF9uYW1lKQo+ICsKPiArVUJJRlNf QVRUUl9GVU5DKGVycm9yc19tYWdpYywgMDY0NCk7Cj4gK1VCSUZTX0FUVFJfRlVOQyhlcnJvcnNf Y3JjLCAwNjQ0KTsKPiArVUJJRlNfQVRUUl9GVU5DKGVycm9yc19ub2RlLCAwNjQ0KTsKCkknbSBu b3Qgc3VyZSB3aGV0aGVyIGV2ZXJ5b25lIHNob3VsZCBiZSBhbGxvd2VkIHRvIHJlYWQgdGhlc2Ug c3RhdHMuCmRtZXNnIGlzIGFsc28gcmVzdHJpY3RlZCB0aGVzZSBkYXlzLiBBbiB1bnByaXZpbGVn ZWQgdXNlciBzaG91bGQgbm90IHNlZSB0aGUKZXJyb3JzIGhlIGNhbiBpbmRpcmVjdGx5IHRyaWdn ZXIuCgo+ICsjZGVmaW5lIEFUVFJfTElTVChuYW1lKSAoJnViaWZzX2F0dHJfIyNuYW1lLmF0dHIp Cj4gKwo+ICtzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqdWJpZnNfYXR0cnNbXSA9IHsKPiArCUFU VFJfTElTVChlcnJvcnNfbWFnaWMpLAo+ICsJQVRUUl9MSVNUKGVycm9yc19ub2RlKSwKPiArCUFU VFJfTElTVChlcnJvcnNfY3JjKSwKPiArCU5VTEwsCj4gK307Cj4gKwo+ICsKPiArc3RhdGljIHNz aXplX3QgdWJpZnNfYXR0cl9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAo+ICsJCQkgICAgICAg c3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQo+ICt7Cj4gKwlzdHJ1Y3QgdWJpZnNf aW5mbyAqc2JpID0gY29udGFpbmVyX29mKGtvYmosIHN0cnVjdCB1Ymlmc19pbmZvLAo+ICsJCQkJ CSAgICAgIGtvYmopOwo+ICsKPiArCXN0cnVjdCB1Ymlmc19hdHRyICphID0gY29udGFpbmVyX29m KGF0dHIsIHN0cnVjdCB1Ymlmc19hdHRyLCBhdHRyKTsKPiArCj4gKwlzd2l0Y2ggKGEtPmF0dHJf aWQpIHsKPiArCWNhc2UgYXR0cl9lcnJvcnNfbWFnaWM6Cj4gKwkJcmV0dXJuIHNucHJpbnRmKGJ1 ZiwgUEFHRV9TSVpFLCAiJXVcbiIsCj4gKwkJCQlzYmktPnN0YXRzLT5tYWdpY19lcnJvcnMpOwo+ ICsJY2FzZSBhdHRyX2Vycm9yc19ub2RlOgo+ICsJCXJldHVybiBzbnByaW50ZihidWYsIFBBR0Vf U0laRSwgIiV1XG4iLAo+ICsJCQkJc2JpLT5zdGF0cy0+bm9kZV9lcnJvcnMpOwo+ICsJY2FzZSBh dHRyX2Vycm9yc19jcmM6Cj4gKwkJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJXVc biIsCj4gKwkJCQlzYmktPnN0YXRzLT5jcmNfZXJyb3JzKTsKClBsZWFzZSB1c2Ugc3lzZnNfZW1p dCgpLgoKPiArCX0KPiArCXJldHVybiAwOwo+ICt9Owo+ICsKPiArCj4gK3N0YXRpYyBzc2l6ZV90 IHViaWZzX2F0dHJfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCj4gKwkJCSAgICAgICBzdHJ1 Y3QgYXR0cmlidXRlICphdHRyLAo+ICsJCQkgICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3Qg bGVuKQo+ICt7Cj4gKwlzdHJ1Y3QgdWJpZnNfaW5mbyAqc2JpID0gY29udGFpbmVyX29mKGtvYmos IHN0cnVjdCB1Ymlmc19pbmZvLAo+ICsJCQkJCSAgICAgIGtvYmopOwo+ICsKPiArCXN0cnVjdCB1 Ymlmc19hdHRyICphID0gY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCB1Ymlmc19hdHRyLCBhdHRy KTsKPiArCj4gKwlzd2l0Y2ggKGEtPmF0dHJfaWQpIHsKPiArCWNhc2UgYXR0cl9lcnJvcnNfbWFn aWM6Cj4gKwkJc2JpLT5zdGF0cy0+bWFnaWNfZXJyb3JzID0gMDsKPiArCQlicmVhazsKPiArCWNh c2UgYXR0cl9lcnJvcnNfbm9kZToKPiArCQlzYmktPnN0YXRzLT5ub2RlX2Vycm9ycyA9IDA7Cj4g KwkJYnJlYWs7Cj4gKwljYXNlIGF0dHJfZXJyb3JzX2NyYzoKPiArCQlzYmktPnN0YXRzLT5jcmNf ZXJyb3JzID0gMDsKPiArCQlicmVhazsKPiArCX0KPiArCXJldHVybiBsZW47Cj4gK30KPiArCj4g Kwo+ICtzdGF0aWMgdm9pZCB1Ymlmc19zYl9yZWxlYXNlKHN0cnVjdCBrb2JqZWN0ICprb2JqKQo+ ICt7Cj4gKwlzdHJ1Y3QgdWJpZnNfaW5mbyAqYyA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3Qg dWJpZnNfaW5mbywga29iaik7Cj4gKwo+ICsJY29tcGxldGUoJmMtPmtvYmpfdW5yZWdpc3Rlcik7 Cj4gK30KPiArCj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHN5c2ZzX29wcyB1Ymlmc19hdHRy X29wcyA9IHsKPiArCS5zaG93CT0gdWJpZnNfYXR0cl9zaG93LAo+ICsJLnN0b3JlCT0gdWJpZnNf YXR0cl9zdG9yZSwKPiArfTsKPiArCj4gK3N0YXRpYyBzdHJ1Y3Qga29ial90eXBlIHViaWZzX3Ni X2t0eXBlID0gewo+ICsJLmRlZmF1bHRfYXR0cnMJPSB1Ymlmc19hdHRycywKPiArCS5zeXNmc19v cHMJPSAmdWJpZnNfYXR0cl9vcHMsCj4gKwkucmVsZWFzZQk9IHViaWZzX3NiX3JlbGVhc2UsCj4g K307Cj4gKwo+ICtzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSB1Ymlmc19rdHlwZSA9IHsKPiArCS5z eXNmc19vcHMJPSAmdWJpZnNfYXR0cl9vcHMsCj4gK307Cj4gKwo+ICtzdGF0aWMgc3RydWN0IGtz ZXQgdWJpZnNfa3NldCA9IHsKPiArCS5rb2JqCT0gey5rdHlwZSA9ICZ1Ymlmc19rdHlwZX0sCj4g K307Cj4gKwo+ICsKPiAraW50IHViaWZzX3N5c2ZzX3JlZ2lzdGVyKHN0cnVjdCB1Ymlmc19pbmZv ICpjKQo+ICt7Cj4gKwlpbnQgcmV0LCBuOwo+ICsJY2hhciBkZnNfZGlyX25hbWVbVUJJRlNfREZT X0RJUl9MRU4rMV07Cj4gKwo+ICsJYy0+c3RhdHMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdWJp ZnNfc3RhdHNfaW5mbyksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFjLT5zdGF0cykgewo+ICsJCXJl dCA9IC1FTk9NRU07Cj4gKwkJZ290byBvdXRfbGFzdDsKPiArCX0KPiArCW4gPSBzbnByaW50Zihk ZnNfZGlyX25hbWUsIFVCSUZTX0RGU19ESVJfTEVOICsgMSwgVUJJRlNfREZTX0RJUl9OQU1FLAo+ ICsJCSAgICAgYy0+dmkudWJpX251bSwgYy0+dmkudm9sX2lkKTsKPiArCj4gKwlpZiAobiA9PSBV QklGU19ERlNfRElSX0xFTikgewo+ICsJCS8qIFRoZSBhcnJheSBzaXplIGlzIHRvbyBzbWFsbCAq Lwo+ICsJCXJldCA9IC1FSU5WQUw7Cj4gKwkJZ290byBvdXRfbGFzdDsKCldoZXJlIGlzIGMtPnN0 YXRzIHJlbGVhc2VkIGluIGNhc2Ugb2YgYW4gZXJyb3I/Cgo+ICsJfQo+ICsKPiArCWMtPmtvYmou a3NldCA9ICZ1Ymlmc19rc2V0Owo+ICsJaW5pdF9jb21wbGV0aW9uKCZjLT5rb2JqX3VucmVnaXN0 ZXIpOwo+ICsKPiArCj4gKwlyZXQgPSBrb2JqZWN0X2luaXRfYW5kX2FkZCgmYy0+a29iaiwgJnVi aWZzX3NiX2t0eXBlLCBOVUxMLAo+ICsJCQkJICAgIiVzIiwgZGZzX2Rpcl9uYW1lKTsKPiArCWlm IChyZXQpCj4gKwkJZ290byBvdXRfcHV0Owo+ICsKPiArCXJldHVybiAwOwo+ICsKPiArb3V0X3B1 dDoKPiArCWtvYmplY3RfcHV0KCZjLT5rb2JqKTsKPiArCXdhaXRfZm9yX2NvbXBsZXRpb24oJmMt PmtvYmpfdW5yZWdpc3Rlcik7Cj4gK291dF9sYXN0Ogo+ICsJdWJpZnNfZXJyKGMsICJjYW5ub3Qg Y3JlYXRlIHN5c2ZzIGVudHJ5IGZvciB1YmlmcyVkXyVkLCBlcnJvciAlZFxuIiwKPiArCQkgIGMt PnZpLnViaV9udW0sIGMtPnZpLnZvbF9pZCwgcmV0KTsKPiArCXJldHVybiByZXQ7Cj4gK30KPiAr Cj4gK3ZvaWQgdWJpZnNfc3lzZnNfdW5yZWdpc3RlcihzdHJ1Y3QgdWJpZnNfaW5mbyAqYykKPiAr ewo+ICsJa29iamVjdF9kZWwoJmMtPmtvYmopOwo+ICsJa29iamVjdF9wdXQoJmMtPmtvYmopOwo+ ICsJd2FpdF9mb3JfY29tcGxldGlvbigmYy0+a29ial91bnJlZ2lzdGVyKTsKPiArCj4gKwlrZnJl ZShjLT5zdGF0cyk7Cj4gK30KPiArCj4gK2ludCBfX2luaXQgdWJpZnNfc3lzZnNfaW5pdCh2b2lk KQo+ICt7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWtvYmplY3Rfc2V0X25hbWUoJnViaWZzX2tzZXQu a29iaiwgInViaWZzIik7Cj4gKwl1Ymlmc19rc2V0LmtvYmoucGFyZW50ID0gZnNfa29iajsKPiAr CXJldCA9IGtzZXRfcmVnaXN0ZXIoJnViaWZzX2tzZXQpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4g K30KPiArCj4gK3ZvaWQgdWJpZnNfc3lzZnNfZXhpdCh2b2lkKQo+ICt7Cj4gKwlrc2V0X3VucmVn aXN0ZXIoJnViaWZzX2tzZXQpOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL2ZzL3ViaWZzL3N5c2ZzLmgg Yi9mcy91Ymlmcy9zeXNmcy5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAw MDAwMDAuLmExMGE4MjU4NWFmOAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9mcy91Ymlmcy9zeXNm cy5oCgpEbyB3ZSByZWFsbHkgbmVlZCBhIG5ldyBoZWFkZXIgZmlsZT8KVXN1YWxseSBtb3N0IHJ1 bi10aW1lIHN0dWZmIG9mIFVCSUZTIGlzIHBhcnQgb2YgdWJpZnMuaC4KCj4gQEAgLTAsMCArMSwz OSBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCj4gKy8q Cj4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFVCSUZTLgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQg KEMpIDIwMjEgQ2lzY28gU3lzdGVtcwo+ICsgKgo+ICsgKiBBdXRob3I6IFN0ZWZhbiBTY2hhZWNr ZWxlcgo+ICsgKi8KPiArCj4gKyNpZm5kZWYgX19VQklGU19TWVNGU19IX18KPiArI2RlZmluZSBf X1VCSUZTX1NZU0ZTX0hfXwo+ICsKPiArc3RydWN0IHViaWZzX2luZm87Cj4gKwo+ICsvKgo+ICsg KiBUaGUgVUJJRlMgc3lzZnMgZGlyZWN0b3J5IG5hbWUgcGF0dGVybiBhbmQgbWF4aW11bSBuYW1l IGxlbmd0aCAoMyBmb3IgInViaSIKPiArICogKyAxIGZvciAiXyIgYW5kIHBsdXMgMngyIGZvciAy IFVCSSBudW1iZXJzIGFuZCAxIGZvciB0aGUgdHJhaWxpbmcgemVybyBieXRlLgo+ICsgKi8KPiAr I2RlZmluZSBVQklGU19ERlNfRElSX05BTUUgInViaSVkXyVkIgo+ICsjZGVmaW5lIFVCSUZTX0RG U19ESVJfTEVOICAoMyArIDEgKyAyKjIgKyAxKQo+ICsKPiArLyoqCj4gKyAqIHViaWZzX3N0YXRz X2luZm8gLSBwZXItRlMgc3RhdGlzdGljcyBpbmZvcm1hdGlvbi4KPiArICogQG1hZ2ljX2Vycm9y czogbnVtYmVyIG9mIGJhZCBtYWdpYyBudW1iZXJzICh3aWxsIGJlIHJlc2V0IHdpdGggYSBuZXcg bW91bnQpLgo+ICsgKiBAbm9kZV9lcnJvcnM6IG51bWJlciBvZiBiYWQgbm9kZXMgKHdpbGwgYmUg cmVzZXQgd2l0aCBhIG5ldyBtb3VudCkuCj4gKyAqIEBjcmNfZXJyb3JzOiBudW1iZXIgb2YgYmFk IGNyY3MgKHdpbGwgYmUgcmVzZXQgd2l0aCBhIG5ldyBtb3VudCkuCj4gKyAqLwo+ICtzdHJ1Y3Qg dWJpZnNfc3RhdHNfaW5mbyB7Cj4gKwl1bnNpZ25lZCBpbnQgbWFnaWNfZXJyb3JzOwo+ICsJdW5z aWduZWQgaW50IG5vZGVfZXJyb3JzOwo+ICsJdW5zaWduZWQgaW50IGNyY19lcnJvcnM7Cj4gK307 Cj4gKwo+ICtpbnQgdWJpZnNfc3lzZnNfaW5pdCh2b2lkKTsKPiArdm9pZCB1Ymlmc19zeXNmc19l eGl0KHZvaWQpOwo+ICtpbnQgdWJpZnNfc3lzZnNfcmVnaXN0ZXIoc3RydWN0IHViaWZzX2luZm8g KmMpOwo+ICt2b2lkIHViaWZzX3N5c2ZzX3VucmVnaXN0ZXIoc3RydWN0IHViaWZzX2luZm8gKmMp Owo+ICsKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2ZzL3ViaWZzL3ViaWZzLmggYi9mcy91Ymlm cy91Ymlmcy5oCj4gaW5kZXggYzM4MDY2Y2U5YWIwLi5iZmMwZjIwYjQxYTEgMTAwNjQ0Cj4gLS0t IGEvZnMvdWJpZnMvdWJpZnMuaAo+ICsrKyBiL2ZzL3ViaWZzL3ViaWZzLmgKPiBAQCAtMjcsMTIg KzI3LDE1IEBACj4gI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+Cj4gI2luY2x1ZGUgPGxpbnV4 L3hhdHRyLmg+Cj4gI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgo+ICsjaW5jbHVkZSA8bGludXgv c3lzZnMuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KPiAjaW5jbHVkZSA8Y3J5 cHRvL2hhc2hfaW5mby5oPgo+ICNpbmNsdWRlIDxjcnlwdG8vaGFzaC5oPgo+ICNpbmNsdWRlIDxj cnlwdG8vYWxnYXBpLmg+Cj4gCj4gI2luY2x1ZGUgPGxpbnV4L2ZzY3J5cHQuaD4KPiAKPiArI2lu Y2x1ZGUgInN5c2ZzLmgiCj4gI2luY2x1ZGUgInViaWZzLW1lZGlhLmgiCj4gCj4gLyogVmVyc2lv biBvZiB0aGlzIFVCSUZTIGltcGxlbWVudGF0aW9uICovCj4gQEAgLTEyNTEsNiArMTI1NCwxMCBA QCBzdHJ1Y3QgdWJpZnNfZGVidWdfaW5mbzsKPiAgKiBAbW91bnRfb3B0czogVUJJRlMtc3BlY2lm aWMgbW91bnQgb3B0aW9ucwo+ICAqCj4gICogQGRiZzogZGVidWdnaW5nLXJlbGF0ZWQgaW5mb3Jt YXRpb24KPiArICogQHN0YXRzOiBzdGF0aXN0aWNzIGV4cG9ydGVkIG92ZXIgc3lzZnMKPiArICoK PiArICogQGtvYmo6IGtvYmplY3QgZm9yIC9zeXMvZnMvdWJpZnMvCj4gKyAqIEBrb2JqX3VucmVn aXN0ZXI6IGNvbXBsZXRpb24gdG8gdW5yZWdpc3RlciBzeXNmcyBrb2JqZWN0Cj4gICovCj4gc3Ry dWN0IHViaWZzX2luZm8gewo+IAlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnZmc19zYjsKPiBAQCAtMTI4 Niw2ICsxMjkzLDkgQEAgc3RydWN0IHViaWZzX2luZm8gewo+IAlzcGlubG9ja190IGNzX2xvY2s7 Cj4gCXdhaXRfcXVldWVfaGVhZF90IGNtdF93cTsKPiAKPiArCXN0cnVjdCBrb2JqZWN0IGtvYmo7 Cj4gKwlzdHJ1Y3QgY29tcGxldGlvbiBrb2JqX3VucmVnaXN0ZXI7Cj4gKwo+IAl1bnNpZ25lZCBp bnQgYmlnX2xwdDoxOwo+IAl1bnNpZ25lZCBpbnQgc3BhY2VfZml4dXA6MTsKPiAJdW5zaWduZWQg aW50IGRvdWJsZV9oYXNoOjE7Cj4gQEAgLTE0OTMsNiArMTUwMyw3IEBAIHN0cnVjdCB1Ymlmc19p bmZvIHsKPiAJc3RydWN0IHViaWZzX21vdW50X29wdHMgbW91bnRfb3B0czsKPiAKPiAJc3RydWN0 IHViaWZzX2RlYnVnX2luZm8gKmRiZzsKPiArCXN0cnVjdCB1Ymlmc19zdGF0c19pbmZvICpzdGF0 czsKPiB9Owo+IAo+IGV4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIHViaWZzX2luZm9zOwo+IC0tCj4g Mi4zMi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo=