From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v2 01/14] drm: handle HDMI 2.0 VICs in AVI info-frames Date: Thu, 13 Jul 2017 21:03:07 +0530 Message-ID: <1499960000-9232-2-git-send-email-shashank.sharma@intel.com> References: <1499960000-9232-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1499960000-9232-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Jose Abreu , Andrzej Hajda , Alex Deucher , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SERNSSAxLjRiIHN1cHBvcnQgdGhlIENFQSB2aWRlbyBtb2RlcyBhcyBwZXIgcmFuZ2Ugb2YgQ0VB LTg2MS1EIChWSUMgMS02NCkuCkZvciBhbnkgb3RoZXIgbW9kZSwgdGhlIFZJQyBmaWxlZCBpbiBB VkkgaW5mb2ZyYW1lcyBzaG91bGQgYmUgMC4KSERNSSAyLjAgc2lua3MsIHN1cHBvcnQgdmlkZW8g bW9kZXMgcmFuZ2UgYXMgcGVyIENFQS04NjEtRiBzcGVjLCB3aGljaCBpcwpleHRlbmRlZCB0byAo VklDIDEtMTA3KS4KClRoaXMgcGF0Y2ggYWRkcyBhIGJvb2wgaW5wdXQgdmFyaWFibGUsIHdoaWNo IGluZGljYXRlcyBpZiB0aGUgY29ubmVjdGVkCnNpbmsgaXMgYSBIRE1JIDIuMCBzaW5rIG9yIG5v dC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHBhc3MgYQpIRE1JIDIuMCBWSUMg dG8gYSBIRE1JIDEuNCBzaW5rLgoKVGhpcyBwYXRjaCB0b3VjaGVzIGFsbCBkcm0gZHJpdmVycywg d2hvIGFyZSBjYWxsZXJzIG9mIHRoaXMgZnVuY3Rpb24KZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSBidXQgdG8gbWFrZSBzdXJlIHRoZXJlIGlzCm5vIGNoYW5nZSBpbiBj dXJyZW50IGJlaGF2aW9yLCBpc19oZG1pMiBpcyBrZXB0IGFzIGZhbHNlLgoKSW4gY2FzZSBvZiBJ OTE1IGRyaXZlciwgdGhpcyBwYXRjaDoKLSBjaGVja3MgaWYgdGhlIGNvbm5lY3RlZCBkaXNwbGF5 IGlzIEhETUkgMi4wLgotIEhETUkgaW5mb2ZyYW1lcyBjYXJyeSBvbmUgb2YgdGhpcyB0d28gdHlw ZSBvZiBpbmZvcm1hdGlvbjoKCS0gVklDIGZvciA0SyBtb2RlcyBmb3IgSERNSSAxLjQgc2lua3MK CS0gUzNEIGluZm9ybWF0aW9uIGZvciBTM0QgbW9kZXMKICBBcyBDRUEtODYxLUYgaGFzIGFscmVh ZHkgZGVmaW5lZCBWSUNzIGZvciA0SyB2aWRlb21vZGVzLCB0aGlzCiAgcGF0Y2ggZG9lc24ndCBh bGxvdyBzZW5kaW5nIEhETUkgaW5mb2ZyYW1lcyBmb3IgSERNSSAyLjAgc2lua3MsCiAgdW50aWwg dGhlIG1vZGUgaXMgM0QuCgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+CkNjOiBKb3NlIEFicmV1IDxqb3NlLmFicmV1QHN5bm9wc3lzLmNvbT4KQ2M6IEFu ZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+CkNjOiBBbGV4IERldWNoZXIgPGFsZXhh bmRlci5kZXVjaGVyQGFtZC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGlu dGVsLmNvbT4KClBTOiBUaGlzIHBhdGNoIHRvdWNoZXMgYSBmZXcgbGluZXMgaW4gZmV3IGZpbGVz LCB3aGljaCB3ZXJlCmFscmVhZHkgYWJvdmUgODAgY2hhciwgc28gY2hlY2twYXRjaCBnaXZlcyA4 MCBjaGFyIHdhcm5pbmcgYWdhaW4uCi0gZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCi0g Z3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwoKVjI6IFJlYmFzZSwgQWRkZWQgci1iIGZyb20gQW5k cnplagpWMzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50IGZyb20gVmlsbGU6CgktIERvIG5vdCBz ZW5kIFZJQ3MgaW4gYm90aCBBVkktSUYgYW5kIEhETUktSUYKCSAgc2VuZCBvbmx5IG9uZSBvZiBp dC4KVjQ6IFJlYmFzZQpWNTogQWRkZWQgci1iIGZyb20gTmVpbC4KICAgIEFkZHJlc3NlZCByZXZp ZXcgY29tbWVudHMgZnJvbSBWaWxsZQogICAgLSBEbyBub3QgYmxvY2sgSERNSSB2ZW5kb3IgSUYs IGluc3RlYWQgY2hlY2sgZm9yIFZJQyB3aGlsZQogICAgICBoYW5kbGluZyBBVkkgaW5mb2ZyYW1l cwpWNjogUmViYXNlClY3OiBSZWJhc2UKClJldmlld2VkLWJ5OiBBbmRyemVqIEhhamRhIDxhLmhh amRhQHNhbXN1bmcuY29tPgpSZXZpZXdlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdA YmF5bGlicmUuY29tPgpTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNo YXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8w LmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYyAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyAgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMgfCAgMyArKy0KIGRyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1f ZWRpZC5jICAgICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGRy aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyAgICAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYyAgICAgICAgIHwgIDUgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nkdm8uYyAgICAgICAgIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2hkbWkuYyAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRt aV9icmlkZ2UuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3Bs YXkuYyAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMg ICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgICAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyAgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9zdW40aS9zdW40aV9oZG1pX2VuYy5jICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS90ZWdyYS9oZG1pLmMgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS90 ZWdyYS9zb3IuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0 X2hkbWkuYyAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5j ICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgICAgICAgICAg ICAgICAgIHwgIDMgKystCiAyNSBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAyNSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vf djEwXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCmluZGV4IDlm NzhjMDMuLmFmZjFmNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Rj ZV92MTBfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCkBA IC0xODY3LDcgKzE4NjcsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjEwXzBfYWZtdF9zZXRtb2RlKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlkY2VfdjEwXzBfYXVkaW9fd3JpdGVfc2FkX3Jl Z3MoZW5jb2Rlcik7CiAJZGNlX3YxMF8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29k ZXIsIG1vZGUpOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZSgmZnJhbWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJRFJN X0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBlcnIpOwogCQly ZXR1cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCmluZGV4IDRiY2YwMWQu LjJkZjY1MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFf MC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCkBAIC0xODUx LDcgKzE4NTEsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjExXzBfYWZtdF9zZXRtb2RlKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKIAlkY2VfdjExXzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5j b2Rlcik7CiAJZGNlX3YxMV8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29kZXIsIG1v ZGUpOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgm ZnJhbWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJRFJNX0VSUk9S KCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBlcnIpOwogCQlyZXR1cm47 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYwppbmRleCBmZDEzNGE0Li4wYzM4OTFm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92Nl8wLmMKQEAgLTE1OTcsNyArMTU5Nyw3 IEBAIHN0YXRpYyB2b2lkIGRjZV92Nl8wX2F1ZGlvX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKIAlzc2l6ZV90IGVycjsKIAl1MzIgdG1wOwogCi0JZXJyID0g ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwor CWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBt b2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0 dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBlcnIpOwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZGNlX3Y4XzAuYwppbmRleCBhOWU4Njk1Li5jMTY0YmVmIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKQEAgLTE3NTAsNyArMTc1MCw3IEBAIHN0YXRpYyB2b2lk IGRjZV92OF8wX2FmbXRfc2V0bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJZGNl X3Y4XzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5jb2Rlcik7CiAJZGNlX3Y4XzBfYXVkaW9fd3Jp dGVfbGF0ZW5jeV9maWVsZHMoZW5jb2RlciwgbW9kZSk7CiAKLQllcnIgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7CisJZXJyID0gZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsK IAlpZiAoZXJyIDwgMCkgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2Zy YW1lOiAlemRcbiIsIGVycik7CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFs b2dpeC1hbng3OHh4LmMKaW5kZXggYzJmYWMzOS4uZGMwNDVlMCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKQEAgLTEwOTcsNyArMTA5Nyw4IEBAIHN0YXRpYyB2 b2lkIGFueDc4eHhfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCiAK IAltdXRleF9sb2NrKCZhbng3OHh4LT5sb2NrKTsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBhZGp1c3RlZF9tb2RlKTsKKwllcnIgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqdXN0ZWRf bW9kZSwKKwkJCQkJCSAgICAgICBmYWxzZSk7CiAJaWYgKGVycikgewogCQlEUk1fRVJST1IoIkZh aWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsKIAkJZ290byB1bmxvY2s7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCmluZGV4IGI4ZDEwZTUuLjllZmI3YjggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc2lpOTAyeC5jCkBAIC0yNjksNyArMjY5LDcgQEAgc3RhdGljIHZvaWQgc2lpOTAy eF9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKIAlpZiAocmV0KQog CQlyZXR1cm47CiAKLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCZmcmFtZSwgYWRqKTsKKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZmcmFtZSwgYWRqLCBmYWxzZSk7CiAJaWYgKHJldCA8IDApIHsKIAkJRFJNX0VS Uk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwogCQlyZXR1cm47CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCmluZGV4IGRlMTMwOGIuLjYwZmFmMmQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCkBAIC0xMzE3LDcg KzEzMTcsNyBAQCBzdGF0aWMgdm9pZCBoZG1pX2NvbmZpZ19BVkkoc3RydWN0IGR3X2hkbWkgKmhk bWksIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogCXU4IHZhbDsKIAogCS8qIEluaXRp YWxpc2UgaW5mbyBmcmFtZSBmcm9tIERSTSBtb2RlICovCi0JZHJtX2hkbWlfYXZpX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOworCWRybV9oZG1pX2F2aV9pbmZvZnJh bWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAKIAlpZiAoaGRtaV9i dXNfZm10X2lzX3l1djQ0NChoZG1pLT5oZG1pX2RhdGEuZW5jX291dF9idXNfZm9ybWF0KSkKIAkJ ZnJhbWUuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCmlu ZGV4IDJlNTU1OTkuLjA2NjdiMDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRp ZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCkBAIC00MzM0LDEyICs0MzM0LDE0 IEBAIEVYUE9SVF9TWU1CT0woZHJtX3NldF9wcmVmZXJyZWRfbW9kZSk7CiAgKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhIGZyb20gYSBEUk0gZGlzcGxh eSBtb2RlCiAgKiBAZnJhbWU6IEhETUkgQVZJIGluZm9mcmFtZQogICogQG1vZGU6IERSTSBkaXNw bGF5IG1vZGUKKyAqIEBpc19oZG1pMl9zaW5rOiBTaW5rIGlzIEhETUkgMi4wIGNvbXBsaWFudAog ICoKICAqIFJldHVybjogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBm YWlsdXJlLgogICovCiBpbnQKIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCi0JCQkJCSBjb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKKwkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLAorCQkJCQkgYm9vbCBpc19oZG1pMl9zaW5rKQogewogCWludCBlcnI7CiAKQEAg LTQzNTUsNiArNDM1NywyOCBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAogCiAJZnJhbWUtPnZpZGVvX2Nv ZGUgPSBkcm1fbWF0Y2hfY2VhX21vZGUobW9kZSk7CiAKKwkvKgorCSAqIEhETUkgMS40IFZJQyBy YW5nZTogMSA8PSBWSUMgPD0gNjQgKENFQS04NjEtRCkgYnV0CisJICogSERNSSAyLjAgVklDIHJh bmdlOiAxIDw9IFZJQyA8PSAxMDcgKENFQS04NjEtRikuIFNvIHdlCisJICogaGF2ZSB0byBtYWtl IHN1cmUgd2UgZG9udCBicmVhayBIRE1JIDEuNCBzaW5rcy4KKwkgKi8KKwlpZiAoIWlzX2hkbWky X3NpbmsgJiYgZnJhbWUtPnZpZGVvX2NvZGUgPiA2NCkKKwkJZnJhbWUtPnZpZGVvX2NvZGUgPSAw OworCisJLyoKKwkgKiBIRE1JIHNwZWMgc2F5cyBpZiBhIG1vZGUgaXMgZm91bmQgaW4gSERNSSAx LjRiIDRLIG1vZGVzCisJICogd2Ugc2hvdWxkIHNlbmQgaXRzIFZJQyBpbiB2ZW5kb3IgaW5mb2Zy YW1lcywgZWxzZSBzZW5kIHRoZQorCSAqIFZJQyBpbiBBVkkgaW5mb2ZyYW1lcy4gTGV0cyBjaGVj ayBpZiB0aGlzIG1vZGUgaXMgcHJlc2VudCBpbgorCSAqIEhETUkgMS40YiA0SyBtb2RlcworCSAq LworCWlmIChmcmFtZS0+dmlkZW9fY29kZSkgeworCQl1OCB2ZW5kb3JfaWZfdmljID0gZHJtX21h dGNoX2hkbWlfbW9kZShtb2RlKTsKKwkJYm9vbCBpc19zM2QgPSBtb2RlLT5mbGFncyAmIERSTV9N T0RFX0ZMQUdfM0RfTUFTSzsKKworCQlpZiAoZHJtX3ZhbGlkX2hkbWlfdmljKHZlbmRvcl9pZl92 aWMpICYmICFpc19zM2QpCisJCQlmcmFtZS0+dmlkZW9fY29kZSA9IDA7CisJfQorCiAJZnJhbWUt PnBpY3R1cmVfYXNwZWN0ID0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FOwogCiAJLyoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwppbmRleCAwNmJmYmU0Li5jOTUzOTI3IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCkBAIC03ODQsNyArNzg0LDcgQEAgc3RhdGljIHZv aWQgaGRtaV9yZWdfaW5mb2ZyYW1lcyhzdHJ1Y3QgaGRtaV9jb250ZXh0ICpoZGF0YSkKIAl9CiAK IAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcm0uYXZp LAotCQkJJmhkYXRhLT5jdXJyZW50X21vZGUpOworCQkJJmhkYXRhLT5jdXJyZW50X21vZGUsIGZh bHNlKTsKIAlpZiAoIXJldCkKIAkJcmV0ID0gaGRtaV9hdmlfaW5mb2ZyYW1lX3BhY2soJmZybS5h dmksIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwogCWlmIChyZXQgPiAwKSB7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5 OHhfZHJ2LmMKaW5kZXggODZmNDdlMS4uZDFlN2FjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2kyYy90ZGE5OTh4X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9k cnYuYwpAQCAtNzEyLDcgKzcxMiw3IEBAIHRkYTk5OHhfd3JpdGVfYXZpKHN0cnVjdCB0ZGE5OTh4 X3ByaXYgKnByaXYsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogewogCXVuaW9uIGhk bWlfaW5mb2ZyYW1lIGZyYW1lOwogCi0JZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlKTsKKwlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsKIAlmcmFtZS5hdmkucXVhbnRp emF0aW9uX3JhbmdlID0gSERNSV9RVUFOVElaQVRJT05fUkFOR0VfRlVMTDsKIAogCXRkYTk5OHhf d3JpdGVfaWYocHJpdiwgRElQX0lGX0ZMQUdTX0lGMiwgUkVHX0lGMl9IQjAsICZmcmFtZSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggZWMwNzc5YS4uY2MwZDEwMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYwpAQCAtNDU5LDExICs0NTksMTQgQEAgc3RhdGljIHZvaWQgaW50 ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJ c3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVy KTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CiAJCSZj cnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciA9ICZpbnRlbF9oZG1pLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7CisJYm9vbCBp c19oZG1pMl9zaW5rID0gY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaS5zY2RjLnN1cHBvcnRl ZDsKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIAlpbnQgcmV0OwogCiAJcmV0ID0gZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLAotCQkJCQkJ ICAgICAgIGFkanVzdGVkX21vZGUpOworCQkJCQkJICAgICAgIGFkanVzdGVkX21vZGUsCisJCQkJ CQkgICAgICAgaXNfaGRtaTJfc2luayk7CiAJaWYgKHJldCA8IDApIHsKIAkJRFJNX0VSUk9SKCJj b3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zZHZvLmMKaW5kZXggZjkwMjkyMi4uZTU4YTQ3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nkdm8uYwpAQCAtOTk2LDcgKzk5Niw4IEBAIHN0YXRpYyBib29sIGludGVsX3Nkdm9fc2V0X2F2 aV9pbmZvZnJhbWUoc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sCiAJc3NpemVfdCBsZW47 CiAKIAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZS5hdmksCi0JCQkJCQkgICAgICAgJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUpOwor CQkJCQkJICAgICAgICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLAorCQkJCQkJICAg ICAgIGZhbHNlKTsKIAlpZiAocmV0IDwgMCkgewogCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwg QVZJIGluZm9mcmFtZVxuIik7CiAJCXJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19oZG1pLmMKaW5kZXggMGE0ZmZkNy4uNWMwZDAyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19oZG1pLmMKQEAgLTk3NSw3ICs5NzUsNyBAQCBzdGF0aWMgaW50IG10a19oZG1pX3NldHVwX2F2 aV9pbmZvZnJhbWUoc3RydWN0IG10a19oZG1pICpoZG1pLAogCXU4IGJ1ZmZlclsxN107CiAJc3Np emVfdCBlcnI7CiAKLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCZmcmFtZSwgbW9kZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKIAlpZiAoZXJyIDwgMCkgewogCQlkZXZf ZXJyKGhkbWktPmRldiwKIAkJCSJGYWlsZWQgdG8gZ2V0IEFWSSBpbmZvZnJhbWUgZnJvbSBtb2Rl OiAlemRcbiIsIGVycik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRt aV9icmlkZ2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jCmluZGV4 IGFlNDBlNzEuLjEzYWM4MjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9o ZG1pX2JyaWRnZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5j CkBAIC05Nyw3ICs5Nyw3IEBAIHN0YXRpYyB2b2lkIG1zbV9oZG1pX2NvbmZpZ19hdmlfaW5mb2Zy YW1lKHN0cnVjdCBoZG1pICpoZG1pKQogCXUzMiB2YWw7CiAJaW50IGxlbjsKIAotCWRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7CisJZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlLCBm YWxzZSk7CiAKIAlsZW4gPSBoZG1pX2luZm9mcmFtZV9wYWNrKCZmcmFtZSwgYnVmZmVyLCBzaXpl b2YoYnVmZmVyKSk7CiAJaWYgKGxlbiA8IDApIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L252NTBfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9k aXNwbGF5LmMKaW5kZXggNDJhODVjMS4uNWY3MWUzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv bnY1MF9kaXNwbGF5LmMKQEAgLTI3NjIsNyArMjc2Miw4IEBAIG52NTBfaGRtaV9lbmFibGUoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkK IAlpZiAoIWRybV9kZXRlY3RfaGRtaV9tb25pdG9yKG52X2Nvbm5lY3Rvci0+ZWRpZCkpCiAJCXJl dHVybjsKIAotCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo JmF2aV9mcmFtZS5hdmksIG1vZGUpOworCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmF2aV9mcmFtZS5hdmksIG1vZGUsCisJCQkJCQkgICAgICAgZmFsc2Up OwogCWlmICghcmV0KSB7CiAJCS8qIFdlIGhhdmUgYW4gQVZJIEluZm9GcmFtZSwgcG9wdWxhdGUg aXQgdG8gdGhlIGRpc3BsYXkgKi8KIAkJYXJncy5wd3IuYXZpX2luZm9mcmFtZV9sZW5ndGgKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jIGIvZHJpdmVy cy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKaW5kZXggODZjOTc3Yi4uNjI0ZjViNSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKQEAgLTg1LDcgKzg1LDggQEAg c3RhdGljIHZvaWQgb21hcF9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKIAlpZiAoaGRtaV9tb2RlICYmIGRzc2Rldi0+ZHJpdmVyLT5zZXRfaGRtaV9pbmZvZnJh bWUpIHsKIAkJc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSBhdmk7CiAKLQkJciA9IGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmF2aSwgYWRqdXN0ZWRfbW9kZSk7CisJ CXIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZhdmksIGFkanVz dGVkX21vZGUsCisJCQkJCQkJICAgICBmYWxzZSk7CiAJCWlmIChyID09IDApCiAJCQlkc3NkZXYt PmRyaXZlci0+c2V0X2hkbWlfaW5mb2ZyYW1lKGRzc2RldiwgJmF2aSk7CiAJfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKaW5kZXggYWFhY2FjMS4uNzcwZTMxZiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCkBAIC01MTYsNyArNTE2LDcgQEAgc3RhdGljIGlu dCByYWRlb25fYXVkaW9fc2V0X2F2aV9wYWNrZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LAogCWlmICghY29ubmVjdG9yKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWVyciA9IGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFs c2UpOwogCWlmIChlcnIgPCAwKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBp bmZvZnJhbWU6ICVkXG4iLCBlcnIpOwogCQlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L2lubm9faGRtaS5jCmluZGV4IDdkOWI3NWUuLjcxNDk5NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvaW5ub19oZG1pLmMKQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgaW50IGlubm9faGRtaV9j b25maWdfdmlkZW9fYXZpKHN0cnVjdCBpbm5vX2hkbWkgKmhkbWksCiAJdW5pb24gaGRtaV9pbmZv ZnJhbWUgZnJhbWU7CiAJaW50IHJjOwogCi0JcmMgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOworCXJjID0gZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlLCBmYWxzZSk7CiAKIAlp ZiAoaGRtaS0+aGRtaV9kYXRhLmVuY19vdXRfZm9ybWF0ID09IEhETUlfQ09MT1JTUEFDRV9ZVVY0 NDQpCiAJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQ0NDsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9zdGkvc3RpX2hkbWkuYwppbmRleCBhNTljOTVhLi5kYmM2YTE5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlf aGRtaS5jCkBAIC00MzQsNyArNDM0LDcgQEAgc3RhdGljIGludCBoZG1pX2F2aV9pbmZvZnJhbWVf Y29uZmlnKHN0cnVjdCBzdGlfaGRtaSAqaGRtaSkKIAogCURSTV9ERUJVR19EUklWRVIoIlxuIik7 CiAKLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZpbmZv ZnJhbWUsIG1vZGUpOworCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoJmluZm9mcmFtZSwgbW9kZSwgZmFsc2UpOwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9F UlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCByZXQpOwogCQlyZXR1 cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2hkbWlfZW5j LmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfaGRtaV9lbmMuYwppbmRleCBkMzM5OGY2 Mi4uODNiN2EyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2hkbWlf ZW5jLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2hkbWlfZW5jLmMKQEAgLTUy LDcgKzUyLDcgQEAgc3RhdGljIGludCBzdW40aV9oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWVzKHN0 cnVjdCBzdW40aV9oZG1pICpoZG1pLAogCXU4IGJ1ZmZlclsxN107CiAJaW50IGksIHJldDsKIAot CXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBt b2RlKTsKKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZm cmFtZSwgbW9kZSwgZmFsc2UpOwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiRmFpbGVk IHRvIGdldCBpbmZvZnJhbWVzIGZyb20gbW9kZVxuIik7CiAJCXJldHVybiByZXQ7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L2hkbWkuYwppbmRleCBjZGEwNDkxLi43MThkOGRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vdGVncmEvaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMKQEAgLTcz NCw3ICs3MzQsNyBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUo c3RydWN0IHRlZ3JhX2hkbWkgKmhkbWksCiAJdTggYnVmZmVyWzE3XTsKIAlzc2l6ZV90IGVycjsK IAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LCBtb2RlKTsKKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2Rl KCZmcmFtZSwgbW9kZSwgZmFsc2UpOwogCWlmIChlcnIgPCAwKSB7CiAJCWRldl9lcnIoaGRtaS0+ ZGV2LCAiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKIAkJcmV0 dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jIGIvZHJpdmVycy9n cHUvZHJtL3RlZ3JhL3Nvci5jCmluZGV4IGE4ZjUyODkuLmZiMjcwOWMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29y LmMKQEAgLTE5MDQsNyArMTkwNCw3IEBAIHRlZ3JhX3Nvcl9oZG1pX3NldHVwX2F2aV9pbmZvZnJh bWUoc3RydWN0IHRlZ3JhX3NvciAqc29yLAogCXZhbHVlICY9IH5JTkZPRlJBTUVfQ1RSTF9FTkFC TEU7CiAJdGVncmFfc29yX3dyaXRlbChzb3IsIHZhbHVlLCBTT1JfSERNSV9BVklfSU5GT0ZSQU1F X0NUUkwpOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9k ZSgmZnJhbWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJZGV2X2Vy cihzb3ItPmRldiwgImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsK IAkJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWku YyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwppbmRleCBlZDYzZDRlLi40MDZkNmQ4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCkBAIC0zOTUsNyArMzk1LDcgQEAgc3RhdGljIHZvaWQg dmM0X2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQog CXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwogCWludCByZXQ7CiAKLQlyZXQgPSBkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOworCXJl dCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwg bW9kZSwgZmFsc2UpOwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiY291bGRuJ3QgZmls bCBBVkkgaW5mb2ZyYW1lXG4iKTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3p0ZS96eF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwppbmRleCAw ZGY3MzY2Li43ZTgzNGUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWku YworKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwpAQCAtMTI0LDcgKzEyNCw3IEBA IHN0YXRpYyBpbnQgenhfaGRtaV9jb25maWdfdmlkZW9fYXZpKHN0cnVjdCB6eF9oZG1pICpoZG1p LAogCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwogCWludCByZXQ7CiAKLQlyZXQgPSBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOwor CXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2 aSwgbW9kZSwgZmFsc2UpOwogCWlmIChyZXQpIHsKIAkJRFJNX0RFVl9FUlJPUihoZG1pLT5kZXYs ICJmYWlsZWQgdG8gZ2V0IGF2aSBpbmZvZnJhbWU6ICVkXG4iLAogCQkJICAgICAgcmV0KTsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5o CmluZGV4IDdiOWY0OGIuLjg5YzAwNjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlk LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaApAQCAtMzQzLDcgKzM0Myw4IEBAIGRybV9s b2FkX2VkaWRfZmlybXdhcmUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogaW50 CiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2 aV9pbmZvZnJhbWUgKmZyYW1lLAotCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpOworCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCQkJ CSBib29sIGlzX2hkbWkyX3NpbmspOwogaW50CiBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAogCQkJ CQkgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwotLSAKMi43LjQKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=