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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 551C1C3601E for ; Thu, 10 Apr 2025 18:47:03 +0000 (UTC) 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:Message-ID:Date:Subject: In-Reply-To:References:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KyJNsiB6Erbh+SLMk8nj4JP24JKbK9wQSks6/BiJfqs=; b=I7TTGFq5C/k28e 0fU0sJpRSymW6BDwqeTicSaaoOEJYyuxGfxhdAQ8qQBTDINZlDvB0FXiHhyCZ5URm8LwHU8VDJ2Kg PHcMMRqg5aRe6WKdYy7AhhA4UBfE5q/KlLu5HMEqqp6vSUqPkjvfx7WPOqJfRLQE2vU8BLPYm3tTq NlApHVJt+McNIwRXeVwpH8ye3H5RkIJu1090wKW06A5tL2iFpWjvfV12ZXWzMx2AugRUGPM1K4m0T Y40gB8/2/RsZ+nlTFwNWOksPBD1Dtp0KzriLNW46i8+7d8tLfl9KH66wsqrZs4S+fY+Nm45rj0sZG g55oj0+A3aVGLHZnFa8Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2wvP-0000000BZE7-3U3b; Thu, 10 Apr 2025 18:46:55 +0000 Received: from mail.mvand.net ([185.229.52.35]) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2wvN-0000000BZCP-0uQT; Thu, 10 Apr 2025 18:46:54 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail.mvand.net (Postfix) with ESMTPSA id 34FEA1FFBE; Thu, 10 Apr 2025 20:46:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=martijnvandeventer.nl; s=default; t=1744310809; bh=35f6PssSUk82gUbtI8PktIZ3m65teiiSAGKD5LD8TgM=; h=From:To:Cc:References:In-Reply-To:Subject:Date:From; b=ESQ/pJWIaR4uTXdP/9KMB45vWyGoLXrT8WlK1orbSkbIqAHvcP9cblEE93RxWKMW7 pDKCBk0Wonc4PdiqukPYmRaHs+VEC7yRcT5iBukWDuc2diig4ExCA+/w3lA0fPECDe 1yh8FHyhEGyuXdVguaVK0FUI3A4++JsXiUn3ujriGcNL3eQEIy2N0773GJqnK8hgrb Iu6wh8XzKbBulaaIhbqokXsH2arfjT65kq4cPGm7AVIStExiJ9XpsJt4TYEwZSNTiW r34hjcKsvfVLa9G3vXHymZPksKs0ma0JYE4aYXhnEDeEGfwWDgg7p1k94++TC+8ygx qXSY54OVqzP8w== From: To: "'Martin Blumenstingl'" , , Cc: , , , , "'Furkan Kardame'" References: <20250409214422.1751825-1-martin.blumenstingl@googlemail.com> In-Reply-To: <20250409214422.1751825-1-martin.blumenstingl@googlemail.com> Subject: RE: [PATCH] drm/meson: fix resource cleanup in meson_drv_bind_master() on error Date: Thu, 10 Apr 2025 20:46:48 +0200 Message-ID: <001d01dbaa48$ead66d10$c0834730$@martijnvandeventer.nl> Mime-Version: 1.0 Content-Language: en-us Thread-Index: AQHanRYIlb/sWKyzPMx9MZcpgEt53rOfTIcg X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250410_114653_458524_FEB3C5DC X-CRM114-Status: GOOD ( 29.84 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org SGkgTWFydGluLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpJIGVuY291bnRlcmVkIHRoaXMg aXNzdWUgc29tZSB0aW1lIGFnbyBhcyB3ZWxsIGFuZCBoYWQgYSBwb3NzaWJsZSBmaXggaW4gbXkg dHJlZSAoc2VlCmJlbG93KS4gCk15IGFwb2xvZ2llcyBmb3Igbm90IHVwc3RyZWFtaW5nIGl0IGVh cmxpZXIuCgpXaGlsZSBteSBmaXggaXMgbm90IGFzIHN5bW1ldHJpYyBhcyB5b3Vyc+KAlEkgbGlr ZSBzeW1tZXRyeeKAlGl0IGlzIHNvbWV3aGF0IHNpbXBsZXIuIEl0CmRpZCBtYWtlIHRoZSBhc3N1 bXB0aW9uIHRoYXQgb25seSAgY2FsbGluZyBjb21wb25lbnRfdW5iaW5kX2FsbCgpIHdhcyBhdCBm YXVsdCBhbmQgdGhlIHRoZSByZXN0IG9mIHRoZSAKY29kZSB3YXMgY29ycmVjdC4gVGhlcmVmb3Jl LCBjYWxsaW5nIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKbWVzb25fZW5jb2Rlcl9k c2lfcmVtb3ZlKCkKbWVzb25fZW5jb2Rlcl9oZG1pX3JlbW92ZSgpCm1lc29uX2VuY29kZXJfY3Zi c19yZW1vdmUoKQppbiBjYXNlIHRoZWlyIGNvdW50ZXJwYXJ0IHdhcyBub3QgY2FsbGVkLCBzaG91 bGQgbm90IHJlc3VsdCBpbiBhbnkgaXNzdWVzLgoKSSBqdXN0IHZlcmlmaWVkLCBhbmQsIGFzIGZh ciBhcyBJIHVuZGVyc3RhbmQsIGFsbCBvZiB0aGVzZSBmdW5jdGlvbnMgZG8gYSBjaGVjayB0byBj b25maXJtCndoZXRoZXIgdGhlIGVuY29kZXIgd2FzIGluaXRpYWxpemVkIGJlZm9yZSBwcm9jZWVk aW5nIHdpdGggY2xlYW51cC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25f ZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKaW5kZXggODFkMmVlMzdl NzczLi40ZTJkNDVhMjcxYzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNv bl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKQEAgLTE4NCw2 ICsxODQsNyBAQCBzdGF0aWMgaW50IG1lc29uX2Rydl9iaW5kX21hc3RlcihzdHJ1Y3QgZGV2aWNl ICpkZXYsIGJvb2wgaGFzX2NvbXBvbmVudHMpCiAgICAgICAgY29uc3Qgc3RydWN0IG1lc29uX2Ry bV9tYXRjaF9kYXRhICptYXRjaDsKICAgICAgICBzdHJ1Y3QgbWVzb25fZHJtICpwcml2OwogICAg ICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkcm07CisgICAgICAgYm9vbCBkb191bmJpbmQgPSBmYWxz ZTsKICAgICAgICBzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKICAgICAgICB2b2lkIF9faW9tZW0gKnJl Z3M7CiAgICAgICAgaW50IHJldCwgaTsKQEAgLTMxMiwxMCArMzEzLDkgQEAgc3RhdGljIGludCBt ZXNvbl9kcnZfYmluZF9tYXN0ZXIoc3RydWN0IGRldmljZSAqZGV2LCBib29sIGhhc19jb21wb25l bnRzKQogICAgICAgICAgICAgICAgcmV0ID0gY29tcG9uZW50X2JpbmRfYWxsKGRldiwgZHJtKTsK ICAgICAgICAgICAgICAgIGlmIChyZXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2Vy cihkcm0tPmRldiwgIkNvdWxkbid0IGJpbmQgYWxsIGNvbXBvbmVudHNcbiIpOwotICAgICAgICAg ICAgICAgICAgICAgICAvKiBEbyBub3QgdHJ5IHRvIHVuYmluZCAqLwotICAgICAgICAgICAgICAg ICAgICAgICBoYXNfY29tcG9uZW50cyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBn b3RvIGV4aXRfYWZiY2Q7CiAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICBkb191bmJp bmQgPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgcmV0ID0gbWVzb25fZW5jb2Rlcl9oZG1pX3By b2JlKHByaXYpOwpAQCAtMzc4LDcgKzM3OCw3IEBAIHN0YXRpYyBpbnQgbWVzb25fZHJ2X2JpbmRf bWFzdGVyKHN0cnVjdCBkZXZpY2UgKmRldiwgYm9vbCBoYXNfY29tcG9uZW50cykKICAgICAgICBt ZXNvbl9lbmNvZGVyX2hkbWlfcmVtb3ZlKHByaXYpOwogICAgICAgIG1lc29uX2VuY29kZXJfY3Zi c19yZW1vdmUocHJpdik7CgotICAgICAgIGlmIChoYXNfY29tcG9uZW50cykKKyAgICAgICBpZiAo ZG9fdW5iaW5kKQogICAgICAgICAgICAgICAgY29tcG9uZW50X3VuYmluZF9hbGwoZGV2LCBkcm0p OwoKICAgICAgICByZXR1cm4gcmV0OwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhp cyBwYXRjaCBoYXMgc29tZXdoYXQgbGVzcyBjb2RlIHJlZHVuZGFuY3kuIEkgZG9u4oCZdCBoYXZl IGEgc3Ryb25nCnByZWZlcmVuY2UgZm9yIGVpdGhlciBwYXRjaCwgc28gcGxlYXNlIGZlZWwgZnJl ZSB0byBjaG9vc2Ugd2hpY2hldmVyIHlvdSAKcHJlZmVyLiAKCklmIHlvdSBkZWNpZGUgdG8gZ28g d2l0aCB5b3VycywgSeKAmXZlIHByb3ZpZGVkIG9uZSBtaW5vciBjb21tZW50IGlubGluZQpmb3Ig eW91ciBjb25zaWRlcmF0aW9uLgoKPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206 IGxpbnV4LWFtbG9naWMgPGxpbnV4LWFtbG9naWMtYm91bmNlc0BsaXN0cy5pbmZyYWRlYWQub3Jn PiBPbiBCZWhhbGYKPiBPZiBNYXJ0aW4gQmx1bWVuc3RpbmdsCj4gU2VudDogV2VkbmVzZGF5LCBB cHJpbCA5LCAyMDI1IDExOjQ0IFBNCj4gVG86IGxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFk Lm9yZzsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBsaW51eC1rZXJuZWxA dmdlci5rZXJuZWwub3JnOyBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7Cj4g amJydW5ldEBiYXlsaWJyZS5jb207IG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc7IE1hcnRpbiBC bHVtZW5zdGluZ2wKPiA8bWFydGluLmJsdW1lbnN0aW5nbEBnb29nbGVtYWlsLmNvbT47IEZ1cmth biBLYXJkYW1lCj4gPGYua2FyZGFtZUBtYW5qYXJvLm9yZz4KPiBTdWJqZWN0OiBbUEFUQ0hdIGRy bS9tZXNvbjogZml4IHJlc291cmNlIGNsZWFudXAgaW4KPiBtZXNvbl9kcnZfYmluZF9tYXN0ZXIo KSBvbiBlcnJvcgo+IAo+IG1lc29uX2Rydl9iaW5kX21hc3RlcigpIGRvZXMgbm90IGZyZWUgcmVz b3VyY2VzIGluIHRoZSBvcmRlciB0aGV5IGFyZQo+IGFsbG9jYXRlZC4gVGhpcyBjYW4gbGVhZCB0 byBjcmFzaGVzIHN1Y2ggYXM6Cj4gICAgIFVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9p bnRlciBkZXJlZmVyZW5jZSBhdCB2aXJ0dWFsIGFkZHJlc3MKPiAwMDAwMDAwMDAwMDAwMGM4Cj4g ICAgIFsuLi5dCj4gICAgIEhhcmR3YXJlIG5hbWU6IEJlZWxpbmsgR1QtS2luZyBQcm8gKERUKQo+ ICAgICBwc3RhdGU6IDYwMDAwMDA1IChuWkN2IGRhaWYgLVBBTiAtVUFPIC1UQ08gLURJVCAtU1NC UyBCVFlQRT0tLSkKPiAgICAgcGMgOiBtZXNvbl9kd19oZG1pX3VuYmluZCsweDEwLzB4MjQgW21l c29uX2R3X2hkbWldCj4gICAgIGxyIDogY29tcG9uZW50X3VuYmluZCsweDM4LzB4NjAKPiAgICAg Wy4uLl0KPiAgICAgQ2FsbCB0cmFjZToKPiAgICAgIG1lc29uX2R3X2hkbWlfdW5iaW5kKzB4MTAv MHgyNCBbbWVzb25fZHdfaGRtaV0KPiAgICAgIGNvbXBvbmVudF91bmJpbmQrMHgzOC8weDYwCj4g ICAgICBjb21wb25lbnRfdW5iaW5kX2FsbCsweGI4LzB4YzQKPiAgICAgIG1lc29uX2Rydl9iaW5k X21hc3RlcisweDFlYy8weDUxNCBbbWVzb25fZHJtXQo+ICAgICAgbWVzb25fZHJ2X2JpbmQrMHgx NC8weDIwIFttZXNvbl9kcm1dCj4gICAgICB0cnlfdG9fYnJpbmdfdXBfYWdncmVnYXRlX2Rldmlj ZSsweGE4LzB4MTYwCj4gICAgICBfX2NvbXBvbmVudF9hZGQrMHhiOC8weDFhOAo+ICAgICAgY29t cG9uZW50X2FkZCsweDE0LzB4MjAKPiAgICAgIG1lc29uX2R3X2hkbWlfcHJvYmUrMHgxYy8weDI4 IFttZXNvbl9kd19oZG1pXQo+ICAgICAgcGxhdGZvcm1fcHJvYmUrMHg2OC8weGRjCj4gICAgICBy ZWFsbHlfcHJvYmUrMHhjMC8weDM5Ywo+ICAgICAgX19kcml2ZXJfcHJvYmVfZGV2aWNlKzB4N2Mv MHgxNGMKPiAgICAgIGRyaXZlcl9wcm9iZV9kZXZpY2UrMHgzYy8weDEyMAo+ICAgICAgX19kcml2 ZXJfYXR0YWNoKzB4YzQvMHgyMDAKPiAgICAgIGJ1c19mb3JfZWFjaF9kZXYrMHg3OC8weGQ4Cj4g ICAgICBkcml2ZXJfYXR0YWNoKzB4MjQvMHgzMAo+ICAgICAgYnVzX2FkZF9kcml2ZXIrMHgxMTAv MHgyNDAKPiAgICAgIGRyaXZlcl9yZWdpc3RlcisweDY4LzB4MTI0Cj4gICAgICBfX3BsYXRmb3Jt X2RyaXZlcl9yZWdpc3RlcisweDI0LzB4MzAKPiAgICAgIG1lc29uX2R3X2hkbWlfcGxhdGZvcm1f ZHJpdmVyX2luaXQrMHgyMC8weDEwMDAgW21lc29uX2R3X2hkbWldCj4gICAgICBkb19vbmVfaW5p dGNhbGwrMHg1MC8weDFiYwo+ICAgICAgZG9faW5pdF9tb2R1bGUrMHg1NC8weDFmYwo+ICAgICAg bG9hZF9tb2R1bGUrMHg3ODgvMHg4ODQKPiAgICAgIGluaXRfbW9kdWxlX2Zyb21fZmlsZSsweDg4 LzB4ZDQKPiAgICAgIF9fYXJtNjRfc3lzX2Zpbml0X21vZHVsZSsweDI0OC8weDM0MAo+ICAgICAg aW52b2tlX3N5c2NhbGwrMHg0OC8weDEwNAo+ICAgICAgZWwwX3N2Y19jb21tb24uY29uc3Rwcm9w LjArMHg0MC8weGUwCj4gICAgICBkb19lbDBfc3ZjKzB4MWMvMHgyOAo+ICAgICAgZWwwX3N2Yysw eDMwLzB4Y2MKPiAgICAgIGVsMHRfNjRfc3luY19oYW5kbGVyKzB4MTIwLzB4MTJjCj4gICAgICBl bDB0XzY0X3N5bmMrMHgxOTAvMHgxOTQKPiAKPiBDbGVhbiB1cCByZXNvdXJjZXMgaW4gdGhlIGVy cm9yIHBhdGggaW4gdGhlIHNhbWUgb3JkZXIgYW5kIHVuZGVyIHRoZQo+IHNhbWUgY29uZGl0aW9u cyBhcyB0aGV5IHdlcmUgYWxsb2NhdGVkIHRvIGZpeCB0aGlzLgo+IAo+IFJlcG9ydGVkLWJ5OiBG dXJrYW4gS2FyZGFtZSA8Zi5rYXJkYW1lQG1hbmphcm8ub3JnPgo+IFNpZ25lZC1vZmYtYnk6IE1h cnRpbiBCbHVtZW5zdGluZ2wgPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5jb20+Cj4g LS0tCj4gVGhpcyBpc3N1ZSB3YXMgcmVwb3J0ZWQgb2ZmLWxpc3Qgc28gSSdtIHVuYWJsZSB0byBw cm92aWRlIGEgbGluayB0byB0aGUKPiByZXBvcnQuCj4gCj4gSSdtIG5vdCBzdXJlIHdoaWNoIEZp eGVzIHRhZyBmaXRzIGJlc3QuIE15IHByZWZlcmVuY2Ugc28gZmFyIGlzCj4gRml4ZXM6IDZhMDQ0 NjQyOTg4YiAoImRybS9tZXNvbjogZml4IHVuYmluZCBwYXRoIGlmIEhETUkgZmFpbHMgdG8gYmlu ZCIpCj4gYnV0IEknbGwgaGFwcGlseSB0YWtlIG90aGVyIHN1Z2dlc3Rpb25zIGFzIHdlbGwuCj4g Cj4gCj4gIGRyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuYyB8IDMxICsrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyks IDE0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24v bWVzb25fZHJ2LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuYwo+IGluZGV4 IDgxZDJlZTM3ZTc3My4uMDMxNjg2ZmQ0MTA0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tZXNvbi9tZXNvbl9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9k cnYuYwo+IEBAIC0zMTQsMzUgKzMxNCwzNSBAQCBzdGF0aWMgaW50IG1lc29uX2Rydl9iaW5kX21h c3RlcihzdHJ1Y3QgZGV2aWNlCj4gKmRldiwgYm9vbCBoYXNfY29tcG9uZW50cykKPiAgCQkJZGV2 X2Vycihkcm0tPmRldiwgIkNvdWxkbid0IGJpbmQgYWxsCj4gY29tcG9uZW50c1xuIik7Cj4gIAkJ CS8qIERvIG5vdCB0cnkgdG8gdW5iaW5kICovCj4gIAkJCWhhc19jb21wb25lbnRzID0gZmFsc2U7 CgpBYm92ZSB0d28gbGluZXMgYXJlIG5vIGxvbmdlciB1c2VkLCBzbyBjYW4gYmUgcmVtb3ZlZC4K Cj4gLQkJCWdvdG8gZXhpdF9hZmJjZDsKPiArCQkJZ290byBjdmJzX2VuY29kZXJfcmVtb3ZlOwo+ ICAJCX0KPiAgCX0KPiAKPiAgCXJldCA9IG1lc29uX2VuY29kZXJfaGRtaV9wcm9iZShwcml2KTsK PiAgCWlmIChyZXQpCj4gLQkJZ290byBleGl0X2FmYmNkOwo+ICsJCWdvdG8gdW5iaW5kX2NvbXBv bmVudHM7Cj4gCj4gIAlpZiAobWVzb25fdnB1X2lzX2NvbXBhdGlibGUocHJpdiwgVlBVX0NPTVBB VElCTEVfRzEyQSkpIHsKPiAgCQlyZXQgPSBtZXNvbl9lbmNvZGVyX2RzaV9wcm9iZShwcml2KTsK PiAgCQlpZiAocmV0KQo+IC0JCQlnb3RvIGV4aXRfYWZiY2Q7Cj4gKwkJCWdvdG8gaGRtaV9lbmNv ZGVyX3JlbW92ZTsKPiAgCX0KPiAKPiAgCXJldCA9IG1lc29uX3BsYW5lX2NyZWF0ZShwcml2KTsK PiAgCWlmIChyZXQpCj4gLQkJZ290byBleGl0X2FmYmNkOwo+ICsJCWdvdG8gZHNpX2VuY29kZXJf cmVtb3ZlOwo+IAo+ICAJcmV0ID0gbWVzb25fb3ZlcmxheV9jcmVhdGUocHJpdik7Cj4gIAlpZiAo cmV0KQo+IC0JCWdvdG8gZXhpdF9hZmJjZDsKPiArCQlnb3RvIGRzaV9lbmNvZGVyX3JlbW92ZTsK PiAKPiAgCXJldCA9IG1lc29uX2NydGNfY3JlYXRlKHByaXYpOwo+ICAJaWYgKHJldCkKPiAtCQln b3RvIGV4aXRfYWZiY2Q7Cj4gKwkJZ290byBkc2lfZW5jb2Rlcl9yZW1vdmU7Cj4gCj4gIAlyZXQg PSByZXF1ZXN0X2lycShwcml2LT52c3luY19pcnEsIG1lc29uX2lycSwgMCwgZHJtLT5kcml2ZXIt Pm5hbWUsCj4gZHJtKTsKPiAgCWlmIChyZXQpCj4gLQkJZ290byBleGl0X2FmYmNkOwo+ICsJCWdv dG8gZHNpX2VuY29kZXJfcmVtb3ZlOwo+IAo+ICAJZHJtX21vZGVfY29uZmlnX3Jlc2V0KGRybSk7 Cj4gCj4gQEAgLTM2MCw2ICszNjAsMTYgQEAgc3RhdGljIGludCBtZXNvbl9kcnZfYmluZF9tYXN0 ZXIoc3RydWN0IGRldmljZQo+ICpkZXYsIGJvb2wgaGFzX2NvbXBvbmVudHMpCj4gCj4gIHVuaW5z dGFsbF9pcnE6Cj4gIAlmcmVlX2lycShwcml2LT52c3luY19pcnEsIGRybSk7Cj4gK2RzaV9lbmNv ZGVyX3JlbW92ZToKPiArCWlmIChtZXNvbl92cHVfaXNfY29tcGF0aWJsZShwcml2LCBWUFVfQ09N UEFUSUJMRV9HMTJBKSkKPiArCQltZXNvbl9lbmNvZGVyX2RzaV9yZW1vdmUocHJpdik7Cj4gK2hk bWlfZW5jb2Rlcl9yZW1vdmU6Cj4gKwltZXNvbl9lbmNvZGVyX2hkbWlfcmVtb3ZlKHByaXYpOwo+ ICt1bmJpbmRfY29tcG9uZW50czoKPiArCWlmIChoYXNfY29tcG9uZW50cykKPiArCQljb21wb25l bnRfdW5iaW5kX2FsbChkZXYsIGRybSk7Cj4gK2N2YnNfZW5jb2Rlcl9yZW1vdmU6Cj4gKwltZXNv bl9lbmNvZGVyX2N2YnNfcmVtb3ZlKHByaXYpOwo+ICBleGl0X2FmYmNkOgo+ICAJaWYgKHByaXYt PmFmYmNkLm9wcykKPiAgCQlwcml2LT5hZmJjZC5vcHMtPmV4aXQocHJpdik7Cj4gQEAgLTM3NCwx MyArMzg0LDYgQEAgc3RhdGljIGludCBtZXNvbl9kcnZfYmluZF9tYXN0ZXIoc3RydWN0IGRldmlj ZQo+ICpkZXYsIGJvb2wgaGFzX2NvbXBvbmVudHMpCj4gIGZyZWVfZHJtOgo+ICAJZHJtX2Rldl9w dXQoZHJtKTsKPiAKPiAtCW1lc29uX2VuY29kZXJfZHNpX3JlbW92ZShwcml2KTsKPiAtCW1lc29u X2VuY29kZXJfaGRtaV9yZW1vdmUocHJpdik7Cj4gLQltZXNvbl9lbmNvZGVyX2N2YnNfcmVtb3Zl KHByaXYpOwo+IC0KPiAtCWlmIChoYXNfY29tcG9uZW50cykKPiAtCQljb21wb25lbnRfdW5iaW5k X2FsbChkZXYsIGRybSk7Cj4gLQo+ICAJcmV0dXJuIHJldDsKPiAgfQo+IAogLS0KQmVzdCByZWdh cmRzLAoKTWFydGlqbgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hbWxvZ2ljCg==