From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 1/3] [v2] drm: Add new DRM_IOCTL_MODE_GETPLANE2 Date: Tue, 24 Jan 2017 21:20:49 -0800 Message-ID: <20170125052049.10369-1-ben@bwidawsk.net> References: <20170112005118.19146-2-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-2-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel GFX , DRI Development 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 YXRzLiAoUm9iKQogIC0gTmFtZSBmb3JtYXRfbW9kaWZpZXJzIGFubm90YXRpb24gcHJvcGVybHkg KFZpbGxlKQogIC0gUmVtb3ZlIERSTV9ERUJVR19LTVMgKFZpbGxlKQogIC0gbWFrZSBmbGFncyBj b21lIGJlZm9yZSBjb3VudCBpbiBzdHJ1Y3QgKFZpbGxlKQoKQ2M6IFJvYiBDbGFyayA8cm9iZGNs YXJrQGdtYWlsLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+CkNjOiBEYW5pZWwgU3RvbmUgPGRhbmllbEBmb29pc2hiYXIub3JnPgpDYzogIkty aXN0aWFuIEguIEtyaXN0ZW5zZW4iIDxob2Vnc2JlcmdAZ21haWwuY29tPgpSZWZlcmVuY2VzOiBo dHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzk0ODIzOTMvClNpZ25lZC1vZmYtYnk6 IEJlbiBXaWRhd3NreSA8YmVuQGJ3aWRhd3NrLm5ldD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYXJj L2FyY3BndV9jcnRjLmMgICAgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hcm0v aGRsY2RfY3J0Yy5jICAgICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2FybS9t YWxpZHBfcGxhbmVzLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FybWFk YS9hcm1hZGFfY3J0Yy5jICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRh L2FybWFkYV9vdmVybGF5LmMgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hdG1lbC1o bGNkYy9hdG1lbF9obGNkY19wbGFuZS5jIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1faW9j dGwuYyAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9k ZXNldF9oZWxwZXIuYyAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2RybV9wbGFu ZS5jICAgICAgICAgICAgICAgICAgICAgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKystCiBk cml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMgICAgICAgICB8ICAzICsrCiBk cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYyAgICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFuZS5jICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5jICB8ICAxICsKIGRy aXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAgICAgICAgIHwgIDcgKystCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgICAgICAgICAgICB8ICA0ICstCiBk cml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMgICAgICAgICAgICAgICB8ICA0ICstCiBk cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jICAgICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fcGxhbmUuYyAgICAgICAgICAgICB8ICAxICsKIGRy aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jICAgICAgICAgIHwgIDUgKy0KIGRy aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYyAgICAgICAgICAgIHwgIDMgKy0KIGRy aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYyAgICAgICAgIHwgIDQgKy0KIGRy aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMgICAgICAgICAgIHwgIDUgKy0KIGRy aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgICAgIHwgIDQgKy0KIGRy aXZlcnMvZ3B1L2RybS9zdGkvc3RpX2N1cnNvci5jICAgICAgICAgICAgICAgIHwgIDEgKwogZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfaHF2ZHAuYyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2xheWVyLmMgICAgICAgICAgICAgfCAgMSArCiBkcml2 ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrLS0tCiBk cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jICAgICAgICAgICAgICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYyAgICAgICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBp bmNsdWRlL2RybS9kcm1fcGxhbmUuaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDIxICsrKysr KystCiBpbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuaCAgICAgICAgICAgICB8ICAx ICsKIGluY2x1ZGUvdWFwaS9kcm0vZHJtLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEg KwogaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmggICAgICAgICAgICAgICAgICAgfCAxMSAr KysrKwogaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAgICAgICAgICAgICAgfCAz NiArKysrKysrKysrKysrKwogNDAgZmlsZXMgY2hhbmdlZCwgMTg5IGluc2VydGlvbnMoKyksIDM4 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2Ny dGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYwppbmRleCBhZDlhOTU5MTZm MWYuLmNkOGEyNGM3YzY3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FyYy9hcmNwZ3Vf Y3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYwpAQCAtMjE4LDYg KzIxOCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICphcmNfcGd1X3BsYW5lX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSkKIAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChk cm0sIHBsYW5lLCAweGZmLCAmYXJjX3BndV9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgZm9ybWF0 cywgQVJSQVlfU0laRShmb3JtYXRzKSwKKwkJCQkgICAgICAgTlVMTCwKIAkJCQkgICAgICAgRFJN X1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIEVSUl9QVFIo cmV0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jIGIvZHJp dmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMKaW5kZXggMjBlYmZiNGZiZGZhLi44OWZkZWQ4 ODA4MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jCkBAIC0yODMsNiArMjgzLDcgQEAgc3Rh dGljIHN0cnVjdCBkcm1fcGxhbmUgKmhkbGNkX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRybSkKIAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sIHBsYW5lLCAweGZm LCAmaGRsY2RfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGZvcm1hdHMsIEFSUkFZX1NJWkUoZm9y bWF0cyksCisJCQkJICAgICAgIE5VTEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1B UlksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJZGV2bV9rZnJlZShkcm0tPmRldiwgcGxhbmUpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMgYi9kcml2ZXJz L2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYwppbmRleCBlZmYyZmU0N2UyNmEuLjk0ZGJjYmM5 YWQ4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKQEAgLTI4Myw3ICsyODMsNyBA QCBpbnQgbWFsaWRwX2RlX3BsYW5lc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCiAJCQkJ CURSTV9QTEFORV9UWVBFX09WRVJMQVk7CiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5p dChkcm0sICZwbGFuZS0+YmFzZSwgY3J0Y3MsCiAJCQkJCSAgICAgICAmbWFsaWRwX2RlX3BsYW5l X2Z1bmNzLCBmb3JtYXRzLAotCQkJCQkgICAgICAgbiwgcGxhbmVfdHlwZSwgTlVMTCk7CisJCQkJ CSAgICAgICBuLCBOVUxMLCBwbGFuZV90eXBlLCBOVUxMKTsKIAkJaWYgKHJldCA8IDApCiAJCQln b3RvIGNsZWFudXA7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRh X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYwppbmRleCBlNjJl ZTQ0OThjZTQuLjM5MzMwMTQ1YmEyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybWFk YS9hcm1hZGFfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMu YwpAQCAtMTI1MCw2ICsxMjUwLDcgQEAgc3RhdGljIGludCBhcm1hZGFfZHJtX2NydGNfY3JlYXRl KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJCQkgICAgICAg JmFybWFkYV9wcmltYXJ5X3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBhcm1hZGFfcHJpbWFyeV9m b3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGFybWFkYV9wcmltYXJ5X2Zvcm1hdHMpLAor CQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBOVUxM KTsKIAlpZiAocmV0KSB7CiAJCWtmcmVlKHByaW1hcnkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9h cm1hZGFfb3ZlcmxheS5jCmluZGV4IDM0Y2I3M2QwZGI3Ny4uNmExY2E4YWE4ZTE2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9vdmVybGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jCkBAIC00NTgsNiArNDU4LDcgQEAgaW50 IGFybWFkYV9vdmVybGF5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNp Z25lZCBsb25nIGNydGNzKQogCQkJCSAgICAgICAmYXJtYWRhX292bF9wbGFuZV9mdW5jcywKIAkJ CQkgICAgICAgYXJtYWRhX292bF9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGFybWFk YV9vdmxfZm9ybWF0cyksCisJCQkJICAgICAgIE5VTEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9U WVBFX09WRVJMQVksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJa2ZyZWUoZHBsYW5lKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMKaW5kZXggYmQy NzkxYzRiMDAyLi5mMTJjZWMwYmM1OGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hdG1l bC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1o bGNkYy9hdG1lbF9obGNkY19wbGFuZS5jCkBAIC0xMDM4LDcgKzEwMzgsOSBAQCBhdG1lbF9obGNk Y19wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXQgPSBkcm1fdW5pdmVy c2FsX3BsYW5lX2luaXQoZGV2LCAmcGxhbmUtPmJhc2UsIDAsCiAJCQkJICAgICAgICZsYXllcl9w bGFuZV9mdW5jcywKIAkJCQkgICAgICAgZGVzYy0+Zm9ybWF0cy0+Zm9ybWF0cywKLQkJCQkgICAg ICAgZGVzYy0+Zm9ybWF0cy0+bmZvcm1hdHMsIHR5cGUsIE5VTEwpOworCQkJCSAgICAgICBkZXNj LT5mb3JtYXRzLT5uZm9ybWF0cywKKwkJCQkgICAgICAgTlVMTCwKKwkJCQkgICAgICAgdHlwZSwg TlVMTCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5j CmluZGV4IGE3YzYxYzIzNjg1YS4uYzgyMGQ5OWQ5MjMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2lvY3RsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCkBAIC02 MTQsNyArNjE0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBkcm1faW9j dGxzW10gPSB7CiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRQTEFORVJFU09VUkNF UywgZHJtX21vZGVfZ2V0cGxhbmVfcmVzLCBEUk1fQ09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQp LAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VUQ1JUQywgZHJtX21vZGVfZ2V0Y3J0 YywgRFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKIAlEUk1fSU9DVExfREVGKERSTV9J T0NUTF9NT0RFX1NFVENSVEMsIGRybV9tb2RlX3NldGNydGMsIERSTV9NQVNURVJ8RFJNX0NPTlRS T0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dF VFBMQU5FLCBkcm1fbW9kZV9nZXRwbGFuZSwgRFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VE KSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVFBMQU5FMiwgZHJtX21vZGVfZ2V0 cGxhbmUsIERSTV9DT05UUk9MX0FMTE9XfERSTV9VTkxPQ0tFRCksCiAJRFJNX0lPQ1RMX0RFRihE Uk1fSU9DVExfTU9ERV9TRVRQTEFORSwgZHJtX21vZGVfc2V0cGxhbmUsIERSTV9NQVNURVJ8RFJN X0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9N T0RFX0NVUlNPUiwgZHJtX21vZGVfY3Vyc29yX2lvY3RsLCBEUk1fTUFTVEVSfERSTV9DT05UUk9M X0FMTE9XfERSTV9VTkxPQ0tFRCksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRH QU1NQSwgZHJtX21vZGVfZ2FtbWFfZ2V0X2lvY3RsLCBEUk1fVU5MT0NLRUQpLApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9tb2Rlc2V0X2hlbHBlci5jCmluZGV4IDJiMzM4MjVmMmY5My4uOWNiMWVlZGUwYjRkIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVscGVyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCkBAIC0xMjQsNiArMTI0LDcgQEAgc3Rh dGljIHN0cnVjdCBkcm1fcGxhbmUgKmNyZWF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiAJCQkJICAgICAgICZkcm1fcHJpbWFyeV9oZWxwZXJfZnVuY3MsCiAJCQkJICAg ICAgIHNhZmVfbW9kZXNldF9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKHNhZmVfbW9k ZXNldF9mb3JtYXRzKSwKKwkJCQkgICAgICAgTlVMTCwKIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlrZnJlZShwcmltYXJ5KTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f cGxhbmUuYwppbmRleCA3YjcyNzVmMGMyZGYuLjE4OGU3NDI4YjgwNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUu YwpAQCAtNzAsNiArNzAsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGRybV9udW1fcGxhbmVzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAgKiBAZnVuY3M6IGNhbGxiYWNrcyBmb3IgdGhlIG5ldyBw bGFuZQogICogQGZvcm1hdHM6IGFycmF5IG9mIHN1cHBvcnRlZCBmb3JtYXRzIChEUk1fRk9STUFU XF9cKikKICAqIEBmb3JtYXRfY291bnQ6IG51bWJlciBvZiBlbGVtZW50cyBpbiBAZm9ybWF0cwor ICogQGZvcm1hdF9tb2RpZmllcnM6IGFycmF5IG9mIHN0cnVjdCBkcm1fZm9ybWF0IG1vZGlmaWVy cyB0ZXJtaW5hdGVkIGJ5IElOVkFMSUQKICAqIEB0eXBlOiB0eXBlIG9mIHBsYW5lIChvdmVybGF5 LCBwcmltYXJ5LCBjdXJzb3IpCiAgKiBAbmFtZTogcHJpbnRmIHN0eWxlIGZvcm1hdCBzdHJpbmcg Zm9yIHRoZSBwbGFuZSBuYW1lLCBvciBOVUxMIGZvciBkZWZhdWx0IG5hbWUKICAqCkBAIC04Miwx MCArODMsMTIgQEAgaW50IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAgICAgdWludDMyX3QgcG9zc2li bGVfY3J0Y3MsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgKmZ1bmNzLAog CQkJICAgICBjb25zdCB1aW50MzJfdCAqZm9ybWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3Vu dCwKKwkJCSAgICAgY29uc3QgdWludDY0X3QgKmZvcm1hdF9tb2RpZmllcnMsCiAJCQkgICAgIGVu dW0gZHJtX3BsYW5lX3R5cGUgdHlwZSwKIAkJCSAgICAgY29uc3QgY2hhciAqbmFtZSwgLi4uKQog ewogCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwor CXVuc2lnbmVkIGludCBmb3JtYXRfbW9kaWZpZXJfY291bnQgPSAwOwogCWludCByZXQ7CiAKIAly ZXQgPSBkcm1fbW9kZV9vYmplY3RfZ2V0KGRldiwgJnBsYW5lLT5iYXNlLCBEUk1fTU9ERV9PQkpF Q1RfUExBTkUpOwpAQCAtMTA1LDYgKzEwOCwyNCBAQCBpbnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQly ZXR1cm4gLUVOT01FTTsKIAl9CiAKKwlpZiAoZm9ybWF0X21vZGlmaWVycykgeworCQljb25zdCB1 aW50NjRfdCAqdGVtcF9tb2RpZmllcnMgPSBmb3JtYXRfbW9kaWZpZXJzOworCQl3aGlsZSAoKnRl bXBfbW9kaWZpZXJzKysgIT0gRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRCkKKwkJCWZvcm1hdF9tb2Rp Zmllcl9jb3VudCsrOworCX0KKworCXBsYW5lLT5tb2RpZmllcl9jb3VudCA9IGZvcm1hdF9tb2Rp Zmllcl9jb3VudDsKKwlwbGFuZS0+bW9kaWZpZXJzID0ga21hbGxvY19hcnJheShmb3JtYXRfbW9k aWZpZXJfY291bnQsCisJCQkJCSBzaXplb2YoZm9ybWF0X21vZGlmaWVyc1swXSksCisJCQkJCSBH RlBfS0VSTkVMKTsKKworCWlmIChmb3JtYXRfbW9kaWZpZXJfY291bnQgJiYgIXBsYW5lLT5tb2Rp ZmllcnMpIHsKKwkJRFJNX0RFQlVHX0tNUygib3V0IG9mIG1lbW9yeSB3aGVuIGFsbG9jYXRpbmcg cGxhbmVcbiIpOworCQlrZnJlZShwbGFuZS0+Zm9ybWF0X3R5cGVzKTsKKwkJZHJtX21vZGVfb2Jq ZWN0X3VucmVnaXN0ZXIoZGV2LCAmcGxhbmUtPmJhc2UpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9 CisKIAlpZiAobmFtZSkgewogCQl2YV9saXN0IGFwOwogCkBAIC0xMTcsMTIgKzEzOCwxNSBAQCBp bnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogCX0KIAlpZiAoIXBsYW5lLT5uYW1lKSB7CiAJCWtmcmVlKHBs YW5lLT5mb3JtYXRfdHlwZXMpOworCQlrZnJlZShwbGFuZS0+bW9kaWZpZXJzKTsKIAkJZHJtX21v ZGVfb2JqZWN0X3VucmVnaXN0ZXIoZGV2LCAmcGxhbmUtPmJhc2UpOwogCQlyZXR1cm4gLUVOT01F TTsKIAl9CiAKIAltZW1jcHkocGxhbmUtPmZvcm1hdF90eXBlcywgZm9ybWF0cywgZm9ybWF0X2Nv dW50ICogc2l6ZW9mKHVpbnQzMl90KSk7CiAJcGxhbmUtPmZvcm1hdF9jb3VudCA9IGZvcm1hdF9j b3VudDsKKwltZW1jcHkocGxhbmUtPm1vZGlmaWVycywgZm9ybWF0X21vZGlmaWVycywKKwkgICAg ICAgZm9ybWF0X21vZGlmaWVyX2NvdW50ICogc2l6ZW9mKGZvcm1hdF9tb2RpZmllcnNbMF0pKTsK IAlwbGFuZS0+cG9zc2libGVfY3J0Y3MgPSBwb3NzaWJsZV9jcnRjczsKIAlwbGFuZS0+dHlwZSA9 IHR5cGU7CiAKQEAgLTIwNSw3ICsyMjksOCBAQCBpbnQgZHJtX3BsYW5lX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAKIAl0eXBlID0gaXNfcHJp bWFyeSA/IERSTV9QTEFORV9UWVBFX1BSSU1BUlkgOiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwog CXJldHVybiBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgcG9zc2libGVfY3J0 Y3MsIGZ1bmNzLAotCQkJCQlmb3JtYXRzLCBmb3JtYXRfY291bnQsIHR5cGUsIE5VTEwpOworCQkJ CQlmb3JtYXRzLCBmb3JtYXRfY291bnQsCisJCQkJCU5VTEwsIHR5cGUsIE5VTEwpOwogfQogRVhQ T1JUX1NZTUJPTChkcm1fcGxhbmVfaW5pdCk7CiAKQEAgLTIyNCw2ICsyNDksNyBAQCB2b2lkIGRy bV9wbGFuZV9jbGVhbnVwKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogCWRybV9tb2Rlc2V0X2xv Y2tfZmluaSgmcGxhbmUtPm11dGV4KTsKIAogCWtmcmVlKHBsYW5lLT5mb3JtYXRfdHlwZXMpOwor CWtmcmVlKHBsYW5lLT5tb2RpZmllcnMpOwogCWRybV9tb2RlX29iamVjdF91bnJlZ2lzdGVyKGRl diwgJnBsYW5lLT5iYXNlKTsKIAogCUJVR19PTihsaXN0X2VtcHR5KCZwbGFuZS0+aGVhZCkpOwpA QCAtMzgwLDEyICs0MDYsMTUgQEAgaW50IGRybV9tb2RlX2dldHBsYW5lX3JlcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogaW50IGRybV9tb2RlX2dldHBsYW5lKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCSAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmls ZV9wcml2KQogewotCXN0cnVjdCBkcm1fbW9kZV9nZXRfcGxhbmUgKnBsYW5lX3Jlc3AgPSBkYXRh OworCXN0cnVjdCBkcm1fbW9kZV9nZXRfcGxhbmUyICpwbGFuZV9yZXNwID0gZGF0YTsKIAlzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZTsKIAl1aW50MzJfdCBfX3VzZXIgKmZvcm1hdF9wdHI7CisJc3Ry dWN0IGRybV9mb3JtYXRfbW9kaWZpZXIgX191c2VyICptb2RpZmllcl9wdHI7CiAKIAlpZiAoIWRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCiAJCXJldHVybiAtRUlO VkFMOworCWlmIChwbGFuZV9yZXNwLT5mbGFncykKKwkJcmV0dXJuIC1FSU5WQUw7CiAKIAlwbGFu ZSA9IGRybV9wbGFuZV9maW5kKGRldiwgcGxhbmVfcmVzcC0+cGxhbmVfaWQpOwogCWlmICghcGxh bmUpCkBAIC00MjYsNiArNDU1LDM4IEBAIGludCBkcm1fbW9kZV9nZXRwbGFuZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCX0KIAlwbGFuZV9yZXNwLT5jb3VudF9mb3JtYXRf dHlwZXMgPSBwbGFuZS0+Zm9ybWF0X2NvdW50OwogCisJaWYgKHBsYW5lLT5tb2RpZmllcl9jb3Vu dCAmJgorCSAgICBwbGFuZV9yZXNwLT5jb3VudF9mb3JtYXRfbW9kaWZpZXJzID49IHBsYW5lLT5t b2RpZmllcl9jb3VudCkgeworCQlzdHJ1Y3QgZHJtX2Zvcm1hdF9tb2RpZmllciBtb2Q7CisJCWlu dCBpOworCisJCW1vZGlmaWVyX3B0ciA9IChzdHJ1Y3QgZHJtX2Zvcm1hdF9tb2RpZmllciBfX3Vz ZXIgKikKKwkJCSh1bnNpZ25lZCBsb25nKXBsYW5lX3Jlc3AtPmZvcm1hdF9tb2RpZmllcl9wdHI7 CisKKwkJLyogQnVpbGQgdGhlIG1hc2sgZm9yIGVhY2ggbW9kaWZpZXIgKi8KKwkJZm9yIChpID0g MDsgaSA8IHBsYW5lLT5tb2RpZmllcl9jb3VudDsgaSsrKSB7CisJCQlpbnQgajsKKwkJCW1vZC5t b2RpZmllciA9IHBsYW5lLT5tb2RpZmllcnNbaV07CisJCQlmb3IgKGogPSAwOyBqIDwgcGxhbmUt PmZvcm1hdF9jb3VudDsgaisrKSB7CisJCQkJaWYgKHBsYW5lLT5mdW5jcy0+Zm9ybWF0X21vZF9z dXBwb3J0ZWQgJiYKKwkJCQkgICAgcGxhbmUtPmZ1bmNzLT5mb3JtYXRfbW9kX3N1cHBvcnRlZChw bGFuZSwKKwkJCQkJCQkJICAgICAgIHBsYW5lLT5mb3JtYXRfdHlwZXNbal0sCisJCQkJCQkJCSAg ICAgICBwbGFuZS0+bW9kaWZpZXJzW2ldKSkgeworCQkJCQlpZiAoV0FSTl9PTihqID4gMzEpKQor CQkJCQkJYnJlYWs7CisJCQkJCW1vZC5mb3JtYXRzIHw9IDEgPDwgajsKKwkJCQl9CisJCQl9CisK KwkJCWlmIChjb3B5X3RvX3VzZXIobW9kaWZpZXJfcHRyLCAmbW9kLCBzaXplb2YobW9kKSkpCisJ CQkJcmV0dXJuIC1FRkFVTFQ7CisKKwkJCW1vZGlmaWVyX3B0cisrOworCQl9CisJfQorCisJcGxh bmVfcmVzcC0+Y291bnRfZm9ybWF0X21vZGlmaWVycyA9IHBsYW5lLT5tb2RpZmllcl9jb3VudDsK KwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBs ZV9rbXNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMK aW5kZXggMzVjNWQ5OTI5NmI5Li42YzA5OTY5NGZjY2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3Np bXBsZV9rbXNfaGVscGVyLmMKQEAgLTE5Myw2ICsxOTMsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9z aW1wbGVfZGlzcGxheV9waXBlX2F0dGFjaF9icmlkZ2UpOwogICogQGZ1bmNzOiBjYWxsYmFja3Mg Zm9yIHRoZSBkaXNwbGF5IHBpcGUgKG9wdGlvbmFsKQogICogQGZvcm1hdHM6IGFycmF5IG9mIHN1 cHBvcnRlZCBmb3JtYXRzIChEUk1fRk9STUFUXF9cKikKICAqIEBmb3JtYXRfY291bnQ6IG51bWJl ciBvZiBlbGVtZW50cyBpbiBAZm9ybWF0cworICogQGZvcm1hdF9tb2RpZmllcnM6IGFycmF5IG9m IGZvcm1hdHMgbW9kaWZpZXJzCiAgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgdG8gYXR0YWNoIGFu ZCByZWdpc3RlciAob3B0aW9uYWwpCiAgKgogICogU2V0cyB1cCBhIGRpc3BsYXkgcGlwZWxpbmUg d2hpY2ggY29uc2lzdCBvZiBhIHJlYWxseSBzaW1wbGUKQEAgLTIxMyw2ICsyMTQsNyBAQCBpbnQg ZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJ c3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCQkJY29uc3Qgc3RydWN0IGRy bV9zaW1wbGVfZGlzcGxheV9waXBlX2Z1bmNzICpmdW5jcywKIAkJCWNvbnN0IHVpbnQzMl90ICpm b3JtYXRzLCB1bnNpZ25lZCBpbnQgZm9ybWF0X2NvdW50LAorCQkJY29uc3QgdWludDY0X3QgKmZv cm1hdF9tb2RpZmllcnMsCiAJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewog CXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZwaXBlLT5lbmNvZGVyOwpAQCAtMjI3LDYg KzIyOSw3IEBAIGludCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIDAs CiAJCQkJICAgICAgICZkcm1fc2ltcGxlX2ttc19wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgZm9y bWF0cywgZm9ybWF0X2NvdW50LAorCQkJCSAgICAgICBmb3JtYXRfbW9kaWZpZXJzLAogCQkJCSAg ICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKIAlpZiAocmV0KQogCQlyZXR1cm4g cmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5l LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYwppbmRleCBjMmYx N2YzMGFmYWIuLjc1ZDQ5MjhkZDE5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfZHJtX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3Nf ZHJtX3BsYW5lLmMKQEAgLTI4NCw3ICsyODQsNyBAQCBpbnQgZXh5bm9zX3BsYW5lX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICAgICAgJmV4eW5vc19wbGFuZV9mdW5jcywKIAkJ CQkgICAgICAgY29uZmlnLT5waXhlbF9mb3JtYXRzLAogCQkJCSAgICAgICBjb25maWctPm51bV9w aXhlbF9mb3JtYXRzLAotCQkJCSAgICAgICBjb25maWctPnR5cGUsIE5VTEwpOworCQkJCSAgICAg ICBOVUxMLCBjb25maWctPnR5cGUsIE5VTEwpOwogCWlmIChlcnIpIHsKIAkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gaW5pdGlhbGl6ZSBwbGFuZVxuIik7CiAJCXJldHVybiBlcnI7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFuZS5jIGIvZHJpdmVycy9n cHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYwppbmRleCAwYTIwNzIzYWE2ZTEuLjk1 NTRiMjQ1NzQ2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFu ZS5jCkBAIC0yMjQsNyArMjI0LDcgQEAgc3RydWN0IGRybV9wbGFuZSAqZnNsX2RjdV9kcm1fcHJp bWFyeV9jcmVhdGVfcGxhbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCQkgICAgICAgJmZz bF9kY3VfZHJtX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBmc2xfZGN1X2RybV9wbGFuZV9mb3Jt YXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGZzbF9kY3VfZHJtX3BsYW5lX2Zvcm1hdHMpLAot CQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKKwkJCQkgICAgICAgTlVM TCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlrZnJlZShw cmltYXJ5KTsKIAkJcHJpbWFyeSA9IE5VTEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5jIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNv bi9oaWJtYy9oaWJtY19kcm1fZGUuYwppbmRleCBjNjU1ODgzZDM2MTMuLjkxOWNjODA3ODA5ZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZGUu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5jCkBA IC0xODEsNiArMTgxLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmhpYm1jX3BsYW5lX2lu aXQoc3RydWN0IGhpYm1jX2RybV9wcml2YXRlICpwcml2KQogCXJldCA9IGRybV91bml2ZXJzYWxf cGxhbmVfaW5pdChkZXYsIHBsYW5lLCAxLCAmaGlibWNfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAg IGNoYW5uZWxfZm9ybWF0czEsCiAJCQkJICAgICAgIEFSUkFZX1NJWkUoY2hhbm5lbF9mb3JtYXRz MSksCisJCQkJICAgICAgIE5VTEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlks CiAJCQkJICAgICAgIE5VTEwpOwogCWlmIChyZXQpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jIGIvZHJpdmVycy9ncHUvZHJtL2hp c2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMKaW5kZXggMzA3ZDQ2MGFiNjg0Li5iNDMzYjhl N2M5Y2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5f ZHJtX2FkZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJt X2FkZS5jCkBAIC05MTEsNyArOTExLDcgQEAgc3RhdGljIGludCBhZGVfcGxhbmVfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgYWRlX3BsYW5lICphcGxhbmUsCiAJCXJldHVybiBy ZXQ7CiAKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmYXBsYW5lLT5iYXNl LCAxLCAmYWRlX3BsYW5lX2Z1bmNzLAotCQkJCSAgICAgICBmbXRzLCBmbXRzX2NudCwgdHlwZSwg TlVMTCk7CisJCQkJICAgICAgIGZtdHMsIGZtdHNfY250LCBOVUxMLCB0eXBlLCBOVUxMKTsKIAlp ZiAocmV0KSB7CiAJCURSTV9FUlJPUigiZmFpbCB0byBpbml0IHBsYW5lLCBjaD0lZFxuIiwgYXBs YW5lLT5jaCk7CiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK aW5kZXggYjU0NzMzMmVlZGExLi44NzE1YjEwODNkMWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKQEAgLTE1MzAzLDYgKzE1MzAzLDggQEAgaW50ZWxfbGVnYWN5X2N1cnNvcl91 cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkJCSAgICAgIHNyY194LCBzcmNfeSwg c3JjX3csIHNyY19oKTsKIH0KIAorCisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1 bmNzIGludGVsX2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsKIAkudXBkYXRlX3BsYW5lID0gaW50ZWxf bGVnYWN5X2N1cnNvcl91cGRhdGUsCiAJLmRpc2FibGVfcGxhbmUgPSBkcm1fYXRvbWljX2hlbHBl cl9kaXNhYmxlX3BsYW5lLApAQCAtMTUzODcsMTggKzE1Mzg5LDIxIEBAIGludGVsX3ByaW1hcnlf cGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBl IHBpcGUpCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwg JnByaW1hcnktPmJhc2UsCiAJCQkJCSAgICAgICAwLCAmaW50ZWxfcGxhbmVfZnVuY3MsCiAJCQkJ CSAgICAgICBpbnRlbF9wcmltYXJ5X2Zvcm1hdHMsIG51bV9mb3JtYXRzLAorCQkJCQkgICAgICAg TlVMTCwKIAkJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksCiAJCQkJCSAgICAgICAi cGxhbmUgMSVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDUgfHwgSVNfRzRYKGRldl9wcml2KSkKIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFu ZV9pbml0KCZkZXZfcHJpdi0+ZHJtLCAmcHJpbWFyeS0+YmFzZSwKIAkJCQkJICAgICAgIDAsICZp bnRlbF9wbGFuZV9mdW5jcywKIAkJCQkJICAgICAgIGludGVsX3ByaW1hcnlfZm9ybWF0cywgbnVt X2Zvcm1hdHMsCisJCQkJCSAgICAgICBOVUxMLAogCQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVf UFJJTUFSWSwKIAkJCQkJICAgICAgICJwcmltYXJ5ICVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKIAll bHNlCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwgJnBy aW1hcnktPmJhc2UsCiAJCQkJCSAgICAgICAwLCAmaW50ZWxfcGxhbmVfZnVuY3MsCiAJCQkJCSAg ICAgICBpbnRlbF9wcmltYXJ5X2Zvcm1hdHMsIG51bV9mb3JtYXRzLAorCQkJCQkgICAgICAgTlVM TCwKIAkJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksCiAJCQkJCSAgICAgICAicGxh bmUgJWMiLCBwbGFuZV9uYW1lKHByaW1hcnktPnBsYW5lKSk7CiAJaWYgKHJldCkKQEAgLTE1NTYz LDcgKzE1NTY4LDcgQEAgaW50ZWxfY3Vyc29yX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQogCQkJCSAgICAgICAwLCAmaW50ZWxf Y3Vyc29yX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBpbnRlbF9jdXJzb3JfZm9ybWF0cywKIAkJ CQkgICAgICAgQVJSQVlfU0laRShpbnRlbF9jdXJzb3JfZm9ybWF0cyksCi0JCQkJICAgICAgIERS TV9QTEFORV9UWVBFX0NVUlNPUiwKKwkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfQ1VS U09SLAogCQkJCSAgICAgICAiY3Vyc29yICVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKIAlpZiAocmV0 KQogCQlnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IDA2M2E5 OTQ4MTVkMC4uMWMyZjI2ZDg2Zjc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpA QCAtMTEyNywxMyArMTEyNywxMyBAQCBpbnRlbF9zcHJpdGVfcGxhbmVfY3JlYXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9p bml0KCZkZXZfcHJpdi0+ZHJtLCAmaW50ZWxfcGxhbmUtPmJhc2UsCiAJCQkJCSAgICAgICBwb3Nz aWJsZV9jcnRjcywgJmludGVsX3BsYW5lX2Z1bmNzLAogCQkJCQkgICAgICAgcGxhbmVfZm9ybWF0 cywgbnVtX3BsYW5lX2Zvcm1hdHMsCi0JCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9PVkVSTEFZ LAorCQkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwKIAkJCQkJICAgICAg ICJwbGFuZSAlZCVjIiwgcGxhbmUgKyAyLCBwaXBlX25hbWUocGlwZSkpOwogCWVsc2UKIAkJcmV0 ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KCZkZXZfcHJpdi0+ZHJtLCAmaW50ZWxfcGxhbmUt PmJhc2UsCiAJCQkJCSAgICAgICBwb3NzaWJsZV9jcnRjcywgJmludGVsX3BsYW5lX2Z1bmNzLAog CQkJCQkgICAgICAgcGxhbmVfZm9ybWF0cywgbnVtX3BsYW5lX2Zvcm1hdHMsCi0JCQkJCSAgICAg ICBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLAorCQkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZ UEVfT1ZFUkxBWSwKIAkJCQkJICAgICAgICJzcHJpdGUgJWMiLCBzcHJpdGVfbmFtZShwaXBlLCBw bGFuZSkpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pbXgvaXB1djMtcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUu YwppbmRleCA4YjUyOTRkNDdjZWUuLmVmOWUxMWI5OGIzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMt cGxhbmUuYwpAQCAtNDk2LDggKzQ5Niw4IEBAIHN0cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFuZV9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpcHVfc29jICppcHUsCiAKIAlyZXQg PSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmaXB1X3BsYW5lLT5iYXNlLCBwb3NzaWJs ZV9jcnRjcywKIAkJCQkgICAgICAgJmlwdV9wbGFuZV9mdW5jcywgaXB1X3BsYW5lX2Zvcm1hdHMs Ci0JCQkJICAgICAgIEFSUkFZX1NJWkUoaXB1X3BsYW5lX2Zvcm1hdHMpLCB0eXBlLAotCQkJCSAg ICAgICBOVUxMKTsKKwkJCQkgICAgICAgQVJSQVlfU0laRShpcHVfcGxhbmVfZm9ybWF0cyksCisJ CQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gaW5pdGlhbGl6ZSBwbGFuZVxuIik7CiAJCWtmcmVlKGlwdV9wbGFuZSk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYwppbmRleCBlNDA1ZTg5ZWQ1ZTUuLmJl YzZkMTRkZDA3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f cGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jCkBA IC0xNzMsNyArMTczLDcgQEAgaW50IG10a19wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCiAJZXJyID0gZHJtX3VuaXZlcnNhbF9wbGFu ZV9pbml0KGRldiwgcGxhbmUsIHBvc3NpYmxlX2NydGNzLAogCQkJCSAgICAgICAmbXRrX3BsYW5l X2Z1bmNzLCBmb3JtYXRzLAotCQkJCSAgICAgICBBUlJBWV9TSVpFKGZvcm1hdHMpLCB0eXBlLCBO VUxMKTsKKwkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwgTlVMTCwgdHlwZSwgTlVMTCk7 CiAJaWYgKGVycikgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBpbml0aWFsaXplIHBsYW5lXG4i KTsKIAkJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNv bl9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3BsYW5lLmMKaW5kZXggNjQy YjJmYWI0MmZmLi4xM2M3YzJjMWQ0Y2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNv bi9tZXNvbl9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9wbGFuZS5j CkBAIC0yMjAsNiArMjIwLDcgQEAgaW50IG1lc29uX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgbWVzb25f ZHJtICpwcml2KQogCQkJCSAmbWVzb25fcGxhbmVfZnVuY3MsCiAJCQkJIHN1cHBvcnRlZF9kcm1f Zm9ybWF0cywKIAkJCQkgQVJSQVlfU0laRShzdXBwb3J0ZWRfZHJtX2Zvcm1hdHMpLAorCQkJCSBO VUxMLAogCQkJCSBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCAibWVzb25fcHJpbWFyeV9wbGFuZSIp OwogCiAJZHJtX3BsYW5lX2hlbHBlcl9hZGQocGxhbmUsICZtZXNvbl9wbGFuZV9oZWxwZXJfZnVu Y3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X3BsYW5l LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfcGxhbmUuYwppbmRleCA1MzYx OWQwNzY3N2UuLjhmMzQxN2U0NWQ0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9t ZHAvbWRwNC9tZHA0X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9t ZHA0X3BsYW5lLmMKQEAgLTM5OCw3ICszOTgsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICptZHA0X3Bs YW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl0eXBlID0gcHJpdmF0ZV9wbGFuZSA/ IERSTV9QTEFORV9UWVBFX1BSSU1BUlkgOiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwogCXJldCA9 IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAweGZmLCAmbWRwNF9wbGFuZV9m dW5jcywKIAkJCQkgbWRwNF9wbGFuZS0+Zm9ybWF0cywgbWRwNF9wbGFuZS0+bmZvcm1hdHMsCi0J CQkJIHR5cGUsIE5VTEwpOworCQkJCSBOVUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAocmV0KQogCQln b3RvIGZhaWw7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKaW5k ZXggNzUyNDdlYTQzMzViLi5jMjA2OGMzMGNhNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9wbGFuZS5jCkBAIC04ODIsNyArODgyLDcgQEAgc3RydWN0IGRybV9wbGFuZSAq bWRwNV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcHJpbWFyeSkKIAl0 eXBlID0gcHJpbWFyeSA/IERSTV9QTEFORV9UWVBFX1BSSU1BUlkgOiBEUk1fUExBTkVfVFlQRV9P VkVSTEFZOwogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAweGZm LCAmbWRwNV9wbGFuZV9mdW5jcywKIAkJCQkgbWRwNV9wbGFuZS0+Zm9ybWF0cywgbWRwNV9wbGFu ZS0+bmZvcm1hdHMsCi0JCQkJIHR5cGUsIE5VTEwpOworCQkJCSBOVUxMLCB0eXBlLCBOVUxMKTsK IAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t eHNmYi9teHNmYl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwppbmRl eCA5NTU0NDFmNzE1MDAuLmYyOWQ0NjNlMDNhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L214c2ZiL214c2ZiX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYu YwpAQCAtMTg2LDcgKzE4Niw3IEBAIHN0YXRpYyBpbnQgbXhzZmJfbG9hZChzdHJ1Y3QgZHJtX2Rl dmljZSAqZHJtLCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCX0KIAogCXJldCA9IGRybV9zaW1wbGVf ZGlzcGxheV9waXBlX2luaXQoZHJtLCAmbXhzZmItPnBpcGUsICZteHNmYl9mdW5jcywKLQkJCW14 c2ZiX2Zvcm1hdHMsIEFSUkFZX1NJWkUobXhzZmJfZm9ybWF0cyksCisJCQlteHNmYl9mb3JtYXRz LCBBUlJBWV9TSVpFKG14c2ZiX2Zvcm1hdHMpLCBOVUxMLCAwLAogCQkJJm14c2ZiLT5jb25uZWN0 b3IpOwogCWlmIChyZXQgPCAwKSB7CiAJCWRldl9lcnIoZHJtLT5kZXYsICJDYW5ub3Qgc2V0dXAg c2ltcGxlIGRpc3BsYXkgcGlwZVxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9udjUwX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxh eS5jCmluZGV4IGNiODVjYjcyZGMxYy4uY2Y1ZWQ5OGNhZWQ0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9udjUwX2Rpc3BsYXkuYwpAQCAtMTA3OSw4ICsxMDc5LDkgQEAgbnY1MF93bmR3X2N0b3Io Y29uc3Qgc3RydWN0IG52NTBfd25kd19mdW5jICpmdW5jLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogCXduZHctPmZ1bmMgPSBmdW5jOwogCXduZHctPmRtYWMgPSBkbWFjOwogCi0JcmV0ID0gZHJt X3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJnduZHctPnBsYW5lLCAwLCAmbnY1MF93bmR3LCBm b3JtYXQsCi0JCQkJICAgICAgIG5mb3JtYXQsIHR5cGUsICIlcy0lZCIsIG5hbWUsIGluZGV4KTsK KwlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmd25kdy0+cGxhbmUsIDAsICZu djUwX3duZHcsCisJCQkJICAgICAgIGZvcm1hdCwgbmZvcm1hdCwgTlVMTCwKKwkJCQkgICAgICAg dHlwZSwgIiVzLSVkIiwgbmFtZSwgaW5kZXgpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYyBiL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYwppbmRleCA4MmIyYzIzZDY3NjkuLmI0YTU3 NWNmN2U3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYwpAQCAtMzgzLDcgKzM4 Myw4IEBAIHN0cnVjdCBkcm1fcGxhbmUgKm9tYXBfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIHBv c3NpYmxlX2NydGNzLAogCQkJCSAgICAgICAmb21hcF9wbGFuZV9mdW5jcywgb21hcF9wbGFuZS0+ Zm9ybWF0cywKLQkJCQkgICAgICAgb21hcF9wbGFuZS0+bmZvcm1hdHMsIHR5cGUsIE5VTEwpOwor CQkJCSAgICAgICBvbWFwX3BsYW5lLT5uZm9ybWF0cywKKwkJCQkgICAgICAgTlVMTCwgdHlwZSwg TlVMTCk7CiAJaWYgKHJldCA8IDApCiAJCWdvdG8gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9yY2Fy LWR1L3JjYXJfZHVfcGxhbmUuYwppbmRleCBkY2RlNjI4OGRhNmMuLjJiMDJlY2NiZmI3MCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9wbGFuZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYwpAQCAtNzQzLDggKzc0Myw4IEBA IGludCByY2FyX2R1X3BsYW5lc19pbml0KHN0cnVjdCByY2FyX2R1X2dyb3VwICpyZ3JwKQogCiAJ CXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChyY2R1LT5kZGV2LCAmcGxhbmUtPnBsYW5l LCBjcnRjcywKIAkJCQkJICAgICAgICZyY2FyX2R1X3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJ CQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwgdHlwZSwKLQkJCQkJICAgICAgIE5VTEwpOwor CQkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwKKwkJCQkJICAgICAgIE5VTEwsIHR5cGUs IE5VTEwpOwogCQlpZiAocmV0IDwgMCkKIAkJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X3ZzcC5jCmluZGV4IGI1YmZiZTUwYmQ4Ny4uNzQ0YmUwMjk0MzZiIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3ZzcC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMKQEAgLTM2NCw4ICszNjQsOSBAQCBpbnQg cmNhcl9kdV92c3BfaW5pdChzdHJ1Y3QgcmNhcl9kdV92c3AgKnZzcCkKIAkJCQkJICAgICAgIDEg PDwgdnNwLT5pbmRleCwKIAkJCQkJICAgICAgICZyY2FyX2R1X3ZzcF9wbGFuZV9mdW5jcywKIAkJ CQkJICAgICAgIGZvcm1hdHNfa21zLAotCQkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzX2tt cyksIHR5cGUsCi0JCQkJCSAgICAgICBOVUxMKTsKKwkJCQkJICAgICAgIEFSUkFZX1NJWkUoZm9y bWF0c19rbXMpLAorCQkJCQkgICAgICAgTlVMTCwKKwkJCQkJICAgICAgIHR5cGUsIE5VTEwpOwog CQlpZiAocmV0IDwgMCkKIAkJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvcm9ja2NoaXBfZHJtX3ZvcC5jCmluZGV4IGZiNWYwMDFmNTFjMy4uODI2YjM3NjExNGY2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKQEAgLTEyMjEs NyArMTIyMSw3IEBAIHN0YXRpYyBpbnQgdm9wX2NyZWF0ZV9jcnRjKHN0cnVjdCB2b3AgKnZvcCkK IAkJCQkJICAgICAgIDAsICZ2b3BfcGxhbmVfZnVuY3MsCiAJCQkJCSAgICAgICB3aW5fZGF0YS0+ cGh5LT5kYXRhX2Zvcm1hdHMsCiAJCQkJCSAgICAgICB3aW5fZGF0YS0+cGh5LT5uZm9ybWF0cywK LQkJCQkJICAgICAgIHdpbl9kYXRhLT50eXBlLCBOVUxMKTsKKwkJCQkJICAgICAgIE5VTEwsIHdp bl9kYXRhLT50eXBlLCBOVUxMKTsKIAkJaWYgKHJldCkgewogCQkJRFJNX0RFVl9FUlJPUih2b3At PmRldiwgImZhaWxlZCB0byBpbml0IHBsYW5lICVkXG4iLAogCQkJCSAgICAgIHJldCk7CkBAIC0x MjYwLDcgKzEyNjAsNyBAQCBzdGF0aWMgaW50IHZvcF9jcmVhdGVfY3J0YyhzdHJ1Y3Qgdm9wICp2 b3ApCiAJCQkJCSAgICAgICAmdm9wX3BsYW5lX2Z1bmNzLAogCQkJCQkgICAgICAgd2luX2RhdGEt PnBoeS0+ZGF0YV9mb3JtYXRzLAogCQkJCQkgICAgICAgd2luX2RhdGEtPnBoeS0+bmZvcm1hdHMs Ci0JCQkJCSAgICAgICB3aW5fZGF0YS0+dHlwZSwgTlVMTCk7CisJCQkJCSAgICAgICBOVUxMLCB3 aW5fZGF0YS0+dHlwZSwgTlVMTCk7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9ERVZfRVJST1Iodm9w LT5kZXYsICJmYWlsZWQgdG8gaW5pdCBvdmVybGF5ICVkXG4iLAogCQkJCSAgICAgIHJldCk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jdXJzb3IuYyBiL2RyaXZlcnMvZ3B1 L2RybS9zdGkvc3RpX2N1cnNvci5jCmluZGV4IGNjYTc1YmRkYjlhZC4uZjYxODA4YjQxOWE1IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jdXJzb3IuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vc3RpL3N0aV9jdXJzb3IuYwpAQCAtMzkzLDYgKzM5Myw3IEBAIHN0cnVjdCBkcm1f cGxhbmUgKnN0aV9jdXJzb3JfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAogCQkJ CSAgICAgICAmc3RpX2N1cnNvcl9wbGFuZV9oZWxwZXJzX2Z1bmNzLAogCQkJCSAgICAgICBjdXJz b3Jfc3VwcG9ydGVkX2Zvcm1hdHMsCiAJCQkJICAgICAgIEFSUkFZX1NJWkUoY3Vyc29yX3N1cHBv cnRlZF9mb3JtYXRzKSwKKwkJCQkgICAgICAgTlVMTCwKIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZ UEVfQ1VSU09SLCBOVUxMKTsKIAlpZiAocmVzKSB7CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGlu aXRpYWxpemUgdW5pdmVyc2FsIHBsYW5lXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9zdGkvc3RpX2dkcC5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMKaW5kZXggODc3 ZDA1M2Q4NmY0Li42YmYxYTU5MmNlZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX2dkcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5jCkBAIC05MjEsNyAr OTIxLDcgQEAgc3RydWN0IGRybV9wbGFuZSAqc3RpX2dkcF9jcmVhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRybV9kZXYsCiAJCQkJICAgICAgICZzdGlfZ2RwX3BsYW5lX2hlbHBlcnNfZnVuY3MsCiAJ CQkJICAgICAgIGdkcF9zdXBwb3J0ZWRfZm9ybWF0cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShn ZHBfc3VwcG9ydGVkX2Zvcm1hdHMpLAotCQkJCSAgICAgICB0eXBlLCBOVUxMKTsKKwkJCQkgICAg ICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJlcykgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0 byBpbml0aWFsaXplIHVuaXZlcnNhbCBwbGFuZVxuIik7CiAJCWdvdG8gZXJyOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaHF2ZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX2hxdmRwLmMKaW5kZXggYmVjZjEwZDI1NWM0Li45MTFlOGYwZjY5YTYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hxdmRwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfaHF2ZHAuYwpAQCAtMTI3Nyw3ICsxMjc3LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxh bmUgKnN0aV9ocXZkcF9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCiAJCQkJICAg ICAgICZzdGlfaHF2ZHBfcGxhbmVfaGVscGVyc19mdW5jcywKIAkJCQkgICAgICAgaHF2ZHBfc3Vw cG9ydGVkX2Zvcm1hdHMsCiAJCQkJICAgICAgIEFSUkFZX1NJWkUoaHF2ZHBfc3VwcG9ydGVkX2Zv cm1hdHMpLAotCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLCBOVUxMKTsKKwkJCQkg ICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwgTlVMTCk7CiAJaWYgKHJlcykgewog CQlEUk1fRVJST1IoIkZhaWxlZCB0byBpbml0aWFsaXplIHVuaXZlcnNhbCBwbGFuZVxuIik7CiAJ CXJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2xh eWVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfbGF5ZXIuYwppbmRleCA1ZDUzYzk3 N2JjYTUuLjgyN2Y0NTM2NDY1NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1 bjRpX2xheWVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2xheWVyLmMKQEAg LTExNyw2ICsxMTcsNyBAQCBzdGF0aWMgc3RydWN0IHN1bjRpX2xheWVyICpzdW40aV9sYXllcl9p bml0X29uZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxh bmVfaW5pdChkcm0sICZsYXllci0+cGxhbmUsIEJJVCgwKSwKIAkJCQkgICAgICAgJnN1bjRpX2Jh Y2tlbmRfbGF5ZXJfZnVuY3MsCiAJCQkJICAgICAgIHBsYW5lLT5mb3JtYXRzLCBwbGFuZS0+bmZv cm1hdHMsCisJCQkJICAgICAgIE5VTEwsCiAJCQkJICAgICAgIHBsYW5lLT50eXBlLCBOVUxMKTsK IAlpZiAocmV0KSB7CiAJCWRldl9lcnIoZHJtLT5kZXYsICJDb3VsZG4ndCBpbml0aWFsaXplIGxh eWVyXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2RjLmMKaW5kZXggNzU2MWE5NWE1NGUzLi45ZGRlYTg0MjA4YzQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS90ZWdyYS9kYy5jCkBAIC02NTUsOCArNjU1LDggQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUg KnRlZ3JhX2RjX3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAK IAllcnIgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZHJtLCAmcGxhbmUtPmJhc2UsIHBvc3Np YmxlX2NydGNzLAogCQkJCSAgICAgICAmdGVncmFfcHJpbWFyeV9wbGFuZV9mdW5jcywgZm9ybWF0 cywKLQkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIERSTV9QTEFORV9UWVBFX1BSSU1BUlksCi0JCQkJ ICAgICAgIE5VTEwpOworCQkJCSAgICAgICBudW1fZm9ybWF0cywgTlVMTCwKKwkJCQkgICAgICAg RFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKGVyciA8IDApIHsKIAkJa2ZyZWUo cGxhbmUpOwogCQlyZXR1cm4gRVJSX1BUUihlcnIpOwpAQCAtODIxLDggKzgyMSw4IEBAIHN0YXRp YyBzdHJ1Y3QgZHJtX3BsYW5lICp0ZWdyYV9kY19jdXJzb3JfcGxhbmVfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sCiAKIAllcnIgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZHJtLCAm cGxhbmUtPmJhc2UsIDEgPDwgZGMtPnBpcGUsCiAJCQkJICAgICAgICZ0ZWdyYV9jdXJzb3JfcGxh bmVfZnVuY3MsIGZvcm1hdHMsCi0JCQkJICAgICAgIG51bV9mb3JtYXRzLCBEUk1fUExBTkVfVFlQ RV9DVVJTT1IsCi0JCQkJICAgICAgIE5VTEwpOworCQkJCSAgICAgICBudW1fZm9ybWF0cywgTlVM TCwKKwkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfQ1VSU09SLCBOVUxMKTsKIAlpZiAoZXJyIDwg MCkgewogCQlrZnJlZShwbGFuZSk7CiAJCXJldHVybiBFUlJfUFRSKGVycik7CkBAIC04ODMsOCAr ODgzLDggQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKnRlZ3JhX2RjX292ZXJsYXlfcGxhbmVf Y3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAKIAllcnIgPSBkcm1fdW5pdmVyc2FsX3Bs YW5lX2luaXQoZHJtLCAmcGxhbmUtPmJhc2UsIDEgPDwgZGMtPnBpcGUsCiAJCQkJICAgICAgICZ0 ZWdyYV9vdmVybGF5X3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJCSAgICAgICBudW1fZm9ybWF0 cywgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwKLQkJCQkgICAgICAgTlVMTCk7CisJCQkJICAgICAg IG51bV9mb3JtYXRzLCBOVUxMLAorCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLCBO VUxMKTsKIAlpZiAoZXJyIDwgMCkgewogCQlrZnJlZShwbGFuZSk7CiAJCXJldHVybiBFUlJfUFRS KGVycik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jIGIvZHJp dmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYwppbmRleCAxMTBkMTUxOGY1ZDUuLjQ4N2JiNDBl MGU0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCkBAIC04NjEsNyArODYxLDcgQEAgc3RydWN0 IGRybV9wbGFuZSAqdmM0X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXQg PSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwKIAkJCQkgICAgICAg JnZjNF9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgZm9ybWF0cywgbnVtX2Zvcm1hdHMsCi0JCQkJ ICAgICAgIHR5cGUsIE5VTEwpOworCQkJCSAgICAgICBOVUxMLCB0eXBlLCBOVUxMKTsKIAogCWRy bV9wbGFuZV9oZWxwZXJfYWRkKHBsYW5lLCAmdmM0X3BsYW5lX2hlbHBlcl9mdW5jcyk7CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9wbGFuZS5jIGIvZHJpdmVy cy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMKaW5kZXggMTEyODhmZmE0YWY2Li4wMGYz NjhjZGUwYjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9wbGFu ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9wbGFuZS5jCkBAIC0yMjUs NyArMjI1LDcgQEAgc3RydWN0IGRybV9wbGFuZSAqdmlydGlvX2dwdV9wbGFuZV9pbml0KHN0cnVj dCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYsCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9p bml0KGRldiwgcGxhbmUsIDEgPDwgaW5kZXgsCiAJCQkJICAgICAgICZ2aXJ0aW9fZ3B1X3BsYW5l X2Z1bmNzLAogCQkJCSAgICAgICBmb3JtYXRzLCBuZm9ybWF0cywKLQkJCQkgICAgICAgdHlwZSwg TlVMTCk7CisJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChyZXQpCiAJCWdvdG8g ZXJyX3BsYW5lX2luaXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxh bmUuYyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUuYwppbmRleCBiNjM0YjA5MGNkYzEu LmM1N2Q0ZmU1ZGExOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9wbGFuZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUuYwpAQCAtMjg3LDcgKzI4Nyw3IEBA IHN0cnVjdCBkcm1fcGxhbmUgKnp4X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwg c3RydWN0IGRldmljZSAqZGV2LAogCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRy bSwgcGxhbmUsIFZPVV9DUlRDX01BU0ssCiAJCQkJICAgICAgICZ6eF9wbGFuZV9mdW5jcywgZm9y bWF0cywgZm9ybWF0X2NvdW50LAotCQkJCSAgICAgICB0eXBlLCBOVUxMKTsKKwkJCQkgICAgICAg TlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlEUk1fREVWX0VSUk9SKGRldiwgImZh aWxlZCB0byBpbml0IHVuaXZlcnNhbCBwbGFuZTogJWRcbiIsIHJldCk7CiAJCXJldHVybiBFUlJf UFRSKHJldCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaCBiL2luY2x1ZGUv ZHJtL2RybV9wbGFuZS5oCmluZGV4IGUwNDliYzUyZmIwNy4uMTA4YTk1NTQzOGU1IDEwMDY0NAot LS0gYS9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUu aApAQCAtMzg5LDYgKzM4OSwyMCBAQCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIHsKIAkgKi8KIAl2 b2lkICgqYXRvbWljX3ByaW50X3N0YXRlKShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCiAJCQkJICAg Y29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpOworCisJLyoqCisJICogQGZvcm1h dF9tb2Rfc3VwcG9ydGVkOgorCSAqCisJICogVGhpcyBvcHRpb25hbCBob29rIGlzIHVzZWQgZm9y IHRoZSBEUk0gdG8gZGV0ZXJtaW5lIGlmIHRoZSBnaXZlbgorCSAqIGZvcm1hdC9tb2RpZmllciBj b21iaW5hdGlvbiBpcyB2YWxpZCBmb3IgdGhlIHBsYW5lLiBUaGlzIGFsbG93cyB0aGUKKwkgKiBE Uk0gdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgZm9ybWF0IGJpdG1hc2sgKHdoaWNoIGZvcm1hdHMg YXBwbHkgdG8KKwkgKiB3aGljaCBtb2RpZmllcikuCisJICoKKwkgKiBUcnVlIGlmIHRoZSBnaXZl biBtb2RpZmllciBpcyB2YWxpZCBmb3IgdGhhdCBmb3JtYXQgb24gdGhlIHBsYW5lLgorCSAqIEZh bHNlIG90aGVyd2lzZS4KKwkgKi8KKwlib29sICgqZm9ybWF0X21vZF9zdXBwb3J0ZWQpKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLCB1aW50MzJfdCBmb3JtYXQsCisJCQkJICAgICB1aW50NjRfdCBt b2RpZmllcik7CiB9OwogCiAvKioKQEAgLTQ4Myw2ICs0OTcsMTAgQEAgc3RydWN0IGRybV9wbGFu ZSB7CiAJdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudDsKIAlib29sIGZvcm1hdF9kZWZhdWx0Owog CisJdWludDMyX3QgKmZvcm1hdHM7CisJdWludDY0X3QgKm1vZGlmaWVyczsKKwl1bnNpZ25lZCBp bnQgbW9kaWZpZXJfY291bnQ7CisKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZmI7CiAKQEAgLTUxMCwxMyArNTI4LDE0IEBAIHN0cnVjdCBkcm1fcGxh bmUgewogCiAjZGVmaW5lIG9ial90b19wbGFuZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGRy bV9wbGFuZSwgYmFzZSkKIAotZXh0ZXJuIF9fcHJpbnRmKDgsIDkpCitleHRlcm4gX19wcmludGYo OSwgMTApCiBpbnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJCQkgICAgIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJICAgICB1aW50MzJfdCBw b3NzaWJsZV9jcnRjcywKIAkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyAqZnVu Y3MsCiAJCQkgICAgIGNvbnN0IHVpbnQzMl90ICpmb3JtYXRzLAogCQkJICAgICB1bnNpZ25lZCBp bnQgZm9ybWF0X2NvdW50LAorCQkJICAgICBjb25zdCB1aW50NjRfdCAqZm9ybWF0X21vZGlmaWVy cywKIAkJCSAgICAgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlLAogCQkJICAgICBjb25zdCBjaGFy ICpuYW1lLCAuLi4pOwogZXh0ZXJuIGludCBkcm1fcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmgg Yi9pbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuaAppbmRleCBmZThjNGJhOTA1YWMu LjA1OWNkNTkyYTEyNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVs cGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmgKQEAgLTExOCw2 ICsxMTgsNyBAQCBpbnQgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkJc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCQkJ Y29uc3Qgc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2Z1bmNzICpmdW5jcywKIAkJCWNv bnN0IHVpbnQzMl90ICpmb3JtYXRzLCB1bnNpZ25lZCBpbnQgZm9ybWF0X2NvdW50LAorCQkJY29u c3QgdWludDY0X3QgKmZvcm1hdF9tb2RpZmllcnMsCiAJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKTsKIAogI2VuZGlmIC8qIF9fTElOVVhfRFJNX1NJTVBMRV9LTVNfSEVMUEVSX0gg Ki8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJt L2RybS5oCmluZGV4IGIyYzUyODQzYmM3MC4uNDg3ZTBmMTcxMTNmIDEwMDY0NAotLS0gYS9pbmNs dWRlL3VhcGkvZHJtL2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKQEAgLTgwNSw2 ICs4MDUsNyBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfREVTVFJPWV9E VU1CICAgIERSTV9JT1dSKDB4QjQsIHN0cnVjdCBkcm1fbW9kZV9kZXN0cm95X2R1bWIpCiAjZGVm aW5lIERSTV9JT0NUTF9NT0RFX0dFVFBMQU5FUkVTT1VSQ0VTIERSTV9JT1dSKDB4QjUsIHN0cnVj dCBkcm1fbW9kZV9nZXRfcGxhbmVfcmVzKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9HRVRQTEFO RQlEUk1fSU9XUigweEI2LCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lKQorI2RlZmluZSBEUk1f SU9DVExfTU9ERV9HRVRQTEFORTIJRFJNX0lPV1IoMHhCNiwgc3RydWN0IGRybV9tb2RlX2dldF9w bGFuZTIpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX1NFVFBMQU5FCURSTV9JT1dSKDB4QjcsIHN0 cnVjdCBkcm1fbW9kZV9zZXRfcGxhbmUpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0FEREZCMgkJ RFJNX0lPV1IoMHhCOCwgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIpCiAjZGVmaW5lIERSTV9JT0NU TF9NT0RFX09CSl9HRVRQUk9QRVJUSUVTCURSTV9JT1dSKDB4QjksIHN0cnVjdCBkcm1fbW9kZV9v YmpfZ2V0X3Byb3BlcnRpZXMpCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9mb3Vy Y2MuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oCmluZGV4IDQ1ODFlM2Q0MWU1Yy4u NTg1OTAxNGQ5M2M3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaAor KysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaApAQCAtMTYyLDYgKzE2Miw4IEBAIGV4 dGVybiAiQyIgewogI2RlZmluZSBEUk1fRk9STUFUX01PRF9WRU5ET1JfUUNPTSAgICAweDA1CiAv KiBhZGQgbW9yZSB0byB0aGUgZW5kIGFzIG5lZWRlZCAqLwogCisjZGVmaW5lIERSTV9GT1JNQVRf UkVTRVJWRUQJICAgICAgKCgxVUxMIDw8IDU2KSAtIDEpCisKICNkZWZpbmUgZm91cmNjX21vZF9j b2RlKHZlbmRvciwgdmFsKSBcCiAJKCgoKF9fdTY0KURSTV9GT1JNQVRfTU9EX1ZFTkRPUl8jIyB2 ZW5kb3IpIDw8IDU2KSB8ICh2YWwgJiAweDAwZmZmZmZmZmZmZmZmZmZVTEwpKQogCkBAIC0xNzQs NiArMTc2LDE1IEBAIGV4dGVybiAiQyIgewogICovCiAKIC8qCisgKiBJbnZhbGlkIE1vZGlmaWVy CisgKgorICogVGhpcyBtb2RpZmllciBjYW4gYmUgdXNlZCBhcyBhIHNlbnRpbmVsIHRvIHRlcm1p bmF0ZSBsaXN0LCBvciB0byBpbml0aWFsaXplIGEKKyAqIHZhcmlhYmxlIHdpdGggYW4gaW52YWxp ZCBtb2RpZmllci4gSXQgbWlnaHQgYWxzbyBiZSB1c2VkIHRvIHJlcG9ydCBhbiBlcnJvcgorICog YmFjayB0byB1c2Vyc3BhY2UgZm9yIGNlcnRhaW4gQVBJcy4KKyAqLworI2RlZmluZSBEUk1fRk9S TUFUX01PRF9JTlZBTElECWZvdXJjY19tb2RfY29kZShOT05FLCBEUk1fRk9STUFUX1JFU0VSVkVE KQorCisvKgogICogTGluZWFyIExheW91dAogICoKICAqIEp1c3QgcGxhaW4gbGluZWFyIGxheW91 dC4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gbm8gc3BlY2lmeWluZyBhbnkKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0v ZHJtX21vZGUuaAppbmRleCBjZTdlZmUyZThhNWUuLjYzOTMyYjI4ZGRkMCAxMDA2NDQKLS0tIGEv aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21v ZGUuaApAQCAtMjA5LDYgKzIwOSw0MiBAQCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lIHsKIAlf X3U2NCBmb3JtYXRfdHlwZV9wdHI7CiB9OwogCitzdHJ1Y3QgZHJtX2Zvcm1hdF9tb2RpZmllciB7 CisJLyogQml0bWFzayBvZiBmb3JtYXRzIGluIGdldF9wbGFuZSBmb3JtYXQgbGlzdCB0aGlzIGlu Zm8gYXBwbGllcyB0by4gVGhlCisJICogb2Zmc2V0IGFsbG93cyBhIHNsaWRpbmcgd2luZG93IG9m IHdoaWNoIDMyIGZvcm1hdHMgKGJpdHMpLgorCSAqCisJICogRm9yIGV4YW1wbGUsIGlmIHRoZSBm b3JtYXRzIGdyZXcgdG8gMTI4LCBhbmQgdGhlIGxhc3QgZm9ybWF0cyB3ZXJlCisJICogc3VwcG9y dGVkIHdpdGggdGhlIG1vZGlmaWVyOgorCSAqCisJICogMHhGRkZGRkZGRiAwMDAwMDAwMCAwMDAw MDAwMCAwMDAwMDAwMAorCSAqICAgICAgICAgIF4KKwkgKiAgICAgICAgICB8X19vZmZzZXQgPSA5 NiwgZm9ybWF0cyA9IDB4ZmZmZmZmZmYKKwkgKi8KKwl1aW50MzJfdCBmb3JtYXRzOworCXVpbnQz Ml90IG9mZnNldDsKKworCS8qIFRoaXMgbW9kaWZpZXIgY2FuIGJlIHVzZWQgd2l0aCB0aGUgZm9y bWF0IGZvciB0aGlzIHBsYW5lLiAqLworCXVpbnQ2NF90IG1vZGlmaWVyOworfTsKKworc3RydWN0 IGRybV9tb2RlX2dldF9wbGFuZTIgeworCV9fdTMyIHBsYW5lX2lkOworCisJX191MzIgY3J0Y19p ZDsKKwlfX3UzMiBmYl9pZDsKKworCV9fdTMyIHBvc3NpYmxlX2NydGNzOworCV9fdTMyIGdhbW1h X3NpemU7CisKKwlfX3UzMiBjb3VudF9mb3JtYXRfdHlwZXM7CisJX191NjQgZm9ybWF0X3R5cGVf cHRyOworCisJLyogTmV3IGluIHYyICovCisJX191MzIgZmxhZ3M7CisJX191MzIgY291bnRfZm9y bWF0X21vZGlmaWVyczsKKwlfX3U2NCBmb3JtYXRfbW9kaWZpZXJfcHRyOworfTsKKwogc3RydWN0 IGRybV9tb2RlX2dldF9wbGFuZV9yZXMgewogCV9fdTY0IHBsYW5lX2lkX3B0cjsKIAlfX3UzMiBj b3VudF9wbGFuZXM7Ci0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=