From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 1/3] [v3] drm: Add new DRM_IOCTL_MODE_GETPLANE2 Date: Thu, 26 Jan 2017 15:34:56 -0800 Message-ID: <20170126233456.25104-1-ben@bwidawsk.net> References: <20170125052049.10369-1-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170125052049.10369-1-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development , Intel GFX Cc: Ben Widawsky , "Kristian H. Kristensen" List-Id: dri-devel@lists.freedesktop.org T3JpZ2luYWxseSBiYXNlZCBvZmYgb2YgYSBwYXRjaCBieSBLcmlzdGlhbi4KClRoaXMgbmV3IGlv Y3RsIGV4dGVuZHMgRFJNX0lPQ1RMX01PREVfR0VUUExBTkUsIGJ5IHJldHVybmluZyBpbmZvcm1h dGlvbgphYm91dCB0aGUgbW9kaWZpZXJzIHRoYXQgd2lsbCB3b3JrIHdpdGggZWFjaCBmb3JtYXQu CgpJdCdzIG1vZGlmaWVkIGZyb20gS3Jpc3RpYW4ncyBwYXRjaCBpbiB0aGF0IHRoZSBtb2RpZmll cnMgYW5kIGZvcm1hdHMKYXJlIHNldHVwIGJ5IHRoZSBkcml2ZXIsIGFuZCB0aGVuIGEgY2FsbGJh Y2sgaXMgdXNlZCB0byBjcmVhdGUgdGhlCmZvcm1hdCBsaXN0LiBUaGUgTE9DIHdhcyBlbm91Z2gg ZGlmZmVyZW5jZSB0aGF0IEkgZG9uJ3QgdGhpbmsgaXQgbWFkZQpzZW5zZSB0byBsZWF2ZSBoaXMg YXV0aG9yc2hpcCwgYnV0IHRoZSBuZXcgVUFCSSB3YXMgcHJpbWFyaWx5IGhpcyBpZGVhLgoKQWRk aXRpb25hbGx5LCBJIGhpdCBhIGNvdXBsZSBvZiBkcml2ZXJzIHdoaWNoIEtyaXN0aWFuIG1pc3Nl ZCB1cGRhdGluZy4KCkl0IGFsc28gY29udGFpbnMgYSBjaGFuZ2UgcmVxdWVzdGVkIGJ5IERhbmll bCB0byBtYWtlIHRoZSBtb2RpZmllcnMKYXJyYXkgYSBzZW50aW5lbCBiYXNlZCBzdHJ1Y3R1cmUg aW5zdGVhZCBvZiBhIHNpemVkIG9uZS4gVXBvbiBkaXNjdXNzaW9uCm9uIElSQywgaXQgd2FzIGRl dGVybWluZWQgdGhhdCBoYXZpbmcgYW4gaW52YWxpZCBtb2RpZmllciBtaWdodCBtYWtlCnNlbnNl IGluIGdlbmVyYWwgYXMgd2VsbC4KCnYyOgogIC0gTWFrZSBmb3JtYXRzIHVpbnQzMl90LCBhbmQg dXNlIGFuIG9mZnNldCwgc2VlIHRoZSBjb21tZW50IGluIHRoZQogIHBhdGNoLiBBZGQgYSBXQVJO X09OIGFuZCBlYXJseSBiYWlsIGZvciB3aGVuIHRoZXJlIGFyZSBtb3JlIHRoYW4gMzIKICBmb3Jt YXRzLiAoUm9iKQogIC0gUmVtb3ZlIERSTV9ERUJVR19LTVMgKFZpbGxlKQogIC0gbWFrZSBmbGFn cyBjb21lIGJlZm9yZSBjb3VudCBpbiBzdHJ1Y3QgKFZpbGxlKQoKdjM6CiAgLSBNYWtlIGZvcm1h dHMgNjRiIGFnYWluIHRvIGRlZmVyIHRoZSBwYWluLCBhbmQgYWRkIGEgcGFkCiAgLSBNYWtlIGlu aXQgZmFpbCBpZiA+IDY0IGluc3RlYWQgb2YgYXQgZ2V0X3BsYW5lLiBUaGlzIGNvdWxkIGJlIG1h ZGUKICBtb3JlIG9wdGltYWwgYnkgZG9pbmcgaXQgaW4gZ2V0X3BsYW5lIGJlY2F1c2UgMCBtYXNr ZWQgbW9kaWZpZXJzIGRvbid0CiAgbmVlZCB0byBiZSByZXBvcnRlZCBiYWNrIHRvIHVzZXJzcGFj ZS4gQXMgYSByZXN1bHQsIHRoZSBmaXJzdCBkcml2ZXIKICB0byBnbyBiYWNrIDY0IGZvcm1hdHMg aGFzIHRvIGRlYWwgd2l0aCB0aGlzLgogIC0gRml4IHRoZSBjb21tZW50IHRvIGJlIG1vcmUgY2xl YXIuCgpDYzogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgpDYzogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IERhbmllbCBTdG9uZSA8ZGFu aWVsQGZvb2lzaGJhci5vcmc+CkNjOiAiS3Jpc3RpYW4gSC4gS3Jpc3RlbnNlbiIgPGhvZWdzYmVy Z0BnbWFpbC5jb20+ClJlZmVyZW5jZXM6IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0 Y2gvOTQ4MjM5My8KU2lnbmVkLW9mZi1ieTogQmVuIFdpZGF3c2t5IDxiZW5AYndpZGF3c2submV0 PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYyAgICAgICAgICAgICAgIHwg IDEgKwogZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMgICAgICAgICAgICAgICAgfCAg MSArCiBkcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYyAgICAgICAgICAgICB8ICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMgICAgICAgICAgICB8ICAx ICsKIGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYyAgICAgICAgIHwgIDEg KwogZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMgfCAgNCAr LQogZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jICAgICAgICAgICAgfCAgMSAr CiBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMgICAgICAgICAgICAgICAgICAgICB8IDY3ICsr KysrKysrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19o ZWxwZXIuYyAgICAgICAgIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Ry bV9wbGFuZS5jICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3Vf ZHJtX3BsYW5lLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMv aGlibWNfZHJtX2RlLmMgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9r aXJpbl9kcm1fYWRlLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jICAgICAgICAgICAgfCAgNyArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jICAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUu YyAgICAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X3BsYW5lLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9wbGFu ZS5jICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0 X3BsYW5lLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X3BsYW5lLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX2Rydi5j ICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNw bGF5LmMgICAgICAgICAgfCAgNSArLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFu ZS5jICAgICAgICAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9w bGFuZS5jICAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV92 c3AuYyAgICAgICAgICAgfCAgNSArLQogZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV92b3AuYyAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMg ICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYyAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9ocXZkcC5jICAg ICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfbGF5ZXIu YyAgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jICAgICAgICAg ICAgICAgICAgICAgIHwgMTIgKystLS0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9w bGFuZS5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUuYyAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvZHJtL2RybV9wbGFuZS5oICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKy0KIGluY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21z X2hlbHBlci5oICAgICAgICAgICAgIHwgIDEgKwogaW5jbHVkZS91YXBpL2RybS9kcm0uaCAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBpbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2Mu aCAgICAgICAgICAgICAgICAgICB8IDExICsrKysKIGluY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUu aCAgICAgICAgICAgICAgICAgICAgIHwgNDQgKysrKysrKysrKysrKysrKwogNDAgZmlsZXMgY2hh bmdlZCwgMTk5IGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJj cGd1X2NydGMuYwppbmRleCBhZDlhOTU5MTZmMWYuLmNkOGEyNGM3YzY3ZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FyYy9hcmNwZ3VfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h cmMvYXJjcGd1X2NydGMuYwpAQCAtMjE4LDYgKzIxOCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3Bs YW5lICphcmNfcGd1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKIAogCXJldCA9 IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sIHBsYW5lLCAweGZmLCAmYXJjX3BndV9wbGFu ZV9mdW5jcywKIAkJCQkgICAgICAgZm9ybWF0cywgQVJSQVlfU0laRShmb3JtYXRzKSwKKwkJCQkg ICAgICAgTlVMTCwKIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJ aWYgKHJldCkKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vaGRsY2RfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMK aW5kZXggMjBlYmZiNGZiZGZhLi44OWZkZWQ4ODA4MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vaGRsY2RfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0 Yy5jCkBAIC0yODMsNiArMjgzLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmhkbGNkX3Bs YW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKIAogCXJldCA9IGRybV91bml2ZXJzYWxf cGxhbmVfaW5pdChkcm0sIHBsYW5lLCAweGZmLCAmaGRsY2RfcGxhbmVfZnVuY3MsCiAJCQkJICAg ICAgIGZvcm1hdHMsIEFSUkFZX1NJWkUoZm9ybWF0cyksCisJCQkJICAgICAgIE5VTEwsCiAJCQkJ ICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJZGV2 bV9rZnJlZShkcm0tPmRldiwgcGxhbmUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Fy bS9tYWxpZHBfcGxhbmVzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYwpp bmRleCBlZmYyZmU0N2UyNmEuLjk0ZGJjYmM5YWQ4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBf cGxhbmVzLmMKQEAgLTI4Myw3ICsyODMsNyBAQCBpbnQgbWFsaWRwX2RlX3BsYW5lc19pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkcm0pCiAJCQkJCURSTV9QTEFORV9UWVBFX09WRVJMQVk7CiAJCXJl dCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+YmFzZSwgY3J0Y3MsCiAJ CQkJCSAgICAgICAmbWFsaWRwX2RlX3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJCQkgICAgICAg biwgcGxhbmVfdHlwZSwgTlVMTCk7CisJCQkJCSAgICAgICBuLCBOVUxMLCBwbGFuZV90eXBlLCBO VUxMKTsKIAkJaWYgKHJldCA8IDApCiAJCQlnb3RvIGNsZWFudXA7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1h ZGEvYXJtYWRhX2NydGMuYwppbmRleCBlNjJlZTQ0OThjZTQuLjM5MzMwMTQ1YmEyYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYwpAQCAtMTI1MCw2ICsxMjUwLDcgQEAgc3RhdGlj IGludCBhcm1hZGFfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVj dCBkZXZpY2UgKmRldiwKIAkJCQkgICAgICAgJmFybWFkYV9wcmltYXJ5X3BsYW5lX2Z1bmNzLAog CQkJCSAgICAgICBhcm1hZGFfcHJpbWFyeV9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpF KGFybWFkYV9wcmltYXJ5X2Zvcm1hdHMpLAorCQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAgICBE Uk1fUExBTkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCWtmcmVlKHByaW1h cnkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jCmluZGV4IDM0Y2I3M2Qw ZGI3Ny4uNmExY2E4YWE4ZTE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2Fy bWFkYV9vdmVybGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3Zlcmxh eS5jCkBAIC00NTgsNiArNDU4LDcgQEAgaW50IGFybWFkYV9vdmVybGF5X3BsYW5lX2NyZWF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGNydGNzKQogCQkJCSAgICAgICAm YXJtYWRhX292bF9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgYXJtYWRhX292bF9mb3JtYXRzLAog CQkJCSAgICAgICBBUlJBWV9TSVpFKGFybWFkYV9vdmxfZm9ybWF0cyksCisJCQkJICAgICAgIE5V TEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX09WRVJMQVksIE5VTEwpOwogCWlmIChyZXQp IHsKIAkJa2ZyZWUoZHBsYW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1o bGNkYy9hdG1lbF9obGNkY19wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0 bWVsX2hsY2RjX3BsYW5lLmMKaW5kZXggYmQyNzkxYzRiMDAyLi5mMTJjZWMwYmM1OGMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jCkBAIC0x MDM4LDcgKzEwMzgsOSBAQCBhdG1lbF9obGNkY19wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmcGxhbmUtPmJh c2UsIDAsCiAJCQkJICAgICAgICZsYXllcl9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgZGVzYy0+ Zm9ybWF0cy0+Zm9ybWF0cywKLQkJCQkgICAgICAgZGVzYy0+Zm9ybWF0cy0+bmZvcm1hdHMsIHR5 cGUsIE5VTEwpOworCQkJCSAgICAgICBkZXNjLT5mb3JtYXRzLT5uZm9ybWF0cywKKwkJCQkgICAg ICAgTlVMTCwKKwkJCQkgICAgICAgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIEVS Ul9QVFIocmV0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCmluZGV4IGE3YzYxYzIzNjg1YS4uYzgyMGQ5OWQ5 MjMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9pb2N0bC5jCkBAIC02MTQsNyArNjE0LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1faW9jdGxfZGVzYyBkcm1faW9jdGxzW10gPSB7CiAJRFJNX0lPQ1RMX0RFRihEUk1f SU9DVExfTU9ERV9HRVRQTEFORVJFU09VUkNFUywgZHJtX21vZGVfZ2V0cGxhbmVfcmVzLCBEUk1f Q09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQpLAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01P REVfR0VUQ1JUQywgZHJtX21vZGVfZ2V0Y3J0YywgRFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9D S0VEKSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX1NFVENSVEMsIGRybV9tb2RlX3Nl dGNydGMsIERSTV9NQVNURVJ8RFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKLQlEUk1f SU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVFBMQU5FLCBkcm1fbW9kZV9nZXRwbGFuZSwgRFJN X0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9N T0RFX0dFVFBMQU5FMiwgZHJtX21vZGVfZ2V0cGxhbmUsIERSTV9DT05UUk9MX0FMTE9XfERSTV9V TkxPQ0tFRCksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9TRVRQTEFORSwgZHJtX21v ZGVfc2V0cGxhbmUsIERSTV9NQVNURVJ8RFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwK IAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0NVUlNPUiwgZHJtX21vZGVfY3Vyc29yX2lv Y3RsLCBEUk1fTUFTVEVSfERSTV9DT05UUk9MX0FMTE9XfERSTV9VTkxPQ0tFRCksCiAJRFJNX0lP Q1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRHQU1NQSwgZHJtX21vZGVfZ2FtbWFfZ2V0X2lvY3Rs LCBEUk1fVU5MT0NLRUQpLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0 X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCmluZGV4IDJi MzM4MjVmMmY5My4uOWNiMWVlZGUwYjRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X21vZGVzZXRfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBl ci5jCkBAIC0xMjQsNiArMTI0LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmNyZWF0ZV9w cmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkJICAgICAgICZkcm1fcHJp bWFyeV9oZWxwZXJfZnVuY3MsCiAJCQkJICAgICAgIHNhZmVfbW9kZXNldF9mb3JtYXRzLAogCQkJ CSAgICAgICBBUlJBWV9TSVpFKHNhZmVfbW9kZXNldF9mb3JtYXRzKSwKKwkJCQkgICAgICAgTlVM TCwKIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkg ewogCQlrZnJlZShwcmltYXJ5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxh bmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwppbmRleCA3YjcyNzVmMGMyZGYuLjcw NmMyYjc0NzljYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwpAQCAtNzAsNiArNzAsNyBAQCBzdGF0aWMgdW5z aWduZWQgaW50IGRybV9udW1fcGxhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAgKiBAZnVu Y3M6IGNhbGxiYWNrcyBmb3IgdGhlIG5ldyBwbGFuZQogICogQGZvcm1hdHM6IGFycmF5IG9mIHN1 cHBvcnRlZCBmb3JtYXRzIChEUk1fRk9STUFUXF9cKikKICAqIEBmb3JtYXRfY291bnQ6IG51bWJl ciBvZiBlbGVtZW50cyBpbiBAZm9ybWF0cworICogQGZvcm1hdF9tb2RpZmllcnM6IGFycmF5IG9m IHN0cnVjdCBkcm1fZm9ybWF0IG1vZGlmaWVycyB0ZXJtaW5hdGVkIGJ5IElOVkFMSUQKICAqIEB0 eXBlOiB0eXBlIG9mIHBsYW5lIChvdmVybGF5LCBwcmltYXJ5LCBjdXJzb3IpCiAgKiBAbmFtZTog cHJpbnRmIHN0eWxlIGZvcm1hdCBzdHJpbmcgZm9yIHRoZSBwbGFuZSBuYW1lLCBvciBOVUxMIGZv ciBkZWZhdWx0IG5hbWUKICAqCkBAIC04MiwxMCArODMsMTIgQEAgaW50IGRybV91bml2ZXJzYWxf cGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKIAkJCSAgICAgdWludDMyX3QgcG9zc2libGVfY3J0Y3MsCiAJCQkgICAgIGNvbnN0IHN0cnVj dCBkcm1fcGxhbmVfZnVuY3MgKmZ1bmNzLAogCQkJICAgICBjb25zdCB1aW50MzJfdCAqZm9ybWF0 cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCSAgICAgY29uc3QgdWludDY0X3QgKmZv cm1hdF9tb2RpZmllcnMsCiAJCQkgICAgIGVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZSwKIAkJCSAg ICAgY29uc3QgY2hhciAqbmFtZSwgLi4uKQogewogCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNv bmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOworCXVuc2lnbmVkIGludCBmb3JtYXRfbW9kaWZpZXJf Y291bnQgPSAwOwogCWludCByZXQ7CiAKIAlyZXQgPSBkcm1fbW9kZV9vYmplY3RfZ2V0KGRldiwg JnBsYW5lLT5iYXNlLCBEUk1fTU9ERV9PQkpFQ1RfUExBTkUpOwpAQCAtMTA1LDYgKzEwOCwyOCBA QCBpbnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKKwkvKiBGaXJz dCBkcml2ZXIgdG8gbmVlZCBtb3JlIHRoYW4gNjQgZm9ybWF0cyBuZWVkcyB0byBmaXggdGhpcyAq LworCWlmIChXQVJOX09OKGZvcm1hdF9jb3VudCA+IDY0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisK KwlpZiAoZm9ybWF0X21vZGlmaWVycykgeworCQljb25zdCB1aW50NjRfdCAqdGVtcF9tb2RpZmll cnMgPSBmb3JtYXRfbW9kaWZpZXJzOworCQl3aGlsZSAoKnRlbXBfbW9kaWZpZXJzKysgIT0gRFJN X0ZPUk1BVF9NT0RfSU5WQUxJRCkKKwkJCWZvcm1hdF9tb2RpZmllcl9jb3VudCsrOworCX0KKwor CXBsYW5lLT5tb2RpZmllcl9jb3VudCA9IGZvcm1hdF9tb2RpZmllcl9jb3VudDsKKwlwbGFuZS0+ bW9kaWZpZXJzID0ga21hbGxvY19hcnJheShmb3JtYXRfbW9kaWZpZXJfY291bnQsCisJCQkJCSBz aXplb2YoZm9ybWF0X21vZGlmaWVyc1swXSksCisJCQkJCSBHRlBfS0VSTkVMKTsKKworCWlmIChm b3JtYXRfbW9kaWZpZXJfY291bnQgJiYgIXBsYW5lLT5tb2RpZmllcnMpIHsKKwkJRFJNX0RFQlVH X0tNUygib3V0IG9mIG1lbW9yeSB3aGVuIGFsbG9jYXRpbmcgcGxhbmVcbiIpOworCQlrZnJlZShw bGFuZS0+Zm9ybWF0X3R5cGVzKTsKKwkJZHJtX21vZGVfb2JqZWN0X3VucmVnaXN0ZXIoZGV2LCAm cGxhbmUtPmJhc2UpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKIAlpZiAobmFtZSkgewogCQl2 YV9saXN0IGFwOwogCkBAIC0xMTcsMTIgKzE0MiwxNSBAQCBpbnQgZHJtX3VuaXZlcnNhbF9wbGFu ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAog CX0KIAlpZiAoIXBsYW5lLT5uYW1lKSB7CiAJCWtmcmVlKHBsYW5lLT5mb3JtYXRfdHlwZXMpOwor CQlrZnJlZShwbGFuZS0+bW9kaWZpZXJzKTsKIAkJZHJtX21vZGVfb2JqZWN0X3VucmVnaXN0ZXIo ZGV2LCAmcGxhbmUtPmJhc2UpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKIAltZW1jcHkocGxh bmUtPmZvcm1hdF90eXBlcywgZm9ybWF0cywgZm9ybWF0X2NvdW50ICogc2l6ZW9mKHVpbnQzMl90 KSk7CiAJcGxhbmUtPmZvcm1hdF9jb3VudCA9IGZvcm1hdF9jb3VudDsKKwltZW1jcHkocGxhbmUt Pm1vZGlmaWVycywgZm9ybWF0X21vZGlmaWVycywKKwkgICAgICAgZm9ybWF0X21vZGlmaWVyX2Nv dW50ICogc2l6ZW9mKGZvcm1hdF9tb2RpZmllcnNbMF0pKTsKIAlwbGFuZS0+cG9zc2libGVfY3J0 Y3MgPSBwb3NzaWJsZV9jcnRjczsKIAlwbGFuZS0+dHlwZSA9IHR5cGU7CiAKQEAgLTIwNSw3ICsy MzMsOCBAQCBpbnQgZHJtX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCiAKIAl0eXBlID0gaXNfcHJpbWFyeSA/IERSTV9QTEFORV9UWVBF X1BSSU1BUlkgOiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwogCXJldHVybiBkcm1fdW5pdmVyc2Fs X3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgcG9zc2libGVfY3J0Y3MsIGZ1bmNzLAotCQkJCQlmb3Jt YXRzLCBmb3JtYXRfY291bnQsIHR5cGUsIE5VTEwpOworCQkJCQlmb3JtYXRzLCBmb3JtYXRfY291 bnQsCisJCQkJCU5VTEwsIHR5cGUsIE5VTEwpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fcGxhbmVf aW5pdCk7CiAKQEAgLTIyNCw2ICsyNTMsNyBAQCB2b2lkIGRybV9wbGFuZV9jbGVhbnVwKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lKQogCWRybV9tb2Rlc2V0X2xvY2tfZmluaSgmcGxhbmUtPm11dGV4 KTsKIAogCWtmcmVlKHBsYW5lLT5mb3JtYXRfdHlwZXMpOworCWtmcmVlKHBsYW5lLT5tb2RpZmll cnMpOwogCWRybV9tb2RlX29iamVjdF91bnJlZ2lzdGVyKGRldiwgJnBsYW5lLT5iYXNlKTsKIAog CUJVR19PTihsaXN0X2VtcHR5KCZwbGFuZS0+aGVhZCkpOwpAQCAtMzgwLDEyICs0MTAsMTUgQEAg aW50IGRybV9tb2RlX2dldHBsYW5lX3JlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogaW50IGRybV9tb2RlX2dldHBsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCiAJCSAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQogewotCXN0cnVjdCBk cm1fbW9kZV9nZXRfcGxhbmUgKnBsYW5lX3Jlc3AgPSBkYXRhOworCXN0cnVjdCBkcm1fbW9kZV9n ZXRfcGxhbmUyICpwbGFuZV9yZXNwID0gZGF0YTsKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsK IAl1aW50MzJfdCBfX3VzZXIgKmZvcm1hdF9wdHI7CisJc3RydWN0IGRybV9mb3JtYXRfbW9kaWZp ZXIgX191c2VyICptb2RpZmllcl9wdHI7CiAKIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfTU9ERVNFVCkpCiAJCXJldHVybiAtRUlOVkFMOworCWlmIChwbGFuZV9yZXNw LT5mbGFncykKKwkJcmV0dXJuIC1FSU5WQUw7CiAKIAlwbGFuZSA9IGRybV9wbGFuZV9maW5kKGRl diwgcGxhbmVfcmVzcC0+cGxhbmVfaWQpOwogCWlmICghcGxhbmUpCkBAIC00MjYsNiArNDU5LDM2 IEBAIGludCBkcm1fbW9kZV9nZXRwbGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCX0KIAlwbGFuZV9yZXNwLT5jb3VudF9mb3JtYXRfdHlwZXMgPSBwbGFuZS0+Zm9ybWF0 X2NvdW50OwogCisJaWYgKHBsYW5lLT5tb2RpZmllcl9jb3VudCAmJgorCSAgICBwbGFuZV9yZXNw LT5jb3VudF9mb3JtYXRfbW9kaWZpZXJzID49IHBsYW5lLT5tb2RpZmllcl9jb3VudCkgeworCQlz dHJ1Y3QgZHJtX2Zvcm1hdF9tb2RpZmllciBtb2QgPSB7MH07CisJCWludCBpOworCisJCW1vZGlm aWVyX3B0ciA9IChzdHJ1Y3QgZHJtX2Zvcm1hdF9tb2RpZmllciBfX3VzZXIgKikKKwkJCSh1bnNp Z25lZCBsb25nKXBsYW5lX3Jlc3AtPmZvcm1hdF9tb2RpZmllcl9wdHI7CisKKwkJLyogQnVpbGQg dGhlIG1hc2sgZm9yIGVhY2ggbW9kaWZpZXIgKi8KKwkJZm9yIChpID0gMDsgaSA8IHBsYW5lLT5t b2RpZmllcl9jb3VudDsgaSsrKSB7CisJCQlpbnQgajsKKwkJCW1vZC5tb2RpZmllciA9IHBsYW5l LT5tb2RpZmllcnNbaV07CisJCQlmb3IgKGogPSAwOyBqIDwgcGxhbmUtPmZvcm1hdF9jb3VudDsg aisrKSB7CisJCQkJaWYgKHBsYW5lLT5mdW5jcy0+Zm9ybWF0X21vZF9zdXBwb3J0ZWQgJiYKKwkJ CQkgICAgcGxhbmUtPmZ1bmNzLT5mb3JtYXRfbW9kX3N1cHBvcnRlZChwbGFuZSwKKwkJCQkJCQkJ ICAgICAgIHBsYW5lLT5mb3JtYXRfdHlwZXNbal0sCisJCQkJCQkJCSAgICAgICBwbGFuZS0+bW9k aWZpZXJzW2ldKSkgeworCQkJCQltb2QuZm9ybWF0cyB8PSAxIDw8IGo7CisJCQkJfQorCQkJfQor CisJCQlpZiAoY29weV90b191c2VyKG1vZGlmaWVyX3B0ciwgJm1vZCwgc2l6ZW9mKG1vZCkpKQor CQkJCXJldHVybiAtRUZBVUxUOworCisJCQltb2RpZmllcl9wdHIrKzsKKwkJfQorCX0KKworCXBs YW5lX3Jlc3AtPmNvdW50X2Zvcm1hdF9tb2RpZmllcnMgPSBwbGFuZS0+bW9kaWZpZXJfY291bnQ7 CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zaW1w bGVfa21zX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5j CmluZGV4IDM1YzVkOTkyOTZiOS4uNmMwOTk2OTRmY2NiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9z aW1wbGVfa21zX2hlbHBlci5jCkBAIC0xOTMsNiArMTkzLDcgQEAgRVhQT1JUX1NZTUJPTChkcm1f c2ltcGxlX2Rpc3BsYXlfcGlwZV9hdHRhY2hfYnJpZGdlKTsKICAqIEBmdW5jczogY2FsbGJhY2tz IGZvciB0aGUgZGlzcGxheSBwaXBlIChvcHRpb25hbCkKICAqIEBmb3JtYXRzOiBhcnJheSBvZiBz dXBwb3J0ZWQgZm9ybWF0cyAoRFJNX0ZPUk1BVFxfXCopCiAgKiBAZm9ybWF0X2NvdW50OiBudW1i ZXIgb2YgZWxlbWVudHMgaW4gQGZvcm1hdHMKKyAqIEBmb3JtYXRfbW9kaWZpZXJzOiBhcnJheSBv ZiBmb3JtYXRzIG1vZGlmaWVycwogICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGF0dGFjaCBh bmQgcmVnaXN0ZXIgKG9wdGlvbmFsKQogICoKICAqIFNldHMgdXAgYSBkaXNwbGF5IHBpcGVsaW5l IHdoaWNoIGNvbnNpc3Qgb2YgYSByZWFsbHkgc2ltcGxlCkBAIC0yMTMsNiArMjE0LDcgQEAgaW50 IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJ CXN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCWNvbnN0IHN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCiAJCQljb25zdCB1aW50MzJfdCAq Zm9ybWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCWNvbnN0IHVpbnQ2NF90ICpm b3JtYXRfbW9kaWZpZXJzLAogCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsK IAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmcGlwZS0+ZW5jb2RlcjsKQEAgLTIyNyw2 ICsyMjksNyBAQCBpbnQgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAw LAogCQkJCSAgICAgICAmZHJtX3NpbXBsZV9rbXNfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGZv cm1hdHMsIGZvcm1hdF9jb3VudCwKKwkJCQkgICAgICAgZm9ybWF0X21vZGlmaWVycywKIAkJCQkg ICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFu ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmMKaW5kZXggYzJm MTdmMzBhZmFiLi43NWQ0OTI4ZGQxOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9wbGFuZS5jCkBAIC0yODQsNyArMjg0LDcgQEAgaW50IGV4eW5vc19wbGFuZV9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAgICAgICZleHlub3NfcGxhbmVfZnVuY3MsCiAJ CQkJICAgICAgIGNvbmZpZy0+cGl4ZWxfZm9ybWF0cywKIAkJCQkgICAgICAgY29uZmlnLT5udW1f cGl4ZWxfZm9ybWF0cywKLQkJCQkgICAgICAgY29uZmlnLT50eXBlLCBOVUxMKTsKKwkJCQkgICAg ICAgTlVMTCwgY29uZmlnLT50eXBlLCBOVUxMKTsKIAlpZiAoZXJyKSB7CiAJCURSTV9FUlJPUigi ZmFpbGVkIHRvIGluaXRpYWxpemUgcGxhbmVcbiIpOwogCQlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYyBiL2RyaXZlcnMv Z3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMKaW5kZXggMGEyMDcyM2FhNmUxLi45 NTU0YjI0NTc0NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3Vf ZHJtX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxh bmUuYwpAQCAtMjI0LDcgKzIyNCw3IEBAIHN0cnVjdCBkcm1fcGxhbmUgKmZzbF9kY3VfZHJtX3By aW1hcnlfY3JlYXRlX3BsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkJICAgICAgICZm c2xfZGN1X2RybV9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgZnNsX2RjdV9kcm1fcGxhbmVfZm9y bWF0cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShmc2xfZGN1X2RybV9wbGFuZV9mb3JtYXRzKSwK LQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CisJCQkJICAgICAgIE5V TEwsIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJa2ZyZWUo cHJpbWFyeSk7CiAJCXByaW1hcnkgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGlj b24vaGlibWMvaGlibWNfZHJtX2RlLmMKaW5kZXggYzY1NTg4M2QzNjEzLi45MTljYzgwNzgwOWYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2Rl LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZGUuYwpA QCAtMTgxLDYgKzE4MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpoaWJtY19wbGFuZV9p bml0KHN0cnVjdCBoaWJtY19kcm1fcHJpdmF0ZSAqcHJpdikKIAlyZXQgPSBkcm1fdW5pdmVyc2Fs X3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMSwgJmhpYm1jX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAg ICBjaGFubmVsX2Zvcm1hdHMxLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGNoYW5uZWxfZm9ybWF0 czEpLAorCQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZ LAogCQkJCSAgICAgICBOVUxMKTsKIAlpZiAocmV0KSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9hZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9o aXNpbGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jCmluZGV4IDMwN2Q0NjBhYjY4NC4uYjQzM2I4 ZTdjOWNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmlu X2RybV9hZGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2Ry bV9hZGUuYwpAQCAtOTExLDcgKzkxMSw3IEBAIHN0YXRpYyBpbnQgYWRlX3BsYW5lX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGFkZV9wbGFuZSAqYXBsYW5lLAogCQlyZXR1cm4g cmV0OwogCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJmFwbGFuZS0+YmFz ZSwgMSwgJmFkZV9wbGFuZV9mdW5jcywKLQkJCQkgICAgICAgZm10cywgZm10c19jbnQsIHR5cGUs IE5VTEwpOworCQkJCSAgICAgICBmbXRzLCBmbXRzX2NudCwgTlVMTCwgdHlwZSwgTlVMTCk7CiAJ aWYgKHJldCkgewogCQlEUk1fRVJST1IoImZhaWwgdG8gaW5pdCBwbGFuZSwgY2g9JWRcbiIsIGFw bGFuZS0+Y2gpOwogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CmluZGV4IGI1NDczMzJlZWRhMS4uODcxNWIxMDgzZDFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC0xNTMwMyw2ICsxNTMwMyw4IEBAIGludGVsX2xlZ2FjeV9jdXJzb3Jf dXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCQkgICAgICBzcmNfeCwgc3JjX3ks IHNyY193LCBzcmNfaCk7CiB9CiAKKworCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9m dW5jcyBpbnRlbF9jdXJzb3JfcGxhbmVfZnVuY3MgPSB7CiAJLnVwZGF0ZV9wbGFuZSA9IGludGVs X2xlZ2FjeV9jdXJzb3JfdXBkYXRlLAogCS5kaXNhYmxlX3BsYW5lID0gZHJtX2F0b21pY19oZWxw ZXJfZGlzYWJsZV9wbGFuZSwKQEAgLTE1Mzg3LDE4ICsxNTM4OSwyMSBAQCBpbnRlbF9wcmltYXJ5 X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlw ZSBwaXBlKQogCQlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoJmRldl9wcml2LT5kcm0s ICZwcmltYXJ5LT5iYXNlLAogCQkJCQkgICAgICAgMCwgJmludGVsX3BsYW5lX2Z1bmNzLAogCQkJ CQkgICAgICAgaW50ZWxfcHJpbWFyeV9mb3JtYXRzLCBudW1fZm9ybWF0cywKKwkJCQkJICAgICAg IE5VTEwsCiAJCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAogCQkJCQkgICAgICAg InBsYW5lIDElYyIsIHBpcGVfbmFtZShwaXBlKSk7CiAJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSA1IHx8IElTX0c0WChkZXZfcHJpdikpCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxh bmVfaW5pdCgmZGV2X3ByaXYtPmRybSwgJnByaW1hcnktPmJhc2UsCiAJCQkJCSAgICAgICAwLCAm aW50ZWxfcGxhbmVfZnVuY3MsCiAJCQkJCSAgICAgICBpbnRlbF9wcmltYXJ5X2Zvcm1hdHMsIG51 bV9mb3JtYXRzLAorCQkJCQkgICAgICAgTlVMTCwKIAkJCQkJICAgICAgIERSTV9QTEFORV9UWVBF X1BSSU1BUlksCiAJCQkJCSAgICAgICAicHJpbWFyeSAlYyIsIHBpcGVfbmFtZShwaXBlKSk7CiAJ ZWxzZQogCQlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoJmRldl9wcml2LT5kcm0sICZw cmltYXJ5LT5iYXNlLAogCQkJCQkgICAgICAgMCwgJmludGVsX3BsYW5lX2Z1bmNzLAogCQkJCQkg ICAgICAgaW50ZWxfcHJpbWFyeV9mb3JtYXRzLCBudW1fZm9ybWF0cywKKwkJCQkJICAgICAgIE5V TEwsCiAJCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAogCQkJCQkgICAgICAgInBs YW5lICVjIiwgcGxhbmVfbmFtZShwcmltYXJ5LT5wbGFuZSkpOwogCWlmIChyZXQpCkBAIC0xNTU2 Myw3ICsxNTU2OCw3IEBAIGludGVsX2N1cnNvcl9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSkKIAkJCQkgICAgICAgMCwgJmludGVs X2N1cnNvcl9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgaW50ZWxfY3Vyc29yX2Zvcm1hdHMsCiAJ CQkJICAgICAgIEFSUkFZX1NJWkUoaW50ZWxfY3Vyc29yX2Zvcm1hdHMpLAotCQkJCSAgICAgICBE Uk1fUExBTkVfVFlQRV9DVVJTT1IsCisJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX0NV UlNPUiwKIAkJCQkgICAgICAgImN1cnNvciAlYyIsIHBpcGVfbmFtZShwaXBlKSk7CiAJaWYgKHJl dCkKIAkJZ290byBmYWlsOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCAwNjNh OTk0ODE1ZDAuLjFjMmYyNmQ4NmY3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMK QEAgLTExMjcsMTMgKzExMjcsMTMgQEAgaW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVf aW5pdCgmZGV2X3ByaXYtPmRybSwgJmludGVsX3BsYW5lLT5iYXNlLAogCQkJCQkgICAgICAgcG9z c2libGVfY3J0Y3MsICZpbnRlbF9wbGFuZV9mdW5jcywKIAkJCQkJICAgICAgIHBsYW5lX2Zvcm1h dHMsIG51bV9wbGFuZV9mb3JtYXRzLAotCQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxB WSwKKwkJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX09WRVJMQVksCiAJCQkJCSAgICAg ICAicGxhbmUgJWQlYyIsIHBsYW5lICsgMiwgcGlwZV9uYW1lKHBpcGUpKTsKIAllbHNlCiAJCXJl dCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwgJmludGVsX3BsYW5l LT5iYXNlLAogCQkJCQkgICAgICAgcG9zc2libGVfY3J0Y3MsICZpbnRlbF9wbGFuZV9mdW5jcywK IAkJCQkJICAgICAgIHBsYW5lX2Zvcm1hdHMsIG51bV9wbGFuZV9mb3JtYXRzLAotCQkJCQkgICAg ICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwKKwkJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9U WVBFX09WRVJMQVksCiAJCQkJCSAgICAgICAic3ByaXRlICVjIiwgc3ByaXRlX25hbWUocGlwZSwg cGxhbmUpKTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaW14L2lwdXYzLXBsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5l LmMKaW5kZXggOGI1Mjk0ZDQ3Y2VlLi5lZjllMTFiOThiM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYz LXBsYW5lLmMKQEAgLTQ5Niw4ICs0OTYsOCBAQCBzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmVf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaXB1X3NvYyAqaXB1LAogCiAJcmV0 ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJmlwdV9wbGFuZS0+YmFzZSwgcG9zc2li bGVfY3J0Y3MsCiAJCQkJICAgICAgICZpcHVfcGxhbmVfZnVuY3MsIGlwdV9wbGFuZV9mb3JtYXRz LAotCQkJCSAgICAgICBBUlJBWV9TSVpFKGlwdV9wbGFuZV9mb3JtYXRzKSwgdHlwZSwKLQkJCQkg ICAgICAgTlVMTCk7CisJCQkJICAgICAgIEFSUkFZX1NJWkUoaXB1X3BsYW5lX2Zvcm1hdHMpLAor CQkJCSAgICAgICBOVUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCURSTV9FUlJPUigi ZmFpbGVkIHRvIGluaXRpYWxpemUgcGxhbmVcbiIpOwogCQlrZnJlZShpcHVfcGxhbmUpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYyBiL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMKaW5kZXggZTQwNWU4OWVkNWU1Li5i ZWM2ZDE0ZGQwNzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYwpA QCAtMTczLDcgKzE3Myw3IEBAIGludCBtdGtfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAogCWVyciA9IGRybV91bml2ZXJzYWxfcGxh bmVfaW5pdChkZXYsIHBsYW5lLCBwb3NzaWJsZV9jcnRjcywKIAkJCQkgICAgICAgJm10a19wbGFu ZV9mdW5jcywgZm9ybWF0cywKLQkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwgdHlwZSwg TlVMTCk7CisJCQkJICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0cyksIE5VTEwsIHR5cGUsIE5VTEwp OwogCWlmIChlcnIpIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbGFuZVxu Iik7CiAJCXJldHVybiBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVz b25fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9wbGFuZS5jCmluZGV4IDY0 MmIyZmFiNDJmZi4uMTNjN2MyYzFkNGNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVz b24vbWVzb25fcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fcGxhbmUu YwpAQCAtMjIwLDYgKzIyMCw3IEBAIGludCBtZXNvbl9wbGFuZV9jcmVhdGUoc3RydWN0IG1lc29u X2RybSAqcHJpdikKIAkJCQkgJm1lc29uX3BsYW5lX2Z1bmNzLAogCQkJCSBzdXBwb3J0ZWRfZHJt X2Zvcm1hdHMsCiAJCQkJIEFSUkFZX1NJWkUoc3VwcG9ydGVkX2RybV9mb3JtYXRzKSwKKwkJCQkg TlVMTCwKIAkJCQkgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgIm1lc29uX3ByaW1hcnlfcGxhbmUi KTsKIAogCWRybV9wbGFuZV9oZWxwZXJfYWRkKHBsYW5lLCAmbWVzb25fcGxhbmVfaGVscGVyX2Z1 bmNzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFu ZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X3BsYW5lLmMKaW5kZXggNTM2 MTlkMDc2NzdlLi44ZjM0MTdlNDVkNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v bWRwL21kcDQvbWRwNF9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQv bWRwNF9wbGFuZS5jCkBAIC0zOTgsNyArMzk4LDcgQEAgc3RydWN0IGRybV9wbGFuZSAqbWRwNF9w bGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJdHlwZSA9IHByaXZhdGVfcGxhbmUg PyBEUk1fUExBTkVfVFlQRV9QUklNQVJZIDogRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKIAlyZXQg PSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwgJm1kcDRfcGxhbmVf ZnVuY3MsCiAJCQkJIG1kcDRfcGxhbmUtPmZvcm1hdHMsIG1kcDRfcGxhbmUtPm5mb3JtYXRzLAot CQkJCSB0eXBlLCBOVUxMKTsKKwkJCQkgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJ Z290byBmYWlsOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21k cDVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCmlu ZGV4IDc1MjQ3ZWE0MzM1Yi4uYzIwNjhjMzBjYTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfcGxhbmUuYwpAQCAtODgyLDcgKzg4Miw3IEBAIHN0cnVjdCBkcm1fcGxhbmUg Km1kcDVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHByaW1hcnkpCiAJ dHlwZSA9IHByaW1hcnkgPyBEUk1fUExBTkVfVFlQRV9QUklNQVJZIDogRFJNX1BMQU5FX1RZUEVf T1ZFUkxBWTsKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhm ZiwgJm1kcDVfcGxhbmVfZnVuY3MsCiAJCQkJIG1kcDVfcGxhbmUtPmZvcm1hdHMsIG1kcDVfcGxh bmUtPm5mb3JtYXRzLAotCQkJCSB0eXBlLCBOVUxMKTsKKwkJCQkgTlVMTCwgdHlwZSwgTlVMTCk7 CiAJaWYgKHJldCkKIAkJZ290byBmYWlsOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXhzZmIvbXhzZmJfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfZHJ2LmMKaW5k ZXggOTU1NDQxZjcxNTAwLi5mMjlkNDYzZTAzYTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9teHNmYi9teHNmYl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfZHJ2 LmMKQEAgLTE4Niw3ICsxODYsNyBAQCBzdGF0aWMgaW50IG14c2ZiX2xvYWQoc3RydWN0IGRybV9k ZXZpY2UgKmRybSwgdW5zaWduZWQgbG9uZyBmbGFncykKIAl9CiAKIAlyZXQgPSBkcm1fc2ltcGxl X2Rpc3BsYXlfcGlwZV9pbml0KGRybSwgJm14c2ZiLT5waXBlLCAmbXhzZmJfZnVuY3MsCi0JCQlt eHNmYl9mb3JtYXRzLCBBUlJBWV9TSVpFKG14c2ZiX2Zvcm1hdHMpLAorCQkJbXhzZmJfZm9ybWF0 cywgQVJSQVlfU0laRShteHNmYl9mb3JtYXRzKSwgTlVMTCwgMCwKIAkJCSZteHNmYi0+Y29ubmVj dG9yKTsKIAlpZiAocmV0IDwgMCkgewogCQlkZXZfZXJyKGRybS0+ZGV2LCAiQ2Fubm90IHNldHVw IHNpbXBsZSBkaXNwbGF5IHBpcGVcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnY1MF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3Bs YXkuYwppbmRleCBjYjg1Y2I3MmRjMWMuLmNmNWVkOThjYWVkNCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnY1MF9kaXNwbGF5LmMKQEAgLTEwNzksOCArMTA3OSw5IEBAIG52NTBfd25kd19jdG9y KGNvbnN0IHN0cnVjdCBudjUwX3duZHdfZnVuYyAqZnVuYywgc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAl3bmR3LT5mdW5jID0gZnVuYzsKIAl3bmR3LT5kbWFjID0gZG1hYzsKIAotCXJldCA9IGRy bV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZ3bmR3LT5wbGFuZSwgMCwgJm52NTBfd25kdywg Zm9ybWF0LAotCQkJCSAgICAgICBuZm9ybWF0LCB0eXBlLCAiJXMtJWQiLCBuYW1lLCBpbmRleCk7 CisJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJnduZHctPnBsYW5lLCAwLCAm bnY1MF93bmR3LAorCQkJCSAgICAgICBmb3JtYXQsIG5mb3JtYXQsIE5VTEwsCisJCQkJICAgICAg IHR5cGUsICIlcy0lZCIsIG5hbWUsIGluZGV4KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0Owog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMgYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKaW5kZXggODJiMmMyM2Q2NzY5Li5iNGE1 NzVjZjdlNzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKQEAgLTM4Myw3ICsz ODMsOCBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpvbWFwX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCBw b3NzaWJsZV9jcnRjcywKIAkJCQkgICAgICAgJm9tYXBfcGxhbmVfZnVuY3MsIG9tYXBfcGxhbmUt PmZvcm1hdHMsCi0JCQkJICAgICAgIG9tYXBfcGxhbmUtPm5mb3JtYXRzLCB0eXBlLCBOVUxMKTsK KwkJCQkgICAgICAgb21hcF9wbGFuZS0+bmZvcm1hdHMsCisJCQkJICAgICAgIE5VTEwsIHR5cGUs IE5VTEwpOwogCWlmIChyZXQgPCAwKQogCQlnb3RvIGVycm9yOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X3BsYW5lLmMKaW5kZXggZGNkZTYyODhkYTZjLi4yYjAyZWNjYmZiNzAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3BsYW5lLmMKQEAgLTc0Myw4ICs3NDMsOCBA QCBpbnQgcmNhcl9kdV9wbGFuZXNfaW5pdChzdHJ1Y3QgcmNhcl9kdV9ncm91cCAqcmdycCkKIAog CQlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQocmNkdS0+ZGRldiwgJnBsYW5lLT5wbGFu ZSwgY3J0Y3MsCiAJCQkJCSAgICAgICAmcmNhcl9kdV9wbGFuZV9mdW5jcywgZm9ybWF0cywKLQkJ CQkJICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0cyksIHR5cGUsCi0JCQkJCSAgICAgICBOVUxMKTsK KwkJCQkJICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0cyksCisJCQkJCSAgICAgICBOVUxMLCB0eXBl LCBOVUxMKTsKIAkJaWYgKHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3ZzcC5jIGIvZHJpdmVycy9ncHUvZHJtL3Jj YXItZHUvcmNhcl9kdV92c3AuYwppbmRleCBiNWJmYmU1MGJkODcuLjc0NGJlMDI5NDM2YiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV92c3AuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3ZzcC5jCkBAIC0zNjQsOCArMzY0LDkgQEAgaW50 IHJjYXJfZHVfdnNwX2luaXQoc3RydWN0IHJjYXJfZHVfdnNwICp2c3ApCiAJCQkJCSAgICAgICAx IDw8IHZzcC0+aW5kZXgsCiAJCQkJCSAgICAgICAmcmNhcl9kdV92c3BfcGxhbmVfZnVuY3MsCiAJ CQkJCSAgICAgICBmb3JtYXRzX2ttcywKLQkJCQkJICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0c19r bXMpLCB0eXBlLAotCQkJCQkgICAgICAgTlVMTCk7CisJCQkJCSAgICAgICBBUlJBWV9TSVpFKGZv cm1hdHNfa21zKSwKKwkJCQkJICAgICAgIE5VTEwsCisJCQkJCSAgICAgICB0eXBlLCBOVUxMKTsK IAkJaWYgKHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL3JvY2tjaGlwX2RybV92b3AuYwppbmRleCBmYjVmMDAxZjUxYzMuLjgyNmIzNzYxMTRmNiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCkBAIC0xMjIx LDcgKzEyMjEsNyBAQCBzdGF0aWMgaW50IHZvcF9jcmVhdGVfY3J0YyhzdHJ1Y3Qgdm9wICp2b3Ap CiAJCQkJCSAgICAgICAwLCAmdm9wX3BsYW5lX2Z1bmNzLAogCQkJCQkgICAgICAgd2luX2RhdGEt PnBoeS0+ZGF0YV9mb3JtYXRzLAogCQkJCQkgICAgICAgd2luX2RhdGEtPnBoeS0+bmZvcm1hdHMs Ci0JCQkJCSAgICAgICB3aW5fZGF0YS0+dHlwZSwgTlVMTCk7CisJCQkJCSAgICAgICBOVUxMLCB3 aW5fZGF0YS0+dHlwZSwgTlVMTCk7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9ERVZfRVJST1Iodm9w LT5kZXYsICJmYWlsZWQgdG8gaW5pdCBwbGFuZSAlZFxuIiwKIAkJCQkgICAgICByZXQpOwpAQCAt MTI2MCw3ICsxMjYwLDcgQEAgc3RhdGljIGludCB2b3BfY3JlYXRlX2NydGMoc3RydWN0IHZvcCAq dm9wKQogCQkJCQkgICAgICAgJnZvcF9wbGFuZV9mdW5jcywKIAkJCQkJICAgICAgIHdpbl9kYXRh LT5waHktPmRhdGFfZm9ybWF0cywKIAkJCQkJICAgICAgIHdpbl9kYXRhLT5waHktPm5mb3JtYXRz LAotCQkJCQkgICAgICAgd2luX2RhdGEtPnR5cGUsIE5VTEwpOworCQkJCQkgICAgICAgTlVMTCwg d2luX2RhdGEtPnR5cGUsIE5VTEwpOwogCQlpZiAocmV0KSB7CiAJCQlEUk1fREVWX0VSUk9SKHZv cC0+ZGV2LCAiZmFpbGVkIHRvIGluaXQgb3ZlcmxheSAlZFxuIiwKIAkJCQkgICAgICByZXQpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMgYi9kcml2ZXJzL2dw dS9kcm0vc3RpL3N0aV9jdXJzb3IuYwppbmRleCBjY2E3NWJkZGI5YWQuLmY2MTgwOGI0MTlhNSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMKQEAgLTM5Myw2ICszOTMsNyBAQCBzdHJ1Y3QgZHJt X3BsYW5lICpzdGlfY3Vyc29yX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwKIAkJ CQkgICAgICAgJnN0aV9jdXJzb3JfcGxhbmVfaGVscGVyc19mdW5jcywKIAkJCQkgICAgICAgY3Vy c29yX3N1cHBvcnRlZF9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGN1cnNvcl9zdXBw b3J0ZWRfZm9ybWF0cyksCisJCQkJICAgICAgIE5VTEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9U WVBFX0NVUlNPUiwgTlVMTCk7CiAJaWYgKHJlcykgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBp bml0aWFsaXplIHVuaXZlcnNhbCBwbGFuZVxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9nZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5jCmluZGV4IDg3 N2QwNTNkODZmNC4uNmJmMWE1OTJjZWU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9nZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYwpAQCAtOTIxLDcg KzkyMSw3IEBAIHN0cnVjdCBkcm1fcGxhbmUgKnN0aV9nZHBfY3JlYXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm1fZGV2LAogCQkJCSAgICAgICAmc3RpX2dkcF9wbGFuZV9oZWxwZXJzX2Z1bmNzLAog CQkJCSAgICAgICBnZHBfc3VwcG9ydGVkX2Zvcm1hdHMsCiAJCQkJICAgICAgIEFSUkFZX1NJWkUo Z2RwX3N1cHBvcnRlZF9mb3JtYXRzKSwKLQkJCQkgICAgICAgdHlwZSwgTlVMTCk7CisJCQkJICAg ICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChyZXMpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQg dG8gaW5pdGlhbGl6ZSB1bml2ZXJzYWwgcGxhbmVcbiIpOwogCQlnb3RvIGVycjsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hxdmRwLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9ocXZkcC5jCmluZGV4IGJlY2YxMGQyNTVjNC4uOTExZThmMGY2OWE2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9ocXZkcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9z dGkvc3RpX2hxdmRwLmMKQEAgLTEyNzcsNyArMTI3Nyw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3Bs YW5lICpzdGlfaHF2ZHBfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAogCQkJCSAg ICAgICAmc3RpX2hxdmRwX3BsYW5lX2hlbHBlcnNfZnVuY3MsCiAJCQkJICAgICAgIGhxdmRwX3N1 cHBvcnRlZF9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGhxdmRwX3N1cHBvcnRlZF9m b3JtYXRzKSwKLQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwgTlVMTCk7CisJCQkJ ICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX09WRVJMQVksIE5VTEwpOwogCWlmIChyZXMpIHsK IAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB1bml2ZXJzYWwgcGxhbmVcbiIpOwog CQlyZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9s YXllci5jIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2xheWVyLmMKaW5kZXggNWQ1M2M5 NzdiY2E1Li44MjdmNDUzNjQ2NTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9z dW40aV9sYXllci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sYXllci5jCkBA IC0xMTcsNiArMTE3LDcgQEAgc3RhdGljIHN0cnVjdCBzdW40aV9sYXllciAqc3VuNGlfbGF5ZXJf aW5pdF9vbmUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3Bs YW5lX2luaXQoZHJtLCAmbGF5ZXItPnBsYW5lLCBCSVQoMCksCiAJCQkJICAgICAgICZzdW40aV9i YWNrZW5kX2xheWVyX2Z1bmNzLAogCQkJCSAgICAgICBwbGFuZS0+Zm9ybWF0cywgcGxhbmUtPm5m b3JtYXRzLAorCQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAgICBwbGFuZS0+dHlwZSwgTlVMTCk7 CiAJaWYgKHJldCkgewogCQlkZXZfZXJyKGRybS0+ZGV2LCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBs YXllclxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyBiL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9kYy5jCmluZGV4IDc1NjFhOTVhNTRlMy4uOWRkZWE4NDIwOGM0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vdGVncmEvZGMuYwpAQCAtNjU1LDggKzY1NSw4IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5l ICp0ZWdyYV9kY19wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAog CiAJZXJyID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRybSwgJnBsYW5lLT5iYXNlLCBwb3Nz aWJsZV9jcnRjcywKIAkJCQkgICAgICAgJnRlZ3JhX3ByaW1hcnlfcGxhbmVfZnVuY3MsIGZvcm1h dHMsCi0JCQkJICAgICAgIG51bV9mb3JtYXRzLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAotCQkJ CSAgICAgICBOVUxMKTsKKwkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIE5VTEwsCisJCQkJICAgICAg IERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChlcnIgPCAwKSB7CiAJCWtmcmVl KHBsYW5lKTsKIAkJcmV0dXJuIEVSUl9QVFIoZXJyKTsKQEAgLTgyMSw4ICs4MjEsOCBAQCBzdGF0 aWMgc3RydWN0IGRybV9wbGFuZSAqdGVncmFfZGNfY3Vyc29yX3BsYW5lX2NyZWF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtLAogCiAJZXJyID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRybSwg JnBsYW5lLT5iYXNlLCAxIDw8IGRjLT5waXBlLAogCQkJCSAgICAgICAmdGVncmFfY3Vyc29yX3Bs YW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJCSAgICAgICBudW1fZm9ybWF0cywgRFJNX1BMQU5FX1RZ UEVfQ1VSU09SLAotCQkJCSAgICAgICBOVUxMKTsKKwkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIE5V TEwsCisJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7CiAJaWYgKGVyciA8 IDApIHsKIAkJa2ZyZWUocGxhbmUpOwogCQlyZXR1cm4gRVJSX1BUUihlcnIpOwpAQCAtODgzLDgg Kzg4Myw4IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICp0ZWdyYV9kY19vdmVybGF5X3BsYW5l X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAogCiAJZXJyID0gZHJtX3VuaXZlcnNhbF9w bGFuZV9pbml0KGRybSwgJnBsYW5lLT5iYXNlLCAxIDw8IGRjLT5waXBlLAogCQkJCSAgICAgICAm dGVncmFfb3ZlcmxheV9wbGFuZV9mdW5jcywgZm9ybWF0cywKLQkJCQkgICAgICAgbnVtX2Zvcm1h dHMsIERSTV9QTEFORV9UWVBFX09WRVJMQVksCi0JCQkJICAgICAgIE5VTEwpOworCQkJCSAgICAg ICBudW1fZm9ybWF0cywgTlVMTCwKKwkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwg TlVMTCk7CiAJaWYgKGVyciA8IDApIHsKIAkJa2ZyZWUocGxhbmUpOwogCQlyZXR1cm4gRVJSX1BU UihlcnIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYyBiL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKaW5kZXggMTEwZDE1MThmNWQ1Li40ODdiYjQw ZTBlNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYwpAQCAtODYxLDcgKzg2MSw3IEBAIHN0cnVj dCBkcm1fcGxhbmUgKnZjNF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0 ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIDB4ZmYsCiAJCQkJICAgICAg ICZ2YzRfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGZvcm1hdHMsIG51bV9mb3JtYXRzLAotCQkJ CSAgICAgICB0eXBlLCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAKIAlk cm1fcGxhbmVfaGVscGVyX2FkZChwbGFuZSwgJnZjNF9wbGFuZV9oZWxwZXJfZnVuY3MpOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYyBiL2RyaXZl cnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9wbGFuZS5jCmluZGV4IDExMjg4ZmZhNGFmNi4uMDBm MzY4Y2RlMGI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxh bmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYwpAQCAtMjI1 LDcgKzIyNSw3IEBAIHN0cnVjdCBkcm1fcGxhbmUgKnZpcnRpb19ncHVfcGxhbmVfaW5pdChzdHJ1 Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVf aW5pdChkZXYsIHBsYW5lLCAxIDw8IGluZGV4LAogCQkJCSAgICAgICAmdmlydGlvX2dwdV9wbGFu ZV9mdW5jcywKIAkJCQkgICAgICAgZm9ybWF0cywgbmZvcm1hdHMsCi0JCQkJICAgICAgIHR5cGUs IE5VTEwpOworCQkJCSAgICAgICBOVUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAocmV0KQogCQlnb3Rv IGVycl9wbGFuZV9pbml0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3Bs YW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMKaW5kZXggYjYzNGIwOTBjZGMx Li5jNTdkNGZlNWRhMTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUu YworKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMKQEAgLTI4Nyw3ICsyODcsNyBA QCBzdHJ1Y3QgZHJtX3BsYW5lICp6eF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0s IHN0cnVjdCBkZXZpY2UgKmRldiwKIAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChk cm0sIHBsYW5lLCBWT1VfQ1JUQ19NQVNLLAogCQkJCSAgICAgICAmenhfcGxhbmVfZnVuY3MsIGZv cm1hdHMsIGZvcm1hdF9jb3VudCwKLQkJCQkgICAgICAgdHlwZSwgTlVMTCk7CisJCQkJICAgICAg IE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0RFVl9FUlJPUihkZXYsICJm YWlsZWQgdG8gaW5pdCB1bml2ZXJzYWwgcGxhbmU6ICVkXG4iLCByZXQpOwogCQlyZXR1cm4gRVJS X1BUUihyZXQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggYi9pbmNsdWRl L2RybS9kcm1fcGxhbmUuaAppbmRleCBlMDQ5YmM1MmZiMDcuLjEwOGE5NTU0MzhlNSAxMDA2NDQK LS0tIGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5l LmgKQEAgLTM4OSw2ICszODksMjAgQEAgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB7CiAJICovCiAJ dm9pZCAoKmF0b21pY19wcmludF9zdGF0ZSkoc3RydWN0IGRybV9wcmludGVyICpwLAogCQkJCSAg IGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKTsKKworCS8qKgorCSAqIEBmb3Jt YXRfbW9kX3N1cHBvcnRlZDoKKwkgKgorCSAqIFRoaXMgb3B0aW9uYWwgaG9vayBpcyB1c2VkIGZv ciB0aGUgRFJNIHRvIGRldGVybWluZSBpZiB0aGUgZ2l2ZW4KKwkgKiBmb3JtYXQvbW9kaWZpZXIg Y29tYmluYXRpb24gaXMgdmFsaWQgZm9yIHRoZSBwbGFuZS4gVGhpcyBhbGxvd3MgdGhlCisJICog RFJNIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IGZvcm1hdCBiaXRtYXNrICh3aGljaCBmb3JtYXRz IGFwcGx5IHRvCisJICogd2hpY2ggbW9kaWZpZXIpLgorCSAqCisJICogVHJ1ZSBpZiB0aGUgZ2l2 ZW4gbW9kaWZpZXIgaXMgdmFsaWQgZm9yIHRoYXQgZm9ybWF0IG9uIHRoZSBwbGFuZS4KKwkgKiBG YWxzZSBvdGhlcndpc2UuCisJICovCisJYm9vbCAoKmZvcm1hdF9tb2Rfc3VwcG9ydGVkKShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwgdWludDMyX3QgZm9ybWF0LAorCQkJCSAgICAgdWludDY0X3Qg bW9kaWZpZXIpOwogfTsKIAogLyoqCkBAIC00ODMsNiArNDk3LDEwIEBAIHN0cnVjdCBkcm1fcGxh bmUgewogCXVuc2lnbmVkIGludCBmb3JtYXRfY291bnQ7CiAJYm9vbCBmb3JtYXRfZGVmYXVsdDsK IAorCXVpbnQzMl90ICpmb3JtYXRzOworCXVpbnQ2NF90ICptb2RpZmllcnM7CisJdW5zaWduZWQg aW50IG1vZGlmaWVyX2NvdW50OworCiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiOwogCkBAIC01MTAsMTMgKzUyOCwxNCBAQCBzdHJ1Y3QgZHJtX3Bs YW5lIHsKIAogI2RlZmluZSBvYmpfdG9fcGxhbmUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBk cm1fcGxhbmUsIGJhc2UpCiAKLWV4dGVybiBfX3ByaW50Zig4LCA5KQorZXh0ZXJuIF9fcHJpbnRm KDksIDEwKQogaW50IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCQkJICAgICBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAgICAgdWludDMyX3Qg cG9zc2libGVfY3J0Y3MsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgKmZ1 bmNzLAogCQkJICAgICBjb25zdCB1aW50MzJfdCAqZm9ybWF0cywKIAkJCSAgICAgdW5zaWduZWQg aW50IGZvcm1hdF9jb3VudCwKKwkJCSAgICAgY29uc3QgdWludDY0X3QgKmZvcm1hdF9tb2RpZmll cnMsCiAJCQkgICAgIGVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZSwKIAkJCSAgICAgY29uc3QgY2hh ciAqbmFtZSwgLi4uKTsKIGV4dGVybiBpbnQgZHJtX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5o IGIvaW5jbHVkZS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmgKaW5kZXggZmU4YzRiYTkwNWFj Li4wNTljZDU5MmExMjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hl bHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCkBAIC0xMTgs NiArMTE4LDcgQEAgaW50IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCXN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJ CWNvbnN0IHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCiAJCQlj b25zdCB1aW50MzJfdCAqZm9ybWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCWNv bnN0IHVpbnQ2NF90ICpmb3JtYXRfbW9kaWZpZXJzLAogCQkJc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3Rvcik7CiAKICNlbmRpZiAvKiBfX0xJTlVYX0RSTV9TSU1QTEVfS01TX0hFTFBFUl9I ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybS5oIGIvaW5jbHVkZS91YXBpL2Ry bS9kcm0uaAppbmRleCBiMmM1Mjg0M2JjNzAuLjQ4N2UwZjE3MTEzZiAxMDA2NDQKLS0tIGEvaW5j bHVkZS91YXBpL2RybS9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCkBAIC04MDUs NiArODA1LDcgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0RFU1RST1lf RFVNQiAgICBEUk1fSU9XUigweEI0LCBzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9kdW1iKQogI2Rl ZmluZSBEUk1fSU9DVExfTU9ERV9HRVRQTEFORVJFU09VUkNFUyBEUk1fSU9XUigweEI1LCBzdHJ1 Y3QgZHJtX21vZGVfZ2V0X3BsYW5lX3JlcykKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VUUExB TkUJRFJNX0lPV1IoMHhCNiwgc3RydWN0IGRybV9tb2RlX2dldF9wbGFuZSkKKyNkZWZpbmUgRFJN X0lPQ1RMX01PREVfR0VUUExBTkUyCURSTV9JT1dSKDB4QjYsIHN0cnVjdCBkcm1fbW9kZV9nZXRf cGxhbmUyKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9TRVRQTEFORQlEUk1fSU9XUigweEI3LCBz dHJ1Y3QgZHJtX21vZGVfc2V0X3BsYW5lKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9BRERGQjIJ CURSTV9JT1dSKDB4QjgsIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyKQogI2RlZmluZSBEUk1fSU9D VExfTU9ERV9PQkpfR0VUUFJPUEVSVElFUwlEUk1fSU9XUigweEI5LCBzdHJ1Y3QgZHJtX21vZGVf b2JqX2dldF9wcm9wZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm1fZm91 cmNjLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaAppbmRleCA0NTgxZTNkNDFlNWMu LjU4NTkwMTRkOTNjNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmgK KysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmgKQEAgLTE2Miw2ICsxNjIsOCBAQCBl eHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfVkVORE9SX1FDT00gICAgMHgwNQog LyogYWRkIG1vcmUgdG8gdGhlIGVuZCBhcyBuZWVkZWQgKi8KIAorI2RlZmluZSBEUk1fRk9STUFU X1JFU0VSVkVECSAgICAgICgoMVVMTCA8PCA1NikgLSAxKQorCiAjZGVmaW5lIGZvdXJjY19tb2Rf Y29kZSh2ZW5kb3IsIHZhbCkgXAogCSgoKChfX3U2NClEUk1fRk9STUFUX01PRF9WRU5ET1JfIyMg dmVuZG9yKSA8PCA1NikgfCAodmFsICYgMHgwMGZmZmZmZmZmZmZmZmZmVUxMKSkKIApAQCAtMTc0 LDYgKzE3NiwxNSBAQCBleHRlcm4gIkMiIHsKICAqLwogCiAvKgorICogSW52YWxpZCBNb2RpZmll cgorICoKKyAqIFRoaXMgbW9kaWZpZXIgY2FuIGJlIHVzZWQgYXMgYSBzZW50aW5lbCB0byB0ZXJt aW5hdGUgbGlzdCwgb3IgdG8gaW5pdGlhbGl6ZSBhCisgKiB2YXJpYWJsZSB3aXRoIGFuIGludmFs aWQgbW9kaWZpZXIuIEl0IG1pZ2h0IGFsc28gYmUgdXNlZCB0byByZXBvcnQgYW4gZXJyb3IKKyAq IGJhY2sgdG8gdXNlcnNwYWNlIGZvciBjZXJ0YWluIEFQSXMuCisgKi8KKyNkZWZpbmUgRFJNX0ZP Uk1BVF9NT0RfSU5WQUxJRAlmb3VyY2NfbW9kX2NvZGUoTk9ORSwgRFJNX0ZPUk1BVF9SRVNFUlZF RCkKKworLyoKICAqIExpbmVhciBMYXlvdXQKICAqCiAgKiBKdXN0IHBsYWluIGxpbmVhciBsYXlv dXQuIE5vdGUgdGhhdCB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIG5vIHNwZWNpZnlpbmcgYW55CmRp ZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJt L2RybV9tb2RlLmgKaW5kZXggY2U3ZWZlMmU4YTVlLi5mMDllYWRhNzRlYzEgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9t b2RlLmgKQEAgLTIwOSw2ICsyMDksNTAgQEAgc3RydWN0IGRybV9tb2RlX2dldF9wbGFuZSB7CiAJ X191NjQgZm9ybWF0X3R5cGVfcHRyOwogfTsKIAorc3RydWN0IGRybV9mb3JtYXRfbW9kaWZpZXIg eworCS8qIEJpdG1hc2sgb2YgZm9ybWF0cyBpbiBnZXRfcGxhbmUgZm9ybWF0IGxpc3QgdGhpcyBp bmZvIGFwcGxpZXMgdG8uIFRoZQorCSAqIG9mZnNldCBhbGxvd3MgYSBzbGlkaW5nIHdpbmRvdyBv ZiB3aGljaCA2NCBmb3JtYXRzIChiaXRzKS4KKwkgKgorCSAqIFNvbWUgZXhhbXBsZXM6CisJICog SW4gdG9kYXkncyB3b3JsZCB3aXRoIDwgNjUgZm9ybWF0cywgYW5kIGZvcm1hdHMgMCwgYW5kIDIg YXJlCisJICogc3VwcG9ydGVkCisJICogMHgwMDAwMDAwMDAwMDAwMDA1CisJICogICAgICAgICAg ICAgICAgICBeLW9mZnNldCA9IDAsIGZvcm1hdHMgPSA1CisJICoKKwkgKiBJZiB0aGUgbnVtYmVy IGZvcm1hdHMgZ3JldyB0byAxMjgsIGFuZCBmb3JtYXRzIDk4LTEwMiBhcmUKKwkgKiBzdXBwb3J0 ZWQgd2l0aCB0aGUgbW9kaWZpZXI6CisJICoKKwkgKiAweDAwMDAwMDNjMDAwMDAwMDAgMDAwMDAw MDAwMDAwMDAwMAorCSAqICAgICAgICAgICAgICAgICAgXgorCSAqICAgICAgICAgICAgICAgICAg fF9fb2Zmc2V0ID0gNjQsIGZvcm1hdHMgPSAweDNjMDAwMDAwMDAKKwkgKgorCSAqLworCXVpbnQ2 NF90IGZvcm1hdHM7CisJdWludDMyX3Qgb2Zmc2V0OworCXVpbnQzMl90IHBhZDsKKworCS8qIFRo aXMgbW9kaWZpZXIgY2FuIGJlIHVzZWQgd2l0aCB0aGUgZm9ybWF0IGZvciB0aGlzIHBsYW5lLiAq LworCXVpbnQ2NF90IG1vZGlmaWVyOworfTsKKworc3RydWN0IGRybV9tb2RlX2dldF9wbGFuZTIg eworCV9fdTMyIHBsYW5lX2lkOworCisJX191MzIgY3J0Y19pZDsKKwlfX3UzMiBmYl9pZDsKKwor CV9fdTMyIHBvc3NpYmxlX2NydGNzOworCV9fdTMyIGdhbW1hX3NpemU7CisKKwlfX3UzMiBjb3Vu dF9mb3JtYXRfdHlwZXM7CisJX191NjQgZm9ybWF0X3R5cGVfcHRyOworCisJLyogTmV3IGluIHYy ICovCisJX191MzIgZmxhZ3M7CisJX191MzIgY291bnRfZm9ybWF0X21vZGlmaWVyczsKKwlfX3U2 NCBmb3JtYXRfbW9kaWZpZXJfcHRyOworfTsKKwogc3RydWN0IGRybV9tb2RlX2dldF9wbGFuZV9y ZXMgewogCV9fdTY0IHBsYW5lX2lkX3B0cjsKIAlfX3UzMiBjb3VudF9wbGFuZXM7Ci0tIAoyLjEx LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=