From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 1/3] drm: Add new DRM_IOCTL_MODE_GETPLANE2 Date: Wed, 11 Jan 2017 16:51:16 -0800 Message-ID: <20170112005118.19146-2-ben@bwidawsk.net> References: <20170112005118.19146-1-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170112005118.19146-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: Intel GFX , DRI Development Cc: Ben Widawsky List-Id: dri-devel@lists.freedesktop.org T3JpZ2luYWxseSBiYXNlZCBvZmYgb2YgYSBwYXRjaCBieSBLcmlzdGlhbi4KClRoaXMgbmV3IGlv Y3RsIGV4dGVuZHMgRFJNX0lPQ1RMX01PREVfR0VUUExBTkUsIGJ5IHJldHVybmluZyBpbmZvcm1h dGlvbgphYm91dCB0aGUgbW9kaWZpZXJzIHRoYXQgd2lsbCB3b3JrIHdpdGggZWFjaCBmb3JtYXQu CgpJdCdzIG1vZGlmaWVkIGZyb20gS3Jpc3RpYW4ncyBwYXRjaCBpbiB0aGF0IHRoZSBtb2RpZmll cnMgYW5kIGZvcm1hdHMKYXJlIHNldHVwIGJ5IHRoZSBkcml2ZXIsIGFuZCB0aGVuIGEgY2FsbGJh Y2sgaXMgdXNlZCB0byBjcmVhdGUgdGhlCmZvcm1hdCBsaXN0LiBUaGUgTE9DIHdhcyBlbm91Z2gg ZGlmZmVyZW5jZSB0aGF0IEkgZG9uJ3QgdGhpbmsgaXQgbWFkZQpzZW5zZSB0byBsZWF2ZSBoaXMg YXV0aG9yc2hpcCwgYnV0IHRoZSBuZXcgVUFCSSB3YXMgcHJpbWFyaWx5IGhpcyBpZGVhLgoKQWRk aXRpb25hbGx5LCBJIGhpdCBhIGNvdXBsZSBvZiBkcml2ZXJzIHdoaWNoIEtyaXN0aWFuIG1pc3Nl ZCB1cGRhdGluZy4KCkl0IGFsc28gY29udGFpbnMgYSBjaGFuZ2UgcmVxdWVzdGVkIGJ5IERhbmll bCB0byBtYWtlIHRoZSBtb2RpZmllcnMKYXJyYXkgYSBzZW50aW5lbCBiYXNlZCBzdHJ1Y3R1cmUg aW5zdGVhZCBvZiBhIHNpemVkIG9uZS4gVXBvbiBkaXNjdXNzaW9uCm9uIElSQywgaXQgd2FzIGRl dGVybWluZWQgdGhhdCBoYXZpbmcgYW4gaW52YWxpZCBtb2RpZmllciBtaWdodCBtYWtlCnNlbnNl IGluIGdlbmVyYWwgYXMgd2VsbC4KClJlZmVyZW5jZXM6IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5l bC5vcmcvcGF0Y2gvOTQ4MjM5My8KU2lnbmVkLW9mZi1ieTogQmVuIFdpZGF3c2t5IDxiZW5AYndp ZGF3c2submV0PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYyAgICAgICAg ICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMgICAgICAgICAg ICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYyAgICAgICAg ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMgICAgICAg ICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYyAgICAg ICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5l LmMgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jICAgICAgICAg ICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMgICAgICAgICAgICAgICAgICAg ICB8IDY3ICsrKysrKysrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fc2lt cGxlX2ttc19oZWxwZXIuYyAgICAgICAgIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zX2RybV9wbGFuZS5jICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9mc2wtZGN1 L2ZzbF9kY3VfZHJtX3BsYW5lLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9oaXNpbGlj b24vaGlibWMvaGlibWNfZHJtX2RlLmMgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNv bi9raXJpbi9raXJpbl9kcm1fYWRlLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jICAgICAgICAgICAgfCAgNyArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jICAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pbXgvaXB1 djMtcGxhbmUuYyAgICAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX3BsYW5lLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZXNvbi9t ZXNvbl9wbGFuZS5jICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAv bWRwNC9tZHA0X3BsYW5lLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAv bWRwNS9tZHA1X3BsYW5lLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL214c2ZiL214 c2ZiX2Rydi5jICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv bnY1MF9kaXNwbGF5LmMgICAgICAgICAgfCAgNSArLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9wbGFuZS5jICAgICAgICAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUv cmNhcl9kdV9wbGFuZS5jICAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUv cmNhcl9kdV92c3AuYyAgICAgICAgICAgfCAgNSArLQogZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV92b3AuYyAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlf Y3Vyc29yLmMgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9n ZHAuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9o cXZkcC5jICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3Vu NGlfbGF5ZXIuYyAgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5j ICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKystLS0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0 X3BsYW5lLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8v dmlydGdwdV9wbGFuZS5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS96dGUvenhf cGxhbmUuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvZHJtL2RybV9wbGFuZS5o ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKy0KIGluY2x1ZGUvZHJtL2RybV9z aW1wbGVfa21zX2hlbHBlci5oICAgICAgICAgICAgIHwgIDEgKwogaW5jbHVkZS91YXBpL2RybS9k cm0uaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBpbmNsdWRlL3VhcGkvZHJtL2Ry bV9mb3VyY2MuaCAgICAgICAgICAgICAgICAgICB8IDExICsrKysKIGluY2x1ZGUvdWFwaS9kcm0v ZHJtX21vZGUuaCAgICAgICAgICAgICAgICAgICAgIHwgMjcgKysrKysrKysrKwogNDAgZmlsZXMg Y2hhbmdlZCwgMTgyIGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcmMv YXJjcGd1X2NydGMuYwppbmRleCBhZDlhOTU5MTZmMWYuLmNkOGEyNGM3YzY3ZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FyYy9hcmNwZ3VfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hcmMvYXJjcGd1X2NydGMuYwpAQCAtMjE4LDYgKzIxOCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJt X3BsYW5lICphcmNfcGd1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKIAogCXJl dCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sIHBsYW5lLCAweGZmLCAmYXJjX3BndV9w bGFuZV9mdW5jcywKIAkJCQkgICAgICAgZm9ybWF0cywgQVJSQVlfU0laRShmb3JtYXRzKSwKKwkJ CQkgICAgICAgTlVMTCwKIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7 CiAJaWYgKHJldCkKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRj LmMKaW5kZXggMjBlYmZiNGZiZGZhLi44OWZkZWQ4ODA4MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2Rf Y3J0Yy5jCkBAIC0yODMsNiArMjgzLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmhkbGNk X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKIAogCXJldCA9IGRybV91bml2ZXJz YWxfcGxhbmVfaW5pdChkcm0sIHBsYW5lLCAweGZmLCAmaGRsY2RfcGxhbmVfZnVuY3MsCiAJCQkJ ICAgICAgIGZvcm1hdHMsIEFSUkFZX1NJWkUoZm9ybWF0cyksCisJCQkJICAgICAgIE5VTEwsCiAJ CQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJ ZGV2bV9rZnJlZShkcm0tPmRldiwgcGxhbmUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FybS9tYWxpZHBfcGxhbmVzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMu YwppbmRleCBlZmYyZmU0N2UyNmEuLjk0ZGJjYmM5YWQ4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxp ZHBfcGxhbmVzLmMKQEAgLTI4Myw3ICsyODMsNyBAQCBpbnQgbWFsaWRwX2RlX3BsYW5lc19pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCiAJCQkJCURSTV9QTEFORV9UWVBFX09WRVJMQVk7CiAJ CXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+YmFzZSwgY3J0Y3Ms CiAJCQkJCSAgICAgICAmbWFsaWRwX2RlX3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJCQkgICAg ICAgbiwgcGxhbmVfdHlwZSwgTlVMTCk7CisJCQkJCSAgICAgICBuLCBOVUxMLCBwbGFuZV90eXBl LCBOVUxMKTsKIAkJaWYgKHJldCA8IDApCiAJCQlnb3RvIGNsZWFudXA7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9h cm1hZGEvYXJtYWRhX2NydGMuYwppbmRleCBlNjJlZTQ0OThjZTQuLjM5MzMwMTQ1YmEyYSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYwpAQCAtMTI1MCw2ICsxMjUwLDcgQEAgc3Rh dGljIGludCBhcm1hZGFfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0 cnVjdCBkZXZpY2UgKmRldiwKIAkJCQkgICAgICAgJmFybWFkYV9wcmltYXJ5X3BsYW5lX2Z1bmNz LAogCQkJCSAgICAgICBhcm1hZGFfcHJpbWFyeV9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9T SVpFKGFybWFkYV9wcmltYXJ5X2Zvcm1hdHMpLAorCQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAg ICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCWtmcmVlKHBy aW1hcnkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3Zlcmxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jCmluZGV4IDM0Y2I3 M2QwZGI3Ny4uNmExY2E4YWE4ZTE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRh L2FybWFkYV9vdmVybGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3Zl cmxheS5jCkBAIC00NTgsNiArNDU4LDcgQEAgaW50IGFybWFkYV9vdmVybGF5X3BsYW5lX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGNydGNzKQogCQkJCSAgICAg ICAmYXJtYWRhX292bF9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgYXJtYWRhX292bF9mb3JtYXRz LAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGFybWFkYV9vdmxfZm9ybWF0cyksCisJCQkJICAgICAg IE5VTEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX09WRVJMQVksIE5VTEwpOwogCWlmIChy ZXQpIHsKIAkJa2ZyZWUoZHBsYW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hdG1l bC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2Rj L2F0bWVsX2hsY2RjX3BsYW5lLmMKaW5kZXggYmQyNzkxYzRiMDAyLi5mMTJjZWMwYmM1OGMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jCkBA IC0xMDM4LDcgKzEwMzgsOSBAQCBhdG1lbF9obGNkY19wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmcGxhbmUt PmJhc2UsIDAsCiAJCQkJICAgICAgICZsYXllcl9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgZGVz Yy0+Zm9ybWF0cy0+Zm9ybWF0cywKLQkJCQkgICAgICAgZGVzYy0+Zm9ybWF0cy0+bmZvcm1hdHMs IHR5cGUsIE5VTEwpOworCQkJCSAgICAgICBkZXNjLT5mb3JtYXRzLT5uZm9ybWF0cywKKwkJCQkg ICAgICAgTlVMTCwKKwkJCQkgICAgICAgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJcmV0dXJu IEVSUl9QVFIocmV0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCmluZGV4IGE3YzYxYzIzNjg1YS4uYzgyMGQ5 OWQ5MjMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCkBAIC02MTQsNyArNjE0LDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBkcm1faW9jdGxzW10gPSB7CiAJRFJNX0lPQ1RMX0RFRihE Uk1fSU9DVExfTU9ERV9HRVRQTEFORVJFU09VUkNFUywgZHJtX21vZGVfZ2V0cGxhbmVfcmVzLCBE Uk1fQ09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQpLAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RM X01PREVfR0VUQ1JUQywgZHJtX21vZGVfZ2V0Y3J0YywgRFJNX0NPTlRST0xfQUxMT1d8RFJNX1VO TE9DS0VEKSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX1NFVENSVEMsIGRybV9tb2Rl X3NldGNydGMsIERSTV9NQVNURVJ8RFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKLQlE Uk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVFBMQU5FLCBkcm1fbW9kZV9nZXRwbGFuZSwg RFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NU TF9NT0RFX0dFVFBMQU5FMiwgZHJtX21vZGVfZ2V0cGxhbmUsIERSTV9DT05UUk9MX0FMTE9XfERS TV9VTkxPQ0tFRCksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9TRVRQTEFORSwgZHJt X21vZGVfc2V0cGxhbmUsIERSTV9NQVNURVJ8RFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VE KSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0NVUlNPUiwgZHJtX21vZGVfY3Vyc29y X2lvY3RsLCBEUk1fTUFTVEVSfERSTV9DT05UUk9MX0FMTE9XfERSTV9VTkxPQ0tFRCksCiAJRFJN X0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRHQU1NQSwgZHJtX21vZGVfZ2FtbWFfZ2V0X2lv Y3RsLCBEUk1fVU5MT0NLRUQpLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rl c2V0X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCmluZGV4 IDJiMzM4MjVmMmY5My4uOWNiMWVlZGUwYjRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX21vZGVzZXRfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hl bHBlci5jCkBAIC0xMjQsNiArMTI0LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmNyZWF0 ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkJICAgICAgICZkcm1f cHJpbWFyeV9oZWxwZXJfZnVuY3MsCiAJCQkJICAgICAgIHNhZmVfbW9kZXNldF9mb3JtYXRzLAog CQkJCSAgICAgICBBUlJBWV9TSVpFKHNhZmVfbW9kZXNldF9mb3JtYXRzKSwKKwkJCQkgICAgICAg TlVMTCwKIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJl dCkgewogCQlrZnJlZShwcmltYXJ5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f cGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwppbmRleCA3YjcyNzVmMGMyZGYu LjJkNGZhZDVkYjhlZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwpAQCAtNzAsNiArNzAsNyBAQCBzdGF0aWMg dW5zaWduZWQgaW50IGRybV9udW1fcGxhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAgKiBA ZnVuY3M6IGNhbGxiYWNrcyBmb3IgdGhlIG5ldyBwbGFuZQogICogQGZvcm1hdHM6IGFycmF5IG9m IHN1cHBvcnRlZCBmb3JtYXRzIChEUk1fRk9STUFUXF9cKikKICAqIEBmb3JtYXRfY291bnQ6IG51 bWJlciBvZiBlbGVtZW50cyBpbiBAZm9ybWF0cworICogQGZvcm1hdF9tb2RpZmllcnM6IGFycmF5 IG9mIHN0cnVjdCBkcm1fZm9ybWF0IG1vZGlmaWVycyB0ZXJtaW5hdGVkIGJ5IElOVkFMSUQKICAq IEB0eXBlOiB0eXBlIG9mIHBsYW5lIChvdmVybGF5LCBwcmltYXJ5LCBjdXJzb3IpCiAgKiBAbmFt ZTogcHJpbnRmIHN0eWxlIGZvcm1hdCBzdHJpbmcgZm9yIHRoZSBwbGFuZSBuYW1lLCBvciBOVUxM IGZvciBkZWZhdWx0IG5hbWUKICAqCkBAIC04MiwxMCArODMsMTIgQEAgaW50IGRybV91bml2ZXJz YWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKIAkJCSAgICAgdWludDMyX3QgcG9zc2libGVfY3J0Y3MsCiAJCQkgICAgIGNvbnN0IHN0 cnVjdCBkcm1fcGxhbmVfZnVuY3MgKmZ1bmNzLAogCQkJICAgICBjb25zdCB1aW50MzJfdCAqZm9y bWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCSAgICAgY29uc3QgdWludDY0X3Qg KmZvcm1hdF9tb2RpZmllcnMsCiAJCQkgICAgIGVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZSwKIAkJ CSAgICAgY29uc3QgY2hhciAqbmFtZSwgLi4uKQogewogCXN0cnVjdCBkcm1fbW9kZV9jb25maWcg KmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOworCXVuc2lnbmVkIGludCBmb3JtYXRfbW9kaWZp ZXJfY291bnQgPSAwOwogCWludCByZXQ7CiAKIAlyZXQgPSBkcm1fbW9kZV9vYmplY3RfZ2V0KGRl diwgJnBsYW5lLT5iYXNlLCBEUk1fTU9ERV9PQkpFQ1RfUExBTkUpOwpAQCAtMTA1LDYgKzEwOCwy OCBAQCBpbnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKKwlpZiAo Zm9ybWF0X21vZGlmaWVycykgeworCQljb25zdCB1aW50NjRfdCAqdGVtcF9tb2RpZmllcnMgPSBm b3JtYXRfbW9kaWZpZXJzOworCQl3aGlsZSAoKnRlbXBfbW9kaWZpZXJzKysgIT0gRFJNX0ZPUk1B VF9NT0RfSU5WQUxJRCkKKwkJCWZvcm1hdF9tb2RpZmllcl9jb3VudCsrOworCX0KKworCWlmIChm b3JtYXRfbW9kaWZpZXJfY291bnQpCisJCURSTV9ERUJVR19LTVMoIiVkIGZvcm1hdCBtb2RpZmll cnMgYWRkZWQgdG8gbGlzdFxuIiwKKwkJCSAgICAgIGZvcm1hdF9tb2RpZmllcl9jb3VudCk7CisK KwlwbGFuZS0+bW9kaWZpZXJfY291bnQgPSBmb3JtYXRfbW9kaWZpZXJfY291bnQ7CisJcGxhbmUt Pm1vZGlmaWVycyA9IGttYWxsb2NfYXJyYXkoZm9ybWF0X21vZGlmaWVyX2NvdW50LAorCQkJCQkg c2l6ZW9mKGZvcm1hdF9tb2RpZmllcnNbMF0pLAorCQkJCQkgR0ZQX0tFUk5FTCk7CisKKwlpZiAo Zm9ybWF0X21vZGlmaWVyX2NvdW50ICYmICFwbGFuZS0+bW9kaWZpZXJzKSB7CisJCURSTV9ERUJV R19LTVMoIm91dCBvZiBtZW1vcnkgd2hlbiBhbGxvY2F0aW5nIHBsYW5lXG4iKTsKKwkJa2ZyZWUo cGxhbmUtPmZvcm1hdF90eXBlcyk7CisJCWRybV9tb2RlX29iamVjdF91bnJlZ2lzdGVyKGRldiwg JnBsYW5lLT5iYXNlKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCiAJaWYgKG5hbWUpIHsKIAkJ dmFfbGlzdCBhcDsKIApAQCAtMTE3LDEyICsxNDIsMTUgQEAgaW50IGRybV91bml2ZXJzYWxfcGxh bmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IAl9CiAJaWYgKCFwbGFuZS0+bmFtZSkgewogCQlrZnJlZShwbGFuZS0+Zm9ybWF0X3R5cGVzKTsK KwkJa2ZyZWUocGxhbmUtPm1vZGlmaWVycyk7CiAJCWRybV9tb2RlX29iamVjdF91bnJlZ2lzdGVy KGRldiwgJnBsYW5lLT5iYXNlKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCiAJbWVtY3B5KHBs YW5lLT5mb3JtYXRfdHlwZXMsIGZvcm1hdHMsIGZvcm1hdF9jb3VudCAqIHNpemVvZih1aW50MzJf dCkpOwogCXBsYW5lLT5mb3JtYXRfY291bnQgPSBmb3JtYXRfY291bnQ7CisJbWVtY3B5KHBsYW5l LT5tb2RpZmllcnMsIGZvcm1hdF9tb2RpZmllcnMsCisJICAgICAgIGZvcm1hdF9tb2RpZmllcl9j b3VudCAqIHNpemVvZihmb3JtYXRfbW9kaWZpZXJzWzBdKSk7CiAJcGxhbmUtPnBvc3NpYmxlX2Ny dGNzID0gcG9zc2libGVfY3J0Y3M7CiAJcGxhbmUtPnR5cGUgPSB0eXBlOwogCkBAIC0yMDUsNyAr MjMzLDggQEAgaW50IGRybV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogCiAJdHlwZSA9IGlzX3ByaW1hcnkgPyBEUk1fUExBTkVfVFlQ RV9QUklNQVJZIDogRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKIAlyZXR1cm4gZHJtX3VuaXZlcnNh bF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIHBvc3NpYmxlX2NydGNzLCBmdW5jcywKLQkJCQkJZm9y bWF0cywgZm9ybWF0X2NvdW50LCB0eXBlLCBOVUxMKTsKKwkJCQkJZm9ybWF0cywgZm9ybWF0X2Nv dW50LAorCQkJCQlOVUxMLCB0eXBlLCBOVUxMKTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3BsYW5l X2luaXQpOwogCkBAIC0yMjQsNiArMjUzLDcgQEAgdm9pZCBkcm1fcGxhbmVfY2xlYW51cChzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAlkcm1fbW9kZXNldF9sb2NrX2ZpbmkoJnBsYW5lLT5tdXRl eCk7CiAKIAlrZnJlZShwbGFuZS0+Zm9ybWF0X3R5cGVzKTsKKwlrZnJlZShwbGFuZS0+bW9kaWZp ZXJzKTsKIAlkcm1fbW9kZV9vYmplY3RfdW5yZWdpc3RlcihkZXYsICZwbGFuZS0+YmFzZSk7CiAK IAlCVUdfT04obGlzdF9lbXB0eSgmcGxhbmUtPmhlYWQpKTsKQEAgLTM4MCwxMiArNDEwLDE1IEBA IGludCBkcm1fbW9kZV9nZXRwbGFuZV9yZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIGludCBkcm1fbW9kZV9nZXRwbGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAogCQkgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKIHsKLQlzdHJ1Y3Qg ZHJtX21vZGVfZ2V0X3BsYW5lICpwbGFuZV9yZXNwID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX21vZGVf Z2V0X3BsYW5lMiAqcGxhbmVfcmVzcCA9IGRhdGE7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7 CiAJdWludDMyX3QgX191c2VyICpmb3JtYXRfcHRyOworCXN0cnVjdCBkcm1fZm9ybWF0X21vZGlm aWVyIF9fdXNlciAqbW9kaWZpZXJfcHRyOwogCiAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX01PREVTRVQpKQogCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAocGxhbmVfcmVz cC0+ZmxhZ3MpCisJCXJldHVybiAtRUlOVkFMOwogCiAJcGxhbmUgPSBkcm1fcGxhbmVfZmluZChk ZXYsIHBsYW5lX3Jlc3AtPnBsYW5lX2lkKTsKIAlpZiAoIXBsYW5lKQpAQCAtNDI2LDYgKzQ1OSwz NiBAQCBpbnQgZHJtX21vZGVfZ2V0cGxhbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIAl9CiAJcGxhbmVfcmVzcC0+Y291bnRfZm9ybWF0X3R5cGVzID0gcGxhbmUtPmZvcm1h dF9jb3VudDsKIAorCWlmIChwbGFuZS0+bW9kaWZpZXJfY291bnQgJiYKKwkgICAgcGxhbmVfcmVz cC0+Y291bnRfZm9ybWF0X21vZGlmaWVycyA+PSBwbGFuZS0+bW9kaWZpZXJfY291bnQpIHsKKwkJ c3RydWN0IGRybV9mb3JtYXRfbW9kaWZpZXIgbW9kOworCQlpbnQgaTsKKworCQltb2RpZmllcl9w dHIgPSAoc3RydWN0IGRybV9mb3JtYXRfbW9kaWZpZXIgX191c2VyICopCisJCQkodW5zaWduZWQg bG9uZylwbGFuZV9yZXNwLT5mb3JtYXRfbW9kaWZpZXJfcHRyOworCisJCS8qIEJ1aWxkIHRoZSBt YXNrIGZvciBlYWNoIG1vZGlmaWVyICovCisJCWZvciAoaSA9IDA7IGkgPCBwbGFuZS0+bW9kaWZp ZXJfY291bnQ7IGkrKykgeworCQkJaW50IGo7CisJCQltb2QubW9kaWZpZXIgPSBwbGFuZS0+bW9k aWZpZXJzW2ldOworCQkJZm9yIChqID0gMDsgaiA8IHBsYW5lLT5mb3JtYXRfY291bnQ7IGorKykg eworCQkJCWlmIChwbGFuZS0+ZnVuY3MtPmZvcm1hdF9tb2Rfc3VwcG9ydGVkICYmCisJCQkJICAg IHBsYW5lLT5mdW5jcy0+Zm9ybWF0X21vZF9zdXBwb3J0ZWQocGxhbmUsCisJCQkJCQkJCSAgICAg ICBwbGFuZS0+Zm9ybWF0X3R5cGVzW2pdLAorCQkJCQkJCQkgICAgICAgcGxhbmUtPm1vZGlmaWVy c1tpXSkpIHsKKwkJCQkJbW9kLmZvcm1hdHMgfD0gMSA8PCBqOworCQkJCX0KKwkJCX0KKworCQkJ aWYgKGNvcHlfdG9fdXNlcihtb2RpZmllcl9wdHIsICZtb2QsIHNpemVvZihtb2QpKSkKKwkJCQly ZXR1cm4gLUVGQVVMVDsKKworCQkJbW9kaWZpZXJfcHRyKys7CisJCX0KKwl9CisKKwlwbGFuZV9y ZXNwLT5jb3VudF9mb3JtYXRfbW9kaWZpZXJzID0gcGxhbmUtPm1vZGlmaWVyX2NvdW50OworCiAJ cmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2tt c19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwppbmRl eCAzNWM1ZDk5Mjk2YjkuLjA0MDZlNzFiMzhlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9zaW1wbGVfa21zX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxl X2ttc19oZWxwZXIuYwpAQCAtMTkzLDYgKzE5Myw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX3NpbXBs ZV9kaXNwbGF5X3BpcGVfYXR0YWNoX2JyaWRnZSk7CiAgKiBAZnVuY3M6IGNhbGxiYWNrcyBmb3Ig dGhlIGRpc3BsYXkgcGlwZSAob3B0aW9uYWwpCiAgKiBAZm9ybWF0czogYXJyYXkgb2Ygc3VwcG9y dGVkIGZvcm1hdHMgKERSTV9GT1JNQVRcX1wqKQogICogQGZvcm1hdF9jb3VudDogbnVtYmVyIG9m IGVsZW1lbnRzIGluIEBmb3JtYXRzCisgKiBAbW9kaWZpZXJzOiBhcnJheSBvZiBmb3JtYXRzIG1v ZGlmaWVycwogICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGF0dGFjaCBhbmQgcmVnaXN0ZXIg KG9wdGlvbmFsKQogICoKICAqIFNldHMgdXAgYSBkaXNwbGF5IHBpcGVsaW5lIHdoaWNoIGNvbnNp c3Qgb2YgYSByZWFsbHkgc2ltcGxlCkBAIC0yMTMsNiArMjE0LDcgQEAgaW50IGRybV9zaW1wbGVf ZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCXN0cnVjdCBkcm1f c2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCWNvbnN0IHN0cnVjdCBkcm1fc2ltcGxlX2Rp c3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCiAJCQljb25zdCB1aW50MzJfdCAqZm9ybWF0cywgdW5z aWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCWNvbnN0IHVpbnQ2NF90ICpmb3JtYXRfbW9kaWZp ZXJzLAogCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIgPSAmcGlwZS0+ZW5jb2RlcjsKQEAgLTIyNyw2ICsyMjksNyBAQCBp bnQgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAwLAogCQkJCSAgICAg ICAmZHJtX3NpbXBsZV9rbXNfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGZvcm1hdHMsIGZvcm1h dF9jb3VudCwKKwkJCQkgICAgICAgZm9ybWF0X21vZGlmaWVycywKIAkJCQkgICAgICAgRFJNX1BM QU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmMKaW5kZXggYzJmMTdmMzBhZmFiLi43 NWQ0OTI4ZGQxOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Ry bV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5j CkBAIC0yODQsNyArMjg0LDcgQEAgaW50IGV4eW5vc19wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJCQkJICAgICAgICZleHlub3NfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGNv bmZpZy0+cGl4ZWxfZm9ybWF0cywKIAkJCQkgICAgICAgY29uZmlnLT5udW1fcGl4ZWxfZm9ybWF0 cywKLQkJCQkgICAgICAgY29uZmlnLT50eXBlLCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwgY29u ZmlnLT50eXBlLCBOVUxMKTsKIAlpZiAoZXJyKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGlu aXRpYWxpemUgcGxhbmVcbiIpOwogCQlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMKaW5kZXggMGEyMDcyM2FhNmUxLi45NTU0YjI0NTc0NmUg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYwpAQCAtMjI0 LDcgKzIyNCw3IEBAIHN0cnVjdCBkcm1fcGxhbmUgKmZzbF9kY3VfZHJtX3ByaW1hcnlfY3JlYXRl X3BsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkJICAgICAgICZmc2xfZGN1X2RybV9w bGFuZV9mdW5jcywKIAkJCQkgICAgICAgZnNsX2RjdV9kcm1fcGxhbmVfZm9ybWF0cywKIAkJCQkg ICAgICAgQVJSQVlfU0laRShmc2xfZGN1X2RybV9wbGFuZV9mb3JtYXRzKSwKLQkJCQkgICAgICAg RFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIERSTV9QTEFO RV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJa2ZyZWUocHJpbWFyeSk7CiAJ CXByaW1hcnkgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9o aWJtYy9oaWJtY19kcm1fZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGli bWNfZHJtX2RlLmMKaW5kZXggYzY1NTg4M2QzNjEzLi45MTljYzgwNzgwOWYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2RlLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZGUuYwpAQCAtMTgxLDYgKzE4 MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpoaWJtY19wbGFuZV9pbml0KHN0cnVjdCBo aWJtY19kcm1fcHJpdmF0ZSAqcHJpdikKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQo ZGV2LCBwbGFuZSwgMSwgJmhpYm1jX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBjaGFubmVsX2Zv cm1hdHMxLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGNoYW5uZWxfZm9ybWF0czEpLAorCQkJCSAg ICAgICBOVUxMLAogCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAogCQkJCSAgICAg ICBOVUxMKTsKIAlpZiAocmV0KSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxp Y29uL2tpcmluL2tpcmluX2RybV9hZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2ly aW4va2lyaW5fZHJtX2FkZS5jCmluZGV4IDMwN2Q0NjBhYjY4NC4uYjQzM2I4ZTdjOWNkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9hZGUuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9hZGUuYwpAQCAt OTExLDcgKzkxMSw3IEBAIHN0YXRpYyBpbnQgYWRlX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGFkZV9wbGFuZSAqYXBsYW5lLAogCQlyZXR1cm4gcmV0OwogCiAJcmV0 ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJmFwbGFuZS0+YmFzZSwgMSwgJmFkZV9w bGFuZV9mdW5jcywKLQkJCQkgICAgICAgZm10cywgZm10c19jbnQsIHR5cGUsIE5VTEwpOworCQkJ CSAgICAgICBmbXRzLCBmbXRzX2NudCwgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkgewog CQlEUk1fRVJST1IoImZhaWwgdG8gaW5pdCBwbGFuZSwgY2g9JWRcbiIsIGFwbGFuZS0+Y2gpOwog CQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGI1NDcz MzJlZWRhMS4uODcxNWIxMDgzZDFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CkBAIC0xNTMwMyw2ICsxNTMwMyw4IEBAIGludGVsX2xlZ2FjeV9jdXJzb3JfdXBkYXRlKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCQkgICAgICBzcmNfeCwgc3JjX3ksIHNyY193LCBzcmNf aCk7CiB9CiAKKworCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBpbnRlbF9j dXJzb3JfcGxhbmVfZnVuY3MgPSB7CiAJLnVwZGF0ZV9wbGFuZSA9IGludGVsX2xlZ2FjeV9jdXJz b3JfdXBkYXRlLAogCS5kaXNhYmxlX3BsYW5lID0gZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9w bGFuZSwKQEAgLTE1Mzg3LDE4ICsxNTM4OSwyMSBAQCBpbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQogCQly ZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoJmRldl9wcml2LT5kcm0sICZwcmltYXJ5LT5i YXNlLAogCQkJCQkgICAgICAgMCwgJmludGVsX3BsYW5lX2Z1bmNzLAogCQkJCQkgICAgICAgaW50 ZWxfcHJpbWFyeV9mb3JtYXRzLCBudW1fZm9ybWF0cywKKwkJCQkJICAgICAgIE5VTEwsCiAJCQkJ CSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAogCQkJCQkgICAgICAgInBsYW5lIDElYyIs IHBpcGVfbmFtZShwaXBlKSk7CiAJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA1IHx8 IElTX0c0WChkZXZfcHJpdikpCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2 X3ByaXYtPmRybSwgJnByaW1hcnktPmJhc2UsCiAJCQkJCSAgICAgICAwLCAmaW50ZWxfcGxhbmVf ZnVuY3MsCiAJCQkJCSAgICAgICBpbnRlbF9wcmltYXJ5X2Zvcm1hdHMsIG51bV9mb3JtYXRzLAor CQkJCQkgICAgICAgTlVMTCwKIAkJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksCiAJ CQkJCSAgICAgICAicHJpbWFyeSAlYyIsIHBpcGVfbmFtZShwaXBlKSk7CiAJZWxzZQogCQlyZXQg PSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoJmRldl9wcml2LT5kcm0sICZwcmltYXJ5LT5iYXNl LAogCQkJCQkgICAgICAgMCwgJmludGVsX3BsYW5lX2Z1bmNzLAogCQkJCQkgICAgICAgaW50ZWxf cHJpbWFyeV9mb3JtYXRzLCBudW1fZm9ybWF0cywKKwkJCQkJICAgICAgIE5VTEwsCiAJCQkJCSAg ICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAogCQkJCQkgICAgICAgInBsYW5lICVjIiwgcGxh bmVfbmFtZShwcmltYXJ5LT5wbGFuZSkpOwogCWlmIChyZXQpCkBAIC0xNTU2Myw3ICsxNTU2OCw3 IEBAIGludGVsX2N1cnNvcl9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBpcGUgcGlwZSkKIAkJCQkgICAgICAgMCwgJmludGVsX2N1cnNvcl9wbGFu ZV9mdW5jcywKIAkJCQkgICAgICAgaW50ZWxfY3Vyc29yX2Zvcm1hdHMsCiAJCQkJICAgICAgIEFS UkFZX1NJWkUoaW50ZWxfY3Vyc29yX2Zvcm1hdHMpLAotCQkJCSAgICAgICBEUk1fUExBTkVfVFlQ RV9DVVJTT1IsCisJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX0NVUlNPUiwKIAkJCQkg ICAgICAgImN1cnNvciAlYyIsIHBpcGVfbmFtZShwaXBlKSk7CiAJaWYgKHJldCkKIAkJZ290byBm YWlsOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCAwNjNhOTk0ODE1ZDAuLjFj MmYyNmQ4NmY3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTExMjcsMTMg KzExMjcsMTMgQEAgaW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3By aXYtPmRybSwgJmludGVsX3BsYW5lLT5iYXNlLAogCQkJCQkgICAgICAgcG9zc2libGVfY3J0Y3Ms ICZpbnRlbF9wbGFuZV9mdW5jcywKIAkJCQkJICAgICAgIHBsYW5lX2Zvcm1hdHMsIG51bV9wbGFu ZV9mb3JtYXRzLAotCQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwKKwkJCQkJICAg ICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX09WRVJMQVksCiAJCQkJCSAgICAgICAicGxhbmUgJWQl YyIsIHBsYW5lICsgMiwgcGlwZV9uYW1lKHBpcGUpKTsKIAllbHNlCiAJCXJldCA9IGRybV91bml2 ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwgJmludGVsX3BsYW5lLT5iYXNlLAogCQkJ CQkgICAgICAgcG9zc2libGVfY3J0Y3MsICZpbnRlbF9wbGFuZV9mdW5jcywKIAkJCQkJICAgICAg IHBsYW5lX2Zvcm1hdHMsIG51bV9wbGFuZV9mb3JtYXRzLAotCQkJCQkgICAgICAgRFJNX1BMQU5F X1RZUEVfT1ZFUkxBWSwKKwkJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX09WRVJMQVks CiAJCQkJCSAgICAgICAic3ByaXRlICVjIiwgc3ByaXRlX25hbWUocGlwZSwgcGxhbmUpKTsKIAlp ZiAocmV0KQogCQlnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lw dXYzLXBsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMKaW5kZXggOGI1 Mjk0ZDQ3Y2VlLi5lZjllMTFiOThiM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgv aXB1djMtcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMKQEAg LTQ5Niw4ICs0OTYsOCBAQCBzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmVfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaXB1X3NvYyAqaXB1LAogCiAJcmV0ID0gZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KGRldiwgJmlwdV9wbGFuZS0+YmFzZSwgcG9zc2libGVfY3J0Y3MsCiAJ CQkJICAgICAgICZpcHVfcGxhbmVfZnVuY3MsIGlwdV9wbGFuZV9mb3JtYXRzLAotCQkJCSAgICAg ICBBUlJBWV9TSVpFKGlwdV9wbGFuZV9mb3JtYXRzKSwgdHlwZSwKLQkJCQkgICAgICAgTlVMTCk7 CisJCQkJICAgICAgIEFSUkFZX1NJWkUoaXB1X3BsYW5lX2Zvcm1hdHMpLAorCQkJCSAgICAgICBO VUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGlu aXRpYWxpemUgcGxhbmVcbiIpOwogCQlrZnJlZShpcHVfcGxhbmUpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMKaW5kZXggZTQwNWU4OWVkNWU1Li5iZWM2ZDE0ZGQwNzAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYwpAQCAtMTczLDcgKzE3 Myw3IEBAIGludCBtdGtfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIAogCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYs IHBsYW5lLCBwb3NzaWJsZV9jcnRjcywKIAkJCQkgICAgICAgJm10a19wbGFuZV9mdW5jcywgZm9y bWF0cywKLQkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwgdHlwZSwgTlVMTCk7CisJCQkJ ICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0cyksIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChlcnIp IHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbGFuZVxuIik7CiAJCXJldHVy biBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fcGxhbmUuYyBi L2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9wbGFuZS5jCmluZGV4IDY0MmIyZmFiNDJmZi4u MTNjN2MyYzFkNGNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fcGxh bmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fcGxhbmUuYwpAQCAtMjIwLDYg KzIyMCw3IEBAIGludCBtZXNvbl9wbGFuZV9jcmVhdGUoc3RydWN0IG1lc29uX2RybSAqcHJpdikK IAkJCQkgJm1lc29uX3BsYW5lX2Z1bmNzLAogCQkJCSBzdXBwb3J0ZWRfZHJtX2Zvcm1hdHMsCiAJ CQkJIEFSUkFZX1NJWkUoc3VwcG9ydGVkX2RybV9mb3JtYXRzKSwKKwkJCQkgTlVMTCwKIAkJCQkg RFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgIm1lc29uX3ByaW1hcnlfcGxhbmUiKTsKIAogCWRybV9w bGFuZV9oZWxwZXJfYWRkKHBsYW5lLCAmbWVzb25fcGxhbmVfaGVscGVyX2Z1bmNzKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X3BsYW5lLmMKaW5kZXggNTM2MTlkMDc2NzdlLi44 ZjM0MTdlNDVkNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRw NF9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5j CkBAIC0zOTgsNyArMzk4LDcgQEAgc3RydWN0IGRybV9wbGFuZSAqbWRwNF9wbGFuZV9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJdHlwZSA9IHByaXZhdGVfcGxhbmUgPyBEUk1fUExBTkVf VFlQRV9QUklNQVJZIDogRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKIAlyZXQgPSBkcm1fdW5pdmVy c2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwgJm1kcDRfcGxhbmVfZnVuY3MsCiAJCQkJ IG1kcDRfcGxhbmUtPmZvcm1hdHMsIG1kcDRfcGxhbmUtPm5mb3JtYXRzLAotCQkJCSB0eXBlLCBO VUxMKTsKKwkJCQkgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJZ290byBmYWlsOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCmluZGV4IDc1MjQ3ZWE0 MzM1Yi4uYzIwNjhjMzBjYTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVf cGxhbmUuYwpAQCAtODgyLDcgKzg4Miw3IEBAIHN0cnVjdCBkcm1fcGxhbmUgKm1kcDVfcGxhbmVf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHByaW1hcnkpCiAJdHlwZSA9IHByaW1h cnkgPyBEUk1fUExBTkVfVFlQRV9QUklNQVJZIDogRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKIAly ZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwgJm1kcDVfcGxh bmVfZnVuY3MsCiAJCQkJIG1kcDVfcGxhbmUtPmZvcm1hdHMsIG1kcDVfcGxhbmUtPm5mb3JtYXRz LAotCQkJCSB0eXBlLCBOVUxMKTsKKwkJCQkgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkK IAkJZ290byBmYWlsOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJf ZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfZHJ2LmMKaW5kZXggOTU1NDQxZjcx NTAwLi5mMjlkNDYzZTAzYTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNm Yl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfZHJ2LmMKQEAgLTE4Niw3 ICsxODYsNyBAQCBzdGF0aWMgaW50IG14c2ZiX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwg dW5zaWduZWQgbG9uZyBmbGFncykKIAl9CiAKIAlyZXQgPSBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlw ZV9pbml0KGRybSwgJm14c2ZiLT5waXBlLCAmbXhzZmJfZnVuY3MsCi0JCQlteHNmYl9mb3JtYXRz LCBBUlJBWV9TSVpFKG14c2ZiX2Zvcm1hdHMpLAorCQkJbXhzZmJfZm9ybWF0cywgQVJSQVlfU0la RShteHNmYl9mb3JtYXRzKSwgTlVMTCwgMCwKIAkJCSZteHNmYi0+Y29ubmVjdG9yKTsKIAlpZiAo cmV0IDwgMCkgewogCQlkZXZfZXJyKGRybS0+ZGV2LCAiQ2Fubm90IHNldHVwIHNpbXBsZSBkaXNw bGF5IHBpcGVcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYwppbmRleCBj Yjg1Y2I3MmRjMWMuLmNmNWVkOThjYWVkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnY1MF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9k aXNwbGF5LmMKQEAgLTEwNzksOCArMTA3OSw5IEBAIG52NTBfd25kd19jdG9yKGNvbnN0IHN0cnVj dCBudjUwX3duZHdfZnVuYyAqZnVuYywgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl3bmR3LT5m dW5jID0gZnVuYzsKIAl3bmR3LT5kbWFjID0gZG1hYzsKIAotCXJldCA9IGRybV91bml2ZXJzYWxf cGxhbmVfaW5pdChkZXYsICZ3bmR3LT5wbGFuZSwgMCwgJm52NTBfd25kdywgZm9ybWF0LAotCQkJ CSAgICAgICBuZm9ybWF0LCB0eXBlLCAiJXMtJWQiLCBuYW1lLCBpbmRleCk7CisJcmV0ID0gZHJt X3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJnduZHctPnBsYW5lLCAwLCAmbnY1MF93bmR3LAor CQkJCSAgICAgICBmb3JtYXQsIG5mb3JtYXQsIE5VTEwsCisJCQkJICAgICAgIHR5cGUsICIlcy0l ZCIsIG5hbWUsIGluZGV4KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0v b21hcGRybS9vbWFwX3BsYW5lLmMKaW5kZXggODJiMmMyM2Q2NzY5Li5iNGE1NzVjZjdlNzEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKQEAgLTM4Myw3ICszODMsOCBAQCBzdHJ1 Y3QgZHJtX3BsYW5lICpvbWFwX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAog CXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCBwb3NzaWJsZV9jcnRj cywKIAkJCQkgICAgICAgJm9tYXBfcGxhbmVfZnVuY3MsIG9tYXBfcGxhbmUtPmZvcm1hdHMsCi0J CQkJICAgICAgIG9tYXBfcGxhbmUtPm5mb3JtYXRzLCB0eXBlLCBOVUxMKTsKKwkJCQkgICAgICAg b21hcF9wbGFuZS0+bmZvcm1hdHMsCisJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlm IChyZXQgPCAwKQogCQlnb3RvIGVycm9yOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1 X3BsYW5lLmMKaW5kZXggZGNkZTYyODhkYTZjLi4yYjAyZWNjYmZiNzAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X3BsYW5lLmMKQEAgLTc0Myw4ICs3NDMsOCBAQCBpbnQgcmNhcl9k dV9wbGFuZXNfaW5pdChzdHJ1Y3QgcmNhcl9kdV9ncm91cCAqcmdycCkKIAogCQlyZXQgPSBkcm1f dW5pdmVyc2FsX3BsYW5lX2luaXQocmNkdS0+ZGRldiwgJnBsYW5lLT5wbGFuZSwgY3J0Y3MsCiAJ CQkJCSAgICAgICAmcmNhcl9kdV9wbGFuZV9mdW5jcywgZm9ybWF0cywKLQkJCQkJICAgICAgIEFS UkFZX1NJWkUoZm9ybWF0cyksIHR5cGUsCi0JCQkJCSAgICAgICBOVUxMKTsKKwkJCQkJICAgICAg IEFSUkFZX1NJWkUoZm9ybWF0cyksCisJCQkJCSAgICAgICBOVUxMLCB0eXBlLCBOVUxMKTsKIAkJ aWYgKHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X3ZzcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV92c3AuYwppbmRleCBiNWJmYmU1MGJkODcuLjc0NGJlMDI5NDM2YiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV92c3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X3ZzcC5jCkBAIC0zNjQsOCArMzY0LDkgQEAgaW50IHJjYXJfZHVfdnNw X2luaXQoc3RydWN0IHJjYXJfZHVfdnNwICp2c3ApCiAJCQkJCSAgICAgICAxIDw8IHZzcC0+aW5k ZXgsCiAJCQkJCSAgICAgICAmcmNhcl9kdV92c3BfcGxhbmVfZnVuY3MsCiAJCQkJCSAgICAgICBm b3JtYXRzX2ttcywKLQkJCQkJICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0c19rbXMpLCB0eXBlLAot CQkJCQkgICAgICAgTlVMTCk7CisJCQkJCSAgICAgICBBUlJBWV9TSVpFKGZvcm1hdHNfa21zKSwK KwkJCQkJICAgICAgIE5VTEwsCisJCQkJCSAgICAgICB0eXBlLCBOVUxMKTsKIAkJaWYgKHJldCA8 IDApCiAJCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvcm9ja2NoaXBfZHJtX3ZvcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV92b3AuYwppbmRleCBmYjVmMDAxZjUxYzMuLjgyNmIzNzYxMTRmNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCkBAIC0xMjIxLDcgKzEyMjEsNyBA QCBzdGF0aWMgaW50IHZvcF9jcmVhdGVfY3J0YyhzdHJ1Y3Qgdm9wICp2b3ApCiAJCQkJCSAgICAg ICAwLCAmdm9wX3BsYW5lX2Z1bmNzLAogCQkJCQkgICAgICAgd2luX2RhdGEtPnBoeS0+ZGF0YV9m b3JtYXRzLAogCQkJCQkgICAgICAgd2luX2RhdGEtPnBoeS0+bmZvcm1hdHMsCi0JCQkJCSAgICAg ICB3aW5fZGF0YS0+dHlwZSwgTlVMTCk7CisJCQkJCSAgICAgICBOVUxMLCB3aW5fZGF0YS0+dHlw ZSwgTlVMTCk7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9ERVZfRVJST1Iodm9wLT5kZXYsICJmYWls ZWQgdG8gaW5pdCBwbGFuZSAlZFxuIiwKIAkJCQkgICAgICByZXQpOwpAQCAtMTI2MCw3ICsxMjYw LDcgQEAgc3RhdGljIGludCB2b3BfY3JlYXRlX2NydGMoc3RydWN0IHZvcCAqdm9wKQogCQkJCQkg ICAgICAgJnZvcF9wbGFuZV9mdW5jcywKIAkJCQkJICAgICAgIHdpbl9kYXRhLT5waHktPmRhdGFf Zm9ybWF0cywKIAkJCQkJICAgICAgIHdpbl9kYXRhLT5waHktPm5mb3JtYXRzLAotCQkJCQkgICAg ICAgd2luX2RhdGEtPnR5cGUsIE5VTEwpOworCQkJCQkgICAgICAgTlVMTCwgd2luX2RhdGEtPnR5 cGUsIE5VTEwpOwogCQlpZiAocmV0KSB7CiAJCQlEUk1fREVWX0VSUk9SKHZvcC0+ZGV2LCAiZmFp bGVkIHRvIGluaXQgb3ZlcmxheSAlZFxuIiwKIAkJCQkgICAgICByZXQpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV9jdXJzb3IuYwppbmRleCBjY2E3NWJkZGI5YWQuLmY2MTgwOGI0MTlhNSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfY3Vyc29yLmMKQEAgLTM5Myw2ICszOTMsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpzdGlf Y3Vyc29yX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwKIAkJCQkgICAgICAgJnN0 aV9jdXJzb3JfcGxhbmVfaGVscGVyc19mdW5jcywKIAkJCQkgICAgICAgY3Vyc29yX3N1cHBvcnRl ZF9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGN1cnNvcl9zdXBwb3J0ZWRfZm9ybWF0 cyksCisJCQkJICAgICAgIE5VTEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX0NVUlNPUiwg TlVMTCk7CiAJaWYgKHJlcykgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBpbml0aWFsaXplIHVu aXZlcnNhbCBwbGFuZVxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9n ZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5jCmluZGV4IDg3N2QwNTNkODZmNC4u NmJmMWE1OTJjZWU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYwpAQCAtOTIxLDcgKzkyMSw3IEBAIHN0 cnVjdCBkcm1fcGxhbmUgKnN0aV9nZHBfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2 LAogCQkJCSAgICAgICAmc3RpX2dkcF9wbGFuZV9oZWxwZXJzX2Z1bmNzLAogCQkJCSAgICAgICBn ZHBfc3VwcG9ydGVkX2Zvcm1hdHMsCiAJCQkJICAgICAgIEFSUkFZX1NJWkUoZ2RwX3N1cHBvcnRl ZF9mb3JtYXRzKSwKLQkJCQkgICAgICAgdHlwZSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIHR5 cGUsIE5VTEwpOwogCWlmIChyZXMpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6 ZSB1bml2ZXJzYWwgcGxhbmVcbiIpOwogCQlnb3RvIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9zdGkvc3RpX2hxdmRwLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9ocXZkcC5j CmluZGV4IGJlY2YxMGQyNTVjNC4uOTExZThmMGY2OWE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vc3RpL3N0aV9ocXZkcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hxdmRw LmMKQEAgLTEyNzcsNyArMTI3Nyw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpzdGlfaHF2 ZHBfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAogCQkJCSAgICAgICAmc3RpX2hx dmRwX3BsYW5lX2hlbHBlcnNfZnVuY3MsCiAJCQkJICAgICAgIGhxdmRwX3N1cHBvcnRlZF9mb3Jt YXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGhxdmRwX3N1cHBvcnRlZF9mb3JtYXRzKSwKLQkJ CQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEws IERSTV9QTEFORV9UWVBFX09WRVJMQVksIE5VTEwpOwogCWlmIChyZXMpIHsKIAkJRFJNX0VSUk9S KCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB1bml2ZXJzYWwgcGxhbmVcbiIpOwogCQlyZXR1cm4gTlVM TDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sYXllci5jIGIvZHJp dmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2xheWVyLmMKaW5kZXggNWQ1M2M5NzdiY2E1Li44Mjdm NDUzNjQ2NTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sYXllci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sYXllci5jCkBAIC0xMTcsNiArMTE3 LDcgQEAgc3RhdGljIHN0cnVjdCBzdW40aV9sYXllciAqc3VuNGlfbGF5ZXJfaW5pdF9vbmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZHJt LCAmbGF5ZXItPnBsYW5lLCBCSVQoMCksCiAJCQkJICAgICAgICZzdW40aV9iYWNrZW5kX2xheWVy X2Z1bmNzLAogCQkJCSAgICAgICBwbGFuZS0+Zm9ybWF0cywgcGxhbmUtPm5mb3JtYXRzLAorCQkJ CSAgICAgICBOVUxMLAogCQkJCSAgICAgICBwbGFuZS0+dHlwZSwgTlVMTCk7CiAJaWYgKHJldCkg ewogCQlkZXZfZXJyKGRybS0+ZGV2LCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBsYXllclxuIik7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9kYy5jCmluZGV4IDc1NjFhOTVhNTRlMy4uOWRkZWE4NDIwOGM0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMu YwpAQCAtNjU1LDggKzY1NSw4IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICp0ZWdyYV9kY19w cmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAogCiAJZXJyID0gZHJt X3VuaXZlcnNhbF9wbGFuZV9pbml0KGRybSwgJnBsYW5lLT5iYXNlLCBwb3NzaWJsZV9jcnRjcywK IAkJCQkgICAgICAgJnRlZ3JhX3ByaW1hcnlfcGxhbmVfZnVuY3MsIGZvcm1hdHMsCi0JCQkJICAg ICAgIG51bV9mb3JtYXRzLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAotCQkJCSAgICAgICBOVUxM KTsKKwkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIE5VTEwsCisJCQkJICAgICAgIERSTV9QTEFORV9U WVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChlcnIgPCAwKSB7CiAJCWtmcmVlKHBsYW5lKTsKIAkJ cmV0dXJuIEVSUl9QVFIoZXJyKTsKQEAgLTgyMSw4ICs4MjEsOCBAQCBzdGF0aWMgc3RydWN0IGRy bV9wbGFuZSAqdGVncmFfZGNfY3Vyc29yX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtLAogCiAJZXJyID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRybSwgJnBsYW5lLT5iYXNl LCAxIDw8IGRjLT5waXBlLAogCQkJCSAgICAgICAmdGVncmFfY3Vyc29yX3BsYW5lX2Z1bmNzLCBm b3JtYXRzLAotCQkJCSAgICAgICBudW1fZm9ybWF0cywgRFJNX1BMQU5FX1RZUEVfQ1VSU09SLAot CQkJCSAgICAgICBOVUxMKTsKKwkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIE5VTEwsCisJCQkJICAg ICAgIERSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7CiAJaWYgKGVyciA8IDApIHsKIAkJa2Zy ZWUocGxhbmUpOwogCQlyZXR1cm4gRVJSX1BUUihlcnIpOwpAQCAtODgzLDggKzg4Myw4IEBAIHN0 YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICp0ZWdyYV9kY19vdmVybGF5X3BsYW5lX2NyZWF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZHJtLAogCiAJZXJyID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRy bSwgJnBsYW5lLT5iYXNlLCAxIDw8IGRjLT5waXBlLAogCQkJCSAgICAgICAmdGVncmFfb3Zlcmxh eV9wbGFuZV9mdW5jcywgZm9ybWF0cywKLQkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIERSTV9QTEFO RV9UWVBFX09WRVJMQVksCi0JCQkJICAgICAgIE5VTEwpOworCQkJCSAgICAgICBudW1fZm9ybWF0 cywgTlVMTCwKKwkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwgTlVMTCk7CiAJaWYg KGVyciA8IDApIHsKIAkJa2ZyZWUocGxhbmUpOwogCQlyZXR1cm4gRVJSX1BUUihlcnIpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X3BsYW5lLmMKaW5kZXggMTEwZDE1MThmNWQ1Li40ODdiYjQwZTBlNGUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfcGxhbmUuYwpAQCAtODYxLDcgKzg2MSw3IEBAIHN0cnVjdCBkcm1fcGxhbmUg KnZjNF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0ID0gZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIDB4ZmYsCiAJCQkJICAgICAgICZ2YzRfcGxhbmVf ZnVuY3MsCiAJCQkJICAgICAgIGZvcm1hdHMsIG51bV9mb3JtYXRzLAotCQkJCSAgICAgICB0eXBl LCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAKIAlkcm1fcGxhbmVfaGVs cGVyX2FkZChwbGFuZSwgJnZjNF9wbGFuZV9oZWxwZXJfZnVuY3MpOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92 aXJ0aW8vdmlydGdwdV9wbGFuZS5jCmluZGV4IDExMjg4ZmZhNGFmNi4uMDBmMzY4Y2RlMGI4IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYwpAQCAtMjI1LDcgKzIyNSw3IEBA IHN0cnVjdCBkcm1fcGxhbmUgKnZpcnRpb19ncHVfcGxhbmVfaW5pdChzdHJ1Y3QgdmlydGlvX2dw dV9kZXZpY2UgKnZnZGV2LAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBs YW5lLCAxIDw8IGluZGV4LAogCQkJCSAgICAgICAmdmlydGlvX2dwdV9wbGFuZV9mdW5jcywKIAkJ CQkgICAgICAgZm9ybWF0cywgbmZvcm1hdHMsCi0JCQkJICAgICAgIHR5cGUsIE5VTEwpOworCQkJ CSAgICAgICBOVUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAocmV0KQogCQlnb3RvIGVycl9wbGFuZV9p bml0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMgYi9kcml2 ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMKaW5kZXggYjYzNGIwOTBjZGMxLi5jNTdkNGZlNWRh MTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMKQEAgLTI4Nyw3ICsyODcsNyBAQCBzdHJ1Y3QgZHJt X3BsYW5lICp6eF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBkZXZp Y2UgKmRldiwKIAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sIHBsYW5lLCBW T1VfQ1JUQ19NQVNLLAogCQkJCSAgICAgICAmenhfcGxhbmVfZnVuY3MsIGZvcm1hdHMsIGZvcm1h dF9jb3VudCwKLQkJCQkgICAgICAgdHlwZSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIHR5cGUs IE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8gaW5p dCB1bml2ZXJzYWwgcGxhbmU6ICVkXG4iLCByZXQpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggYi9pbmNsdWRlL2RybS9kcm1fcGxh bmUuaAppbmRleCBlMDQ5YmM1MmZiMDcuLjEwOGE5NTU0MzhlNSAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9kcm0vZHJtX3BsYW5lLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKQEAgLTM4OSw2 ICszODksMjAgQEAgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB7CiAJICovCiAJdm9pZCAoKmF0b21p Y19wcmludF9zdGF0ZSkoc3RydWN0IGRybV9wcmludGVyICpwLAogCQkJCSAgIGNvbnN0IHN0cnVj dCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKTsKKworCS8qKgorCSAqIEBmb3JtYXRfbW9kX3N1cHBv cnRlZDoKKwkgKgorCSAqIFRoaXMgb3B0aW9uYWwgaG9vayBpcyB1c2VkIGZvciB0aGUgRFJNIHRv IGRldGVybWluZSBpZiB0aGUgZ2l2ZW4KKwkgKiBmb3JtYXQvbW9kaWZpZXIgY29tYmluYXRpb24g aXMgdmFsaWQgZm9yIHRoZSBwbGFuZS4gVGhpcyBhbGxvd3MgdGhlCisJICogRFJNIHRvIGdlbmVy YXRlIHRoZSBjb3JyZWN0IGZvcm1hdCBiaXRtYXNrICh3aGljaCBmb3JtYXRzIGFwcGx5IHRvCisJ ICogd2hpY2ggbW9kaWZpZXIpLgorCSAqCisJICogVHJ1ZSBpZiB0aGUgZ2l2ZW4gbW9kaWZpZXIg aXMgdmFsaWQgZm9yIHRoYXQgZm9ybWF0IG9uIHRoZSBwbGFuZS4KKwkgKiBGYWxzZSBvdGhlcndp c2UuCisJICovCisJYm9vbCAoKmZvcm1hdF9tb2Rfc3VwcG9ydGVkKShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwgdWludDMyX3QgZm9ybWF0LAorCQkJCSAgICAgdWludDY0X3QgbW9kaWZpZXIpOwog fTsKIAogLyoqCkBAIC00ODMsNiArNDk3LDEwIEBAIHN0cnVjdCBkcm1fcGxhbmUgewogCXVuc2ln bmVkIGludCBmb3JtYXRfY291bnQ7CiAJYm9vbCBmb3JtYXRfZGVmYXVsdDsKIAorCXVpbnQzMl90 ICpmb3JtYXRzOworCXVpbnQ2NF90ICptb2RpZmllcnM7CisJdW5zaWduZWQgaW50IG1vZGlmaWVy X2NvdW50OworCiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiOwogCkBAIC01MTAsMTMgKzUyOCwxNCBAQCBzdHJ1Y3QgZHJtX3BsYW5lIHsKIAogI2Rl ZmluZSBvYmpfdG9fcGxhbmUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBkcm1fcGxhbmUsIGJh c2UpCiAKLWV4dGVybiBfX3ByaW50Zig4LCA5KQorZXh0ZXJuIF9fcHJpbnRmKDksIDEwKQogaW50 IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJICAg ICBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAgICAgdWludDMyX3QgcG9zc2libGVfY3J0 Y3MsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgKmZ1bmNzLAogCQkJICAg ICBjb25zdCB1aW50MzJfdCAqZm9ybWF0cywKIAkJCSAgICAgdW5zaWduZWQgaW50IGZvcm1hdF9j b3VudCwKKwkJCSAgICAgY29uc3QgdWludDY0X3QgKmZvcm1hdF9tb2RpZmllcnMsCiAJCQkgICAg IGVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZSwKIAkJCSAgICAgY29uc3QgY2hhciAqbmFtZSwgLi4u KTsKIGV4dGVybiBpbnQgZHJtX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oIGIvaW5jbHVkZS9k cm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmgKaW5kZXggZmU4YzRiYTkwNWFjLi4wNTljZDU5MmEx MjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCisrKyBi L2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCkBAIC0xMTgsNiArMTE4LDcgQEAg aW50IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJCXN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCWNvbnN0IHN0cnVj dCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCiAJCQljb25zdCB1aW50MzJf dCAqZm9ybWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCWNvbnN0IHVpbnQ2NF90 ICpmb3JtYXRfbW9kaWZpZXJzLAogCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 CiAKICNlbmRpZiAvKiBfX0xJTlVYX0RSTV9TSU1QTEVfS01TX0hFTFBFUl9IICovCmRpZmYgLS1n aXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm0uaAppbmRl eCBiMmM1Mjg0M2JjNzAuLjQ4N2UwZjE3MTEzZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2Ry bS9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCkBAIC04MDUsNiArODA1LDcgQEAg ZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0RFU1RST1lfRFVNQiAgICBEUk1f SU9XUigweEI0LCBzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9kdW1iKQogI2RlZmluZSBEUk1fSU9D VExfTU9ERV9HRVRQTEFORVJFU09VUkNFUyBEUk1fSU9XUigweEI1LCBzdHJ1Y3QgZHJtX21vZGVf Z2V0X3BsYW5lX3JlcykKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VUUExBTkUJRFJNX0lPV1Io MHhCNiwgc3RydWN0IGRybV9tb2RlX2dldF9wbGFuZSkKKyNkZWZpbmUgRFJNX0lPQ1RMX01PREVf R0VUUExBTkUyCURSTV9JT1dSKDB4QjYsIHN0cnVjdCBkcm1fbW9kZV9nZXRfcGxhbmUyKQogI2Rl ZmluZSBEUk1fSU9DVExfTU9ERV9TRVRQTEFORQlEUk1fSU9XUigweEI3LCBzdHJ1Y3QgZHJtX21v ZGVfc2V0X3BsYW5lKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9BRERGQjIJCURSTV9JT1dSKDB4 QjgsIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9PQkpf R0VUUFJPUEVSVElFUwlEUk1fSU9XUigweEI5LCBzdHJ1Y3QgZHJtX21vZGVfb2JqX2dldF9wcm9w ZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmggYi9pbmNs dWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaAppbmRleCA0NTgxZTNkNDFlNWMuLjU4NTkwMTRkOTNj NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmgKKysrIGIvaW5jbHVk ZS91YXBpL2RybS9kcm1fZm91cmNjLmgKQEAgLTE2Miw2ICsxNjIsOCBAQCBleHRlcm4gIkMiIHsK ICNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfVkVORE9SX1FDT00gICAgMHgwNQogLyogYWRkIG1vcmUg dG8gdGhlIGVuZCBhcyBuZWVkZWQgKi8KIAorI2RlZmluZSBEUk1fRk9STUFUX1JFU0VSVkVECSAg ICAgICgoMVVMTCA8PCA1NikgLSAxKQorCiAjZGVmaW5lIGZvdXJjY19tb2RfY29kZSh2ZW5kb3Is IHZhbCkgXAogCSgoKChfX3U2NClEUk1fRk9STUFUX01PRF9WRU5ET1JfIyMgdmVuZG9yKSA8PCA1 NikgfCAodmFsICYgMHgwMGZmZmZmZmZmZmZmZmZmVUxMKSkKIApAQCAtMTc0LDYgKzE3NiwxNSBA QCBleHRlcm4gIkMiIHsKICAqLwogCiAvKgorICogSW52YWxpZCBNb2RpZmllcgorICoKKyAqIFRo aXMgbW9kaWZpZXIgY2FuIGJlIHVzZWQgYXMgYSBzZW50aW5lbCB0byB0ZXJtaW5hdGUgbGlzdCwg b3IgdG8gaW5pdGlhbGl6ZSBhCisgKiB2YXJpYWJsZSB3aXRoIGFuIGludmFsaWQgbW9kaWZpZXIu IEl0IG1pZ2h0IGFsc28gYmUgdXNlZCB0byByZXBvcnQgYW4gZXJyb3IKKyAqIGJhY2sgdG8gdXNl cnNwYWNlIGZvciBjZXJ0YWluIEFQSXMuCisgKi8KKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfSU5W QUxJRAlmb3VyY2NfbW9kX2NvZGUoTk9ORSwgRFJNX0ZPUk1BVF9SRVNFUlZFRCkKKworLyoKICAq IExpbmVhciBMYXlvdXQKICAqCiAgKiBKdXN0IHBsYWluIGxpbmVhciBsYXlvdXQuIE5vdGUgdGhh dCB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIG5vIHNwZWNpZnlpbmcgYW55CmRpZmYgLS1naXQgYS9p bmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgK aW5kZXggY2U3ZWZlMmU4YTVlLi5jZWEzZGUzYWEzMDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFw aS9kcm0vZHJtX21vZGUuaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKQEAgLTIw OSw2ICsyMDksMzMgQEAgc3RydWN0IGRybV9tb2RlX2dldF9wbGFuZSB7CiAJX191NjQgZm9ybWF0 X3R5cGVfcHRyOwogfTsKIAorc3RydWN0IGRybV9mb3JtYXRfbW9kaWZpZXIgeworCS8qIEJpdG1h c2sgb2YgZm9ybWF0cyBpbiBnZXRfcGxhbmUgZm9ybWF0IGxpc3QgdGhpcyBpbmZvCisJICogYXBw bGllcyB0by4gKi8KKwl1aW50NjRfdCBmb3JtYXRzOworCisJLyogVGhpcyBtb2RpZmllciBjYW4g YmUgdXNlZCB3aXRoIHRoZSBmb3JtYXQgZm9yIHRoaXMgcGxhbmUuICovCisJdWludDY0X3QgbW9k aWZpZXI7Cit9OworCitzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lMiB7CisJX191MzIgcGxhbmVf aWQ7CisKKwlfX3UzMiBjcnRjX2lkOworCV9fdTMyIGZiX2lkOworCisJX191MzIgcG9zc2libGVf Y3J0Y3M7CisJX191MzIgZ2FtbWFfc2l6ZTsKKworCV9fdTMyIGNvdW50X2Zvcm1hdF90eXBlczsK KwlfX3U2NCBmb3JtYXRfdHlwZV9wdHI7CisKKwkvKiBOZXcgaW4gdjIgKi8KKwlfX3UzMiBjb3Vu dF9mb3JtYXRfbW9kaWZpZXJzOworCV9fdTMyIGZsYWdzOworCV9fdTY0IGZvcm1hdF9tb2RpZmll cl9wdHI7Cit9OworCiBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lX3JlcyB7CiAJX191NjQgcGxh bmVfaWRfcHRyOwogCV9fdTMyIGNvdW50X3BsYW5lczsKLS0gCjIuMTEuMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==