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=-12.0 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,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 8F3F3C433B4 for ; Fri, 23 Apr 2021 11:36:08 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 2E8316145A for ; Fri, 23 Apr 2021 11:36:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2E8316145A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B88B56EB80; Fri, 23 Apr 2021 11:36:07 +0000 (UTC) Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0E8456EB80 for ; Fri, 23 Apr 2021 11:36:06 +0000 (UTC) Received: by mail-ed1-x52e.google.com with SMTP id y3so20815613eds.5 for ; Fri, 23 Apr 2021 04:36:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=yhrYfAMM0mp8+JKO58FRlUm2xIwdJY2GISgjSC3vCXg=; b=RziI2dmvWiNrn4bJhywVaQvg6vGNFFZQpZx1TL9BzH1gWK53KgcBXTFzGUv3wDCluC BfJeL25RexKYheK4Yogo5r9oMVhfPMjwNoJgkWRfzGkdgY9ojcVKJIpT7E4FZX9dGn7O L0hySegtu8FoOAEDz7M0UsqJhN+waVAUhuP8nKPKOdAUaXf12JXC2wkRwIEss3oPzGAu vWadMX97QZxtKlDaN4lZj2uEeZo6VyOFnzgEns+5IUR6kVwGpwNNwlY4Yj07mXr4X89u qXHoWxuyrRbPtyN8hEMtMo1Y2I6/1d++saicPdp3JEtN1uZ6CSvOQKvdsDEoW7pWHa+t K3Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=yhrYfAMM0mp8+JKO58FRlUm2xIwdJY2GISgjSC3vCXg=; b=IVsMSxuaoy4yVq0fCmHMjy0Cd0CUBxvgsebJ6TBlHd4s6FwxE0iR6huW0FzJsKZFVM nAiXZjPSGIHnbxkujTGqJWR+J8SSXCzbG4pJlBuBpfDuA8qBYwS7b3ZkwosHrzq+kHGd IZu5gi/Mp1mtsThcBdI47nER6Cwqjj/NJFo5QEA8PMTwFVS2TiltWAMImDKDgHG6oVOm OtZ4eJPD9BDqHCIZ23K1ePPkEl4gjN2qpJAn5CCZ1gP8xE3Z8ht3AxK4/NQkZS74/cRU dKzfTk+XRnh0JL1oMT4qT0xLBkpvG3WM2J0fvIvRF9thz70r3iWNN2mn5oIzbhQDoPJn Xxiw== X-Gm-Message-State: AOAM530JfnVsTZsxPfRGNmf95xp+II8Zoz5cuyakhDnVGg8Aqi7B/wI/ L5MClpsKuHdmsYXpWEGynr8= X-Google-Smtp-Source: ABdhPJxt27idN6OXriD/NYXUiqNInAik3qbZMb97qCmlGE395p/gF6wfGLklpTQCFrj6rZjXCxFG+w== X-Received: by 2002:a05:6402:4405:: with SMTP id y5mr3867019eda.149.1619177764594; Fri, 23 Apr 2021 04:36:04 -0700 (PDT) Received: from ?IPv6:2a02:908:1252:fb60:88a3:b9e2:1bf9:4d38? ([2a02:908:1252:fb60:88a3:b9e2:1bf9:4d38]) by smtp.gmail.com with ESMTPSA id s3sm4464842edw.66.2021.04.23.04.36.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 23 Apr 2021 04:36:04 -0700 (PDT) Subject: Re: [PATCH 2/2] drm/amdgpu: Add show_fdinfo() interface To: Roy Sun , amd-gfx@lists.freedesktop.org References: <20210423105509.23025-1-Roy.Sun@amd.com> <20210423105509.23025-2-Roy.Sun@amd.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: Date: Fri, 23 Apr 2021 13:36:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <20210423105509.23025-2-Roy.Sun@amd.com> Content-Language: en-US X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David M Nieto Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" QW0gMjMuMDQuMjEgdW0gMTI6NTUgc2NocmllYiBSb3kgU3VuOgo+IFRyYWNraW5nIGRldmljZXMs IHByb2Nlc3MgaW5mbyBhbmQgZmVuY2UgaW5mbyB1c2luZwo+IC9wcm9jL3BpZC9mZGluZm8KPgo+ IFNpZ25lZC1vZmYtYnk6IERhdmlkIE0gTmlldG8gPERhdmlkLk5pZXRvQGFtZC5jb20+Cj4gU2ln bmVkLW9mZi1ieTogUm95IFN1biA8Um95LlN1bkBhbWQuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvTWFrZWZpbGUgICAgICAgIHwgIDIgKwo+ICAgZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICAgIHwgIDEgKwo+ICAgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jICAgIHwgNjEgKysrKysrKysrKysrKysKPiAgIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHguaCAgICB8ICA1ICstCj4gICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgICAgfCAgNSArLQo+ICAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZkaW5mby5jIHwgOTggKysrKysrKysrKysrKysrKysr KysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZkaW5mby5oIHwgNDMg KysrKysrKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5j IHwgMjAgKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3Qu aCB8ICAyICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jICAgICB8 IDQ1ICsrKysrKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5o ICAgICB8ICAyICsKPiAgIDExIGZpbGVzIGNoYW5nZWQsIDI4MiBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9mZGluZm8uYwo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9mZGluZm8uaAo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvTWFr ZWZpbGUKPiBpbmRleCBlZTg1ZThhYmE2MzYuLmQyMTZiN2VjYjVkMSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L01ha2VmaWxlCj4gQEAgLTU4LDYgKzU4LDggQEAgYW1kZ3B1LXkgKz0gYW1k Z3B1X2RldmljZS5vIGFtZGdwdV9rbXMubyBcCj4gICAJYW1kZ3B1X3VtYy5vIHNtdV92MTFfMF9p MmMubyBhbWRncHVfZnJ1X2VlcHJvbS5vIGFtZGdwdV9yYXAubyBcCj4gICAJYW1kZ3B1X2Z3X2F0 dGVzdGF0aW9uLm8gYW1kZ3B1X3NlY3VyZWRpc3BsYXkubwo+ICAgCj4gK2FtZGdwdS0kKENPTkZJ R19QUk9DX0ZTKSArPSBhbWRncHVfZmRpbmZvLm8KPiArCj4gICBhbWRncHUtJChDT05GSUdfUEVS Rl9FVkVOVFMpICs9IGFtZGdwdV9wbXUubwo+ICAgCj4gICAjIGFkZCBhc2ljIHNwZWNpZmljIGJs b2NrCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPiBpbmRleCAxMjViMjVhNWNlNWIu LjMzNjVmZWFlMTVlMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4gQEAg LTEwNyw2ICsxMDcsNyBAQAo+ICAgI2luY2x1ZGUgImFtZGdwdV9nZnhodWIuaCIKPiAgICNpbmNs dWRlICJhbWRncHVfZGYuaCIKPiAgICNpbmNsdWRlICJhbWRncHVfc211aW8uaCIKPiArI2luY2x1 ZGUgImFtZGdwdV9mZGluZm8uaCIKPiAgIAo+ICAgI2RlZmluZSBNQVhfR1BVX0lOU1RBTkNFCQkx Ngo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9j dHguYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHguYwo+IGluZGV4IDAz NTAyMDVjNDg5Ny4uMDFmZTYwZmVkY2JlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jdHguYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9jdHguYwo+IEBAIC02NTEsMyArNjUxLDY0IEBAIHZvaWQgYW1kZ3B1X2N0eF9tZ3Jf ZmluaShzdHJ1Y3QgYW1kZ3B1X2N0eF9tZ3IgKm1ncikKPiAgIAlpZHJfZGVzdHJveSgmbWdyLT5j dHhfaGFuZGxlcyk7Cj4gICAJbXV0ZXhfZGVzdHJveSgmbWdyLT5sb2NrKTsKPiAgIH0KPiArCj4g K3ZvaWQgYW1kZ3B1X2N0eF9mZW5jZV90aW1lKHN0cnVjdCBhbWRncHVfY3R4ICpjdHgsIHN0cnVj dCBhbWRncHVfY3R4X2VudGl0eSAqY2VudGl0eSwKPiArCQlrdGltZV90ICp0b3RhbCwga3RpbWVf dCAqbWF4KQo+ICt7Cj4gKwlrdGltZV90IG5vdywgdDE7Cj4gKwl1aW50MzJfdCBpOwo+ICsKPiAr CW5vdyA9IGt0aW1lX2dldCgpOwo+ICsJZm9yIChpID0gMDsgaSA8IGFtZGdwdV9zY2hlZF9qb2Jz OyBpKyspIHsKPiArCQlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKPiArCQlzdHJ1Y3QgZHJtX3Nj aGVkX2ZlbmNlICpzX2ZlbmNlOwo+ICsKPiArCQlzcGluX2xvY2soJmN0eC0+cmluZ19sb2NrKTsK PiArCQlmZW5jZSA9IGRtYV9mZW5jZV9nZXQoY2VudGl0eS0+ZmVuY2VzW2ldKTsKPiArCQlzcGlu X3VubG9jaygmY3R4LT5yaW5nX2xvY2spOwo+ICsJCWlmICghZmVuY2UpCj4gKwkJCWNvbnRpbnVl Owo+ICsJCXNfZmVuY2UgPSB0b19kcm1fc2NoZWRfZmVuY2UoZmVuY2UpOwo+ICsJCWlmICghZG1h X2ZlbmNlX2lzX3NpZ25hbGVkKCZzX2ZlbmNlLT5zY2hlZHVsZWQpKQo+ICsJCQljb250aW51ZTsK PiArCQl0MSA9IHNfZmVuY2UtPnNjaGVkdWxlZC50aW1lc3RhbXA7Cj4gKwkJaWYgKHQxID49IG5v dykKPiArCQkJY29udGludWU7Cj4gKwkJaWYgKGRtYV9mZW5jZV9pc19zaWduYWxlZCgmc19mZW5j ZS0+ZmluaXNoZWQpICYmCj4gKwkJCXNfZmVuY2UtPmZpbmlzaGVkLnRpbWVzdGFtcCA8IG5vdykK PiArCQkJKnRvdGFsICs9IGt0aW1lX3N1YihzX2ZlbmNlLT5maW5pc2hlZC50aW1lc3RhbXAsIHQx KTsKPiArCQllbHNlCj4gKwkJCSp0b3RhbCArPSBrdGltZV9zdWIobm93LCB0MSk7Cj4gKwkJdDEg PSBrdGltZV9zdWIobm93LCB0MSk7Cj4gKwkJZG1hX2ZlbmNlX3B1dChmZW5jZSk7Cj4gKwkJKm1h eCA9IG1heCh0MSwgKm1heCk7Cj4gKwl9Cj4gK30KPiArCj4gK2t0aW1lX3QgYW1kZ3B1X2N0eF9t Z3JfZmVuY2VfdXNhZ2Uoc3RydWN0IGFtZGdwdV9jdHhfbWdyICptZ3IsIHVpbnQzMl90IGh3aXAs Cj4gKwkJdWludDMyX3QgaWR4LCB1aW50NjRfdCAqZWxhcHNlZCkKPiArewo+ICsJc3RydWN0IGlk ciAqaWRwOwo+ICsJc3RydWN0IGFtZGdwdV9jdHggKmN0eDsKPiArCXVpbnQzMl90IGlkOwo+ICsJ c3RydWN0IGFtZGdwdV9jdHhfZW50aXR5ICpjZW50aXR5Owo+ICsJa3RpbWVfdCB0b3RhbCA9IDAs IG1heCA9IDA7Cj4gKwo+ICsJaWYgKGlkeCA+PSBBTURHUFVfTUFYX0VOVElUWV9OVU0pCj4gKwkJ cmV0dXJuIDA7Cj4gKwlpZHAgPSAmbWdyLT5jdHhfaGFuZGxlczsKPiArCW11dGV4X2xvY2soJm1n ci0+bG9jayk7Cj4gKwlpZHJfZm9yX2VhY2hfZW50cnkoaWRwLCBjdHgsIGlkKSB7Cj4gKwkJaWYg KCFjdHgtPmVudGl0aWVzW2h3aXBdW2lkeF0pCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQljZW50 aXR5ID0gY3R4LT5lbnRpdGllc1tod2lwXVtpZHhdOwo+ICsJCWFtZGdwdV9jdHhfZmVuY2VfdGlt ZShjdHgsIGNlbnRpdHksICZ0b3RhbCwgJm1heCk7Cj4gKwl9Cj4gKwo+ICsJbXV0ZXhfdW5sb2Nr KCZtZ3ItPmxvY2spOwo+ICsJaWYgKGVsYXBzZWQpCj4gKwkJKmVsYXBzZWQgPSBtYXg7Cj4gKwo+ ICsJcmV0dXJuIHRvdGFsOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9jdHguaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9j dHguaAo+IGluZGV4IGY1NGUxMDMxNDY2MS4uMTBkY2Y1OWE1YzZiIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHguaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jdHguaAo+IEBAIC04Nyw1ICs4Nyw4IEBAIHZvaWQgYW1k Z3B1X2N0eF9tZ3JfaW5pdChzdHJ1Y3QgYW1kZ3B1X2N0eF9tZ3IgKm1ncik7Cj4gICB2b2lkIGFt ZGdwdV9jdHhfbWdyX2VudGl0eV9maW5pKHN0cnVjdCBhbWRncHVfY3R4X21nciAqbWdyKTsKPiAg IGxvbmcgYW1kZ3B1X2N0eF9tZ3JfZW50aXR5X2ZsdXNoKHN0cnVjdCBhbWRncHVfY3R4X21nciAq bWdyLCBsb25nIHRpbWVvdXQpOwo+ICAgdm9pZCBhbWRncHVfY3R4X21ncl9maW5pKHN0cnVjdCBh bWRncHVfY3R4X21nciAqbWdyKTsKPiAtCj4gK2t0aW1lX3QgYW1kZ3B1X2N0eF9tZ3JfZmVuY2Vf dXNhZ2Uoc3RydWN0IGFtZGdwdV9jdHhfbWdyICptZ3IsIHVpbnQzMl90IGh3aXAsCj4gKwkJdWlu dDMyX3QgaWR4LCB1aW50NjRfdCAqZWxhcHNlZCk7Cj4gK3ZvaWQgYW1kZ3B1X2N0eF9mZW5jZV90 aW1lKHN0cnVjdCBhbWRncHVfY3R4ICpjdHgsIHN0cnVjdCBhbWRncHVfY3R4X2VudGl0eSAqY2Vu dGl0eSwKPiArCQlrdGltZV90ICp0b3RhbCwga3RpbWVfdCAqbWF4KTsKPiAgICNlbmRpZgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKPiBpbmRleCAwMzY5ZDM1MzJiZjAu LjAxNjAzMzc4ZGJjOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2 LmMKPiBAQCAtNDIsNyArNDIsNyBAQAo+ICAgI2luY2x1ZGUgImFtZGdwdV9pcnEuaCIKPiAgICNp bmNsdWRlICJhbWRncHVfZG1hX2J1Zi5oIgo+ICAgI2luY2x1ZGUgImFtZGdwdV9zY2hlZC5oIgo+ IC0KPiArI2luY2x1ZGUgImFtZGdwdV9mZGluZm8uaCIKPiAgICNpbmNsdWRlICJhbWRncHVfYW1k a2ZkLmgiCj4gICAKPiAgICNpbmNsdWRlICJhbWRncHVfcmFzLmgiCj4gQEAgLTE2OTIsNiArMTY5 Miw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGFtZGdwdV9kcml2ZXJf a21zX2ZvcHMgPSB7Cj4gICAjaWZkZWYgQ09ORklHX0NPTVBBVAo+ICAgCS5jb21wYXRfaW9jdGwg PSBhbWRncHVfa21zX2NvbXBhdF9pb2N0bCwKPiAgICNlbmRpZgo+ICsjaWZkZWYgQ09ORklHX1BS T0NfRlMKPiArCS5zaG93X2ZkaW5mbyA9IGFtZGdwdV9zaG93X2ZkaW5mbwo+ICsjZW5kaWYKPiAg IH07Cj4gICAKPiAgIGludCBhbWRncHVfZmlsZV90b19mcHJpdihzdHJ1Y3QgZmlsZSAqZmlscCwg c3RydWN0IGFtZGdwdV9mcHJpdiAqKmZwcml2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZmRpbmZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZmRpbmZvLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAw MDAwMC4uYzdkNzY4OGJjNDJlCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9mZGluZm8uYwo+IEBAIC0wLDAgKzEsOTggQEAKPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAo+ICsvKiBDb3B5cmlnaHQgMjAyMSBBZHZhbmNlZCBN aWNybyBEZXZpY2VzLCBJbmMuCj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50 ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkg b2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUg IlNvZnR3YXJlIiksCj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJp Y3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1 c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us Cj4gKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQg cGVyc29ucyB0byB3aG9tIHRoZQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28s IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp bmNsdWRlZCBpbgo+ICsgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo ZSBTb2Z0d2FyZS4KPiArICoKPiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIs IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiArICogSU1QTElFRCwg SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC SUxJVFksCj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS SU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+ICsgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihT KSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKPiArICog T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBP UiBPVEhFUldJU0UsCj4gKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgo+ICsgKiBPVEhFUiBERUFMSU5HUyBJTiBU SEUgU09GVFdBUkUuCj4gKyAqCj4gKyAqIEF1dGhvcnM6IERhdmlkIE5pZXRvCj4gKyAqICAgICAg ICAgIFJveSBTdW4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgo+ICsj aW5jbHVkZSA8bGludXgvbGlzdC5oPgo+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KPiAr I2luY2x1ZGUgPGxpbnV4L3N5c2NhbGxzLmg+Cj4gKwo+ICsjaW5jbHVkZSA8ZHJtL2FtZGdwdV9k cm0uaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fZGVidWdmcy5oPgo+ICsKPiArI2luY2x1ZGUgImFt ZGdwdS5oIgo+ICsjaW5jbHVkZSAiYW1kZ3B1X3ZtLmgiCj4gKyNpbmNsdWRlICJhbWRncHVfZ2Vt LmgiCj4gKyNpbmNsdWRlICJhbWRncHVfY3R4LmgiCj4gKyNpbmNsdWRlICJhbWRncHVfZmRpbmZv LmgiCj4gKwo+ICsKPiArc3RhdGljIGNvbnN0IGNoYXIgKmFtZGdwdV9pcF9uYW1lW0FNREdQVV9I V19JUF9OVU1dID0gewo+ICsJW0FNREdQVV9IV19JUF9HRlhdCT0JImdmeCIsCj4gKwlbQU1ER1BV X0hXX0lQX0NPTVBVVEVdCT0JImNvbXB1dGUiLAo+ICsJW0FNREdQVV9IV19JUF9ETUFdCT0JImRt YSIsCj4gKwlbQU1ER1BVX0hXX0lQX1VWRF0JPQkiZGVjIiwKPiArCVtBTURHUFVfSFdfSVBfVkNF XQk9CSJlbmMiLAo+ICsJW0FNREdQVV9IV19JUF9VVkRfRU5DXQk9CSJlbmNfMSIsCj4gKwlbQU1E R1BVX0hXX0lQX1ZDTl9ERUNdCT0JImRlYyIsCj4gKwlbQU1ER1BVX0hXX0lQX1ZDTl9FTkNdCT0J ImVuYyIsCj4gKwlbQU1ER1BVX0hXX0lQX1ZDTl9KUEVHXQk9CSJqcGVnIiwKPiArfTsKPiArCj4g K3ZvaWQgYW1kZ3B1X3Nob3dfZmRpbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGZpbGUg KmYpCj4gK3sKPiArCXN0cnVjdCBhbWRncHVfZnByaXYgKmZwcml2Owo+ICsJdWludDMyX3QgYnVz LCBkZXYsIGZuLCBpLCBkb21haW47Cj4gKwl1aW50NjRfdCB2cmFtX21lbSA9IDAsIGd0dF9tZW0g PSAwLCBjcHVfbWVtID0gMDsKPiArCXN0cnVjdCBkcm1fZmlsZSAqZmlsZSA9IGYtPnByaXZhdGVf ZGF0YTsKPiArCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZHJtX3RvX2FkZXYoZmlsZS0+ bWlub3ItPmRldik7Cj4gKwo+ICsJaWYgKGFtZGdwdV9maWxlX3RvX2Zwcml2KGYsICZmcHJpdikp Cj4gKwkJcmV0dXJuOwoKQlRXOiBTb21ldGhpbmcgbGlrZSB0aGlzIHdvdWxkIGJlIGJldHRlciBj b2Rpbmcgc3R5bGU6CgpyID0gYW1kZ3B1X2ZpbGVfLi4uCmlmIChyKQogwqDCoMKgIHJldHVybjsK Cj4gKwlidXMgPSBhZGV2LT5wZGV2LT5idXMtPm51bWJlcjsKPiArCWRvbWFpbiA9IHBjaV9kb21h aW5fbnIoYWRldi0+cGRldi0+YnVzKTsKPiArCWRldiA9IFBDSV9TTE9UKGFkZXYtPnBkZXYtPmRl dmZuKTsKPiArCWZuID0gUENJX0ZVTkMoYWRldi0+cGRldi0+ZGV2Zm4pOwo+ICsKPiArCWFtZGdw dV9ib19yZXNlcnZlKGZwcml2LT52bS5yb290LmJhc2UuYm8sIGZhbHNlKTsKCllvdSBuZWVkIHRv IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgaGVyZSBhbmQgYWJvcnQgaW4gY2FzZSBvZiBhbiBlcnJv ci4KCkNocmlzdGlhbi4KCj4gKwlhbWRncHVfdm1fZ2V0X21lbW9yeSgmZnByaXYtPnZtLCAmdnJh bV9tZW0sICZndHRfbWVtLCAmY3B1X21lbSk7Cj4gKwlhbWRncHVfYm9fdW5yZXNlcnZlKGZwcml2 LT52bS5yb290LmJhc2UuYm8pOwo+ICsJc2VxX3ByaW50ZihtLCAicGRldjpcdCUwNHg6JTAyeDol MDJ4LiVkXG5wYXNpZDpcdCV1XG4iLCBkb21haW4sIGJ1cywKPiArCQkJZGV2LCBmbiwgZnByaXYt PnZtLnBhc2lkKTsKPiArCXNlcV9wcmludGYobSwgInZyYW0gbWVtOlx0JWxsdSBrQlxuIiwgdnJh bV9tZW0vMTAyNFVMKTsKPiArCXNlcV9wcmludGYobSwgImd0dCBtZW06XHQlbGx1IGtCXG4iLCBn dHRfbWVtLzEwMjRVTCk7Cj4gKwlzZXFfcHJpbnRmKG0sICJjcHUgbWVtOlx0JWxsdSBrQlxuIiwg Y3B1X21lbS8xMDI0VUwpOwo+ICsJZm9yIChpID0gMDsgaSA8IEFNREdQVV9IV19JUF9OVU07IGkr Kykgewo+ICsJCXVpbnQzMl90IGNvdW50ID0gYW1kZ3B1X2N0eF9udW1fZW50aXRpZXNbaV07Cj4g KwkJaW50IGlkeCA9IDA7Cj4gKwkJdWludDY0X3QgdG90YWwgPSAwLCBtaW4gPSAwOwo+ICsJCXVp bnQzMl90IHBlcmMsIGZyYWM7Cj4gKwo+ICsJCWZvciAoaWR4ID0gMDsgaWR4IDwgY291bnQ7IGlk eCsrKSB7Cj4gKwkJCXRvdGFsID0gYW1kZ3B1X2N0eF9tZ3JfZmVuY2VfdXNhZ2UoJmZwcml2LT5j dHhfbWdyLAo+ICsJCQkJaSwgaWR4LCAmbWluKTsKPiArCQkJaWYgKCh0b3RhbCA9PSAwKSB8fCAo bWluID09IDApKQo+ICsJCQkJY29udGludWU7Cj4gKwo+ICsJCQlwZXJjID0gZGl2NjRfdTY0KDEw MDAwICogdG90YWwsIG1pbik7Cj4gKwkJCWZyYWMgPSBwZXJjICUgMTAwOwo+ICsKPiArCQkJc2Vx X3ByaW50ZihtLCAiJXMlZDpcdCVkLiVkJSVcbiIsCj4gKwkJCQkJYW1kZ3B1X2lwX25hbWVbaV0s Cj4gKwkJCQkJaWR4LCBwZXJjLzEwMCwgZnJhYyk7Cj4gKwkJfQo+ICsJfQo+ICt9Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZGluZm8uaCBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZGluZm8uaAo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi40MWE0YzcwNTY3MjkKPiAtLS0gL2Rldi9udWxsCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZkaW5mby5oCj4gQEAgLTAs MCArMSw0MyBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCj4gKyAqIENvcHly aWdodCAyMDIxIEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KPiArICoKPiArICogUGVybWlz c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0 YWluaW5nIGEKPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3Vt ZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPiArICogdG8gZGVhbCBpbiB0aGUgU29m dHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+ ICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlz dHJpYnV0ZSwgc3VibGljZW5zZSwKPiArICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0 d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4gKyAqIFNvZnR3YXJlIGlz IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6 Cj4gKyAqCj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCj4gKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3Rh bnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUg SVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVT UyBPUgo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRI RSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJ TSwgREFNQUdFUyBPUgo+ICsgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O IE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKPiArICogQVJJU0lORyBGUk9NLCBPVVQg T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCj4gKyAq IE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiArICoKPiArICogQXV0aG9yczogRGF2 aWQgTmlldG8KPiArICogICAgICAgICAgUm95IFN1bgo+ICsgKi8KPiArI2lmbmRlZiBfX0FNREdQ VV9TTUlfSF9fCj4gKyNkZWZpbmUgX19BTURHUFVfU01JX0hfXwo+ICsKPiArI2luY2x1ZGUgPGxp bnV4L2lkci5oPgo+ICsjaW5jbHVkZSA8bGludXgva2ZpZm8uaD4KPiArI2luY2x1ZGUgPGxpbnV4 L3JidHJlZS5oPgo+ICsjaW5jbHVkZSA8ZHJtL2dwdV9zY2hlZHVsZXIuaD4KPiArI2luY2x1ZGUg PGRybS9kcm1fZmlsZS5oPgo+ICsjaW5jbHVkZSA8ZHJtL3R0bS90dG1fYm9fZHJpdmVyLmg+Cj4g KyNpbmNsdWRlIDxsaW51eC9zY2hlZC9tbS5oPgo+ICsKPiArI2luY2x1ZGUgImFtZGdwdV9zeW5j LmgiCj4gKyNpbmNsdWRlICJhbWRncHVfcmluZy5oIgo+ICsjaW5jbHVkZSAiYW1kZ3B1X2lkcy5o Igo+ICsKPiArdWludDMyX3QgYW1kZ3B1X2dldF9pcF9jb3VudChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgaW50IGlkKTsKPiArdm9pZCBhbWRncHVfc2hvd19mZGluZm8oc3RydWN0IHNlcV9m aWxlICptLCBzdHJ1Y3QgZmlsZSAqZik7Cj4gKwo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCj4gaW5kZXggMTM0NWY3ZWJhMDExLi5kZTcyODYz MmI1ZGYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29i amVjdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5j Cj4gQEAgLTEzMDQsNiArMTMwNCwyNiBAQCB2b2lkIGFtZGdwdV9ib19tb3ZlX25vdGlmeShzdHJ1 Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICAgCXRyYWNlX2FtZGdwdV9ib19tb3ZlKGFibywg bmV3X21lbS0+bWVtX3R5cGUsIG9sZF9tZW0tPm1lbV90eXBlKTsKPiAgIH0KPiAgIAo+ICt2b2lk IGFtZGdwdV9ib19nZXRfbWVtb3J5KHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1aW50NjRfdCAqdnJh bV9tZW0sCj4gKwkJCQl1aW50NjRfdCAqZ3R0X21lbSwgdWludDY0X3QgKmNwdV9tZW0pCj4gK3sK PiArCXVuc2lnbmVkIGludCBkb21haW47Cj4gKwo+ICsJZG9tYWluID0gYW1kZ3B1X21lbV90eXBl X3RvX2RvbWFpbihiby0+dGJvLm1lbS5tZW1fdHlwZSk7Cj4gKwlzd2l0Y2ggKGRvbWFpbikgewo+ ICsJY2FzZSBBTURHUFVfR0VNX0RPTUFJTl9WUkFNOgo+ICsJCSp2cmFtX21lbSArPSBhbWRncHVf Ym9fc2l6ZShibyk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIEFNREdQVV9HRU1fRE9NQUlOX0dUVDoK PiArCQkqZ3R0X21lbSArPSBhbWRncHVfYm9fc2l6ZShibyk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNl IEFNREdQVV9HRU1fRE9NQUlOX0NQVToKPiArCWRlZmF1bHQ6Cj4gKwkJKmNwdV9tZW0gKz0gYW1k Z3B1X2JvX3NpemUoYm8pOwo+ICsJCWJyZWFrOwo+ICsJfQo+ICt9Cj4gKwo+ICAgLyoqCj4gICAg KiBhbWRncHVfYm9fcmVsZWFzZV9ub3RpZnkgLSBub3RpZmljYXRpb24gYWJvdXQgYSBCTyBiZWlu ZyByZWxlYXNlZAo+ICAgICogQGJvOiBwb2ludGVyIHRvIGEgYnVmZmVyIG9iamVjdAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmggYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKPiBpbmRleCA5NzNjODhiZGYz N2IuLjY1OTQwNjQ3NWMyYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfb2JqZWN0LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfb2JqZWN0LmgKPiBAQCAtMzA0LDYgKzMwNCw4IEBAIGludCBhbWRncHVfYm9fc3luY193YWl0 KHN0cnVjdCBhbWRncHVfYm8gKmJvLCB2b2lkICpvd25lciwgYm9vbCBpbnRyKTsKPiAgIHU2NCBh bWRncHVfYm9fZ3B1X29mZnNldChzdHJ1Y3QgYW1kZ3B1X2JvICpibyk7Cj4gICB1NjQgYW1kZ3B1 X2JvX2dwdV9vZmZzZXRfbm9fY2hlY2soc3RydWN0IGFtZGdwdV9ibyAqYm8pOwo+ICAgaW50IGFt ZGdwdV9ib192YWxpZGF0ZShzdHJ1Y3QgYW1kZ3B1X2JvICpibyk7Cj4gK3ZvaWQgYW1kZ3B1X2Jv X2dldF9tZW1vcnkoc3RydWN0IGFtZGdwdV9ibyAqYm8sIHVpbnQ2NF90ICp2cmFtX21lbSwKPiAr CQkJCXVpbnQ2NF90ICpndHRfbWVtLCB1aW50NjRfdCAqY3B1X21lbSk7Cj4gICBpbnQgYW1kZ3B1 X2JvX3Jlc3RvcmVfc2hhZG93KHN0cnVjdCBhbWRncHVfYm8gKnNoYWRvdywKPiAgIAkJCSAgICAg c3RydWN0IGRtYV9mZW5jZSAqKmZlbmNlKTsKPiAgIHVpbnQzMl90IGFtZGdwdV9ib19nZXRfcHJl ZmVycmVkX3Bpbl9kb21haW4oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiBpbmRleCBmOTViY2RhODQ2M2YuLjdjN2EzODdj MjI4NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCj4gQEAgLTI1 LDYgKzI1LDcgQEAKPiAgICAqICAgICAgICAgIEFsZXggRGV1Y2hlcgo+ICAgICogICAgICAgICAg SmVyb21lIEdsaXNzZQo+ICAgICovCj4gKwo+ICAgI2luY2x1ZGUgPGxpbnV4L2RtYS1mZW5jZS1h cnJheS5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L2ludGVydmFsX3RyZWVfZ2VuZXJpYy5oPgo+ICAg I2luY2x1ZGUgPGxpbnV4L2lkci5oPgo+IEBAIC0xNzE4LDYgKzE3MTksNTAgQEAgaW50IGFtZGdw dV92bV9ib191cGRhdGVfbWFwcGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAly ZXR1cm4gcjsKPiAgIH0KPiAgIAo+ICt2b2lkIGFtZGdwdV92bV9nZXRfbWVtb3J5KHN0cnVjdCBh bWRncHVfdm0gKnZtLCB1aW50NjRfdCAqdnJhbV9tZW0sCj4gKwkJCQl1aW50NjRfdCAqZ3R0X21l bSwgdWludDY0X3QgKmNwdV9tZW0pCj4gK3sKPiArCXN0cnVjdCBhbWRncHVfYm9fdmEgKmJvX3Zh LCAqdG1wOwo+ICsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShib192YSwgdG1wLCAmdm0t PmlkbGUsIGJhc2Uudm1fc3RhdHVzKSB7Cj4gKwkJaWYgKCFib192YS0+YmFzZS5ibykKPiArCQkJ Y29udGludWU7Cj4gKwkJYW1kZ3B1X2JvX2dldF9tZW1vcnkoYm9fdmEtPmJhc2UuYm8sIHZyYW1f bWVtLAo+ICsJCQkJZ3R0X21lbSwgY3B1X21lbSk7Cj4gKwl9Cj4gKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5X3NhZmUoYm9fdmEsIHRtcCwgJnZtLT5ldmljdGVkLCBiYXNlLnZtX3N0YXR1cykgewo+ICsJ CWlmICghYm9fdmEtPmJhc2UuYm8pCj4gKwkJCWNvbnRpbnVlOwo+ICsJCWFtZGdwdV9ib19nZXRf bWVtb3J5KGJvX3ZhLT5iYXNlLmJvLCB2cmFtX21lbSwKPiArCQkJCWd0dF9tZW0sIGNwdV9tZW0p Owo+ICsJfQo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGJvX3ZhLCB0bXAsICZ2bS0+cmVs b2NhdGVkLCBiYXNlLnZtX3N0YXR1cykgewo+ICsJCWlmICghYm9fdmEtPmJhc2UuYm8pCj4gKwkJ CWNvbnRpbnVlOwo+ICsJCWFtZGdwdV9ib19nZXRfbWVtb3J5KGJvX3ZhLT5iYXNlLmJvLCB2cmFt X21lbSwKPiArCQkJCWd0dF9tZW0sIGNwdV9tZW0pOwo+ICsJfQo+ICsJbGlzdF9mb3JfZWFjaF9l bnRyeV9zYWZlKGJvX3ZhLCB0bXAsICZ2bS0+bW92ZWQsIGJhc2Uudm1fc3RhdHVzKSB7Cj4gKwkJ aWYgKCFib192YS0+YmFzZS5ibykKPiArCQkJY29udGludWU7Cj4gKwkJYW1kZ3B1X2JvX2dldF9t ZW1vcnkoYm9fdmEtPmJhc2UuYm8sIHZyYW1fbWVtLAo+ICsJCQkJZ3R0X21lbSwgY3B1X21lbSk7 Cj4gKwl9Cj4gKwlzcGluX2xvY2soJnZtLT5pbnZhbGlkYXRlZF9sb2NrKTsKPiArCWxpc3RfZm9y X2VhY2hfZW50cnlfc2FmZShib192YSwgdG1wLCAmdm0tPmludmFsaWRhdGVkLCBiYXNlLnZtX3N0 YXR1cykgewo+ICsJCWlmICghYm9fdmEtPmJhc2UuYm8pCj4gKwkJCWNvbnRpbnVlOwo+ICsJCWFt ZGdwdV9ib19nZXRfbWVtb3J5KGJvX3ZhLT5iYXNlLmJvLCB2cmFtX21lbSwKPiArCQkJCWd0dF9t ZW0sIGNwdV9tZW0pOwo+ICsJfQo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGJvX3ZhLCB0 bXAsICZ2bS0+ZG9uZSwgYmFzZS52bV9zdGF0dXMpIHsKPiArCQlpZiAoIWJvX3ZhLT5iYXNlLmJv KQo+ICsJCQljb250aW51ZTsKPiArCQlhbWRncHVfYm9fZ2V0X21lbW9yeShib192YS0+YmFzZS5i bywgdnJhbV9tZW0sCj4gKwkJCQlndHRfbWVtLCBjcHVfbWVtKTsKPiArCX0KPiArCXNwaW5fdW5s b2NrKCZ2bS0+aW52YWxpZGF0ZWRfbG9jayk7Cj4gK30KPiAgIC8qKgo+ICAgICogYW1kZ3B1X3Zt X2JvX3VwZGF0ZSAtIHVwZGF0ZSBhbGwgQk8gbWFwcGluZ3MgaW4gdGhlIHZtIHBhZ2UgdGFibGUK PiAgICAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 bS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgKPiBpbmRleCA4NDhl MTc1ZTk5ZmYuLjdmNjcwZDYwMzg5NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV92bS5oCj4gQEAgLTQ1Nyw2ICs0NTcsOCBAQCB2b2lkIGFtZGdwdV92bV9zZXRfdGFza19p bmZvKHN0cnVjdCBhbWRncHVfdm0gKnZtKTsKPiAgIHZvaWQgYW1kZ3B1X3ZtX21vdmVfdG9fbHJ1 X3RhaWwoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkJc3RydWN0IGFtZGdwdV92 bSAqdm0pOwo+ICAgdm9pZCBhbWRncHVfdm1fZGVsX2Zyb21fbHJ1X25vdGlmeShzdHJ1Y3QgdHRt X2J1ZmZlcl9vYmplY3QgKmJvKTsKPiArdm9pZCBhbWRncHVfdm1fZ2V0X21lbW9yeShzdHJ1Y3Qg YW1kZ3B1X3ZtICp2bSwgdWludDY0X3QgKnZyYW1fbWVtLAo+ICsJCQkJdWludDY0X3QgKmd0dF9t ZW0sIHVpbnQ2NF90ICpjcHVfbWVtKTsKPiAgIAo+ICAgI2lmIGRlZmluZWQoQ09ORklHX0RFQlVH X0ZTKQo+ICAgdm9pZCBhbWRncHVfZGVidWdmc192bV9ib19pbmZvKHN0cnVjdCBhbWRncHVfdm0g KnZtLCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9hbWQtZ2Z4Cg==