From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 1/3] drm: Plumb modifiers through plane init Date: Tue, 2 May 2017 22:14:26 -0700 Message-ID: <20170503051428.4734-1-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Intel GFX , Ben Widawsky , Daniel Stone List-Id: intel-gfx@lists.freedesktop.org djI6IEEgbWlub3IgYWRkaXRpb24gZnJvbSBEYW5pZWwKCkNjOiBEYW5pZWwgU3RvbmUgPGRhbmll bHNAY29sbGFib3JhLmNvbT4KU2lnbmVkLW9mZi1ieTogQmVuIFdpZGF3c2t5IDxiZW5AYndpZGF3 c2submV0PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYyAgICAgICAgICAg ICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMgICAgICAgICAgICAg ICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYyAgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMgICAgICAgICAg ICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYyAgICAgICAg IHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMg fCAgNCArKystCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVscGVyLmMgICAgICAgICAg ICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyAgICAgICAgICAgICAgICAgICAg IHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2RybV9zaW1w bGVfa21zX2hlbHBlci5jICAgICAgICAgfCAgMyArKysKIGRyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zX2RybV9wbGFuZS5jICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9mc2wtZGN1 L2ZzbF9kY3VfZHJtX3BsYW5lLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9oaXNpbGlj b24vaGlibWMvaGlibWNfZHJtX2RlLmMgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNv bi9raXJpbi9raXJpbl9kcm1fYWRlLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jICAgICAgICAgICAgfCAgNyArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nwcml0ZS5jICAgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2lt eC9pcHV2My1wbGFuZS5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v bWVzb24vbWVzb25fcGxhbmUuYyAgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDQvbWRwNF9wbGFuZS5jICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDUvbWRwNV9wbGFuZS5jICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJt L214c2ZiL214c2ZiX2Rydi5jICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvbnY1MF9kaXNwbGF5LmMgICAgICAgICAgfCAgNSArKy0tCiBkcml2ZXJzL2dwdS9k cm0vb21hcGRybS9vbWFwX3BsYW5lLmMgICAgICAgICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUv ZHJtL3F4bC9xeGxfZGlzcGxheS5jICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9kdV9wbGFuZS5jICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dw dS9kcm0vcmNhci1kdS9yY2FyX2R1X3ZzcC5jICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMv Z3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgICAgIHwgIDQgKystLQogZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfaHF2ZHAuYyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL3N1bjRpL3N1bjRpX2xheWVyLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2RjLmMgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKy0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jICAgICAgICAgICAgICAgICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYyAgICAgICAgICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYyAgICAgICAgICAgICB8ICA0ICsr LS0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYyAgICAgICAgICAgIHwgIDQg KystLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3RkdS5jICAgICAgICAgICAgfCAg NCArKy0tCiBkcml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMgICAgICAgICAgICAgICAgICB8 ICAyICstCiBpbmNsdWRlL2RybS9kcm1fcGxhbmUuaCAgICAgICAgICAgICAgICAgICAgICAgICB8 IDIxICsrKysrKysrKysrKysrKy0KIGluY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5o ICAgICAgICAgICAgIHwgIDEgKwogaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmggICAgICAg ICAgICAgICAgICAgfCAxMSArKysrKysrKysKIDQxIGZpbGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRp b25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJj L2FyY3BndV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMKaW5kZXgg YWQ5YTk1OTE2ZjFmLi5jZDhhMjRjN2M2N2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h cmMvYXJjcGd1X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMK QEAgLTIxOCw2ICsyMTgsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqYXJjX3BndV9wbGFu ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCiAKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3Bs YW5lX2luaXQoZHJtLCBwbGFuZSwgMHhmZiwgJmFyY19wZ3VfcGxhbmVfZnVuY3MsCiAJCQkJICAg ICAgIGZvcm1hdHMsIEFSUkFZX1NJWkUoZm9ybWF0cyksCisJCQkJICAgICAgIE5VTEwsCiAJCQkJ ICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChyZXQpCiAJCXJldHVy biBFUlJfUFRSKHJldCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Ny dGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jCmluZGV4IDc5OGEzY2M0ODBh Mi4uMGNhYTAzYWU4NzA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Ny dGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2NydGMuYwpAQCAtMzAzLDYgKzMw Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpoZGxjZF9wbGFuZV9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkcm0pCiAKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZHJtLCBw bGFuZSwgMHhmZiwgJmhkbGNkX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBmb3JtYXRzLCBBUlJB WV9TSVpFKGZvcm1hdHMpLAorCQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAgICBEUk1fUExBTkVf VFlQRV9QUklNQVJZLCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCWRldm1fa2ZyZWUoZHJtLT5kZXYs IHBsYW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3BsYW5lcy5j IGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKaW5kZXggODE0ZmRhMjNjZWFk Li5iMTU2NjEwYzY4YTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3Bs YW5lcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3BsYW5lcy5jCkBAIC00MDAs NyArNDAwLDcgQEAgaW50IG1hbGlkcF9kZV9wbGFuZXNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtKQogCQkJCQlEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwogCQlyZXQgPSBkcm1fdW5pdmVyc2Fs X3BsYW5lX2luaXQoZHJtLCAmcGxhbmUtPmJhc2UsIGNydGNzLAogCQkJCQkgICAgICAgJm1hbGlk cF9kZV9wbGFuZV9mdW5jcywgZm9ybWF0cywKLQkJCQkJICAgICAgIG4sIHBsYW5lX3R5cGUsIE5V TEwpOworCQkJCQkgICAgICAgbiwgTlVMTCwgcGxhbmVfdHlwZSwgTlVMTCk7CiAJCWlmIChyZXQg PCAwKQogCQkJZ290byBjbGVhbnVwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJt YWRhL2FybWFkYV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMK aW5kZXggNGZlMTlmZGU4NGY5Li5lYTQ4ZWY4OGYwZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2Fy bWFkYV9jcnRjLmMKQEAgLTEyNjksNiArMTI2OSw3IEBAIHN0YXRpYyBpbnQgYXJtYWRhX2RybV9j cnRjX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJ CQkJICAgICAgICZhcm1hZGFfcHJpbWFyeV9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgYXJtYWRh X3ByaW1hcnlfZm9ybWF0cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShhcm1hZGFfcHJpbWFyeV9m b3JtYXRzKSwKKwkJCQkgICAgICAgTlVMTCwKIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJ TUFSWSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlrZnJlZShwcmltYXJ5KTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYwppbmRleCA0MjRlNDY1ZmY0MDcuLjAwNTQxNDQyODdh ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYwpAQCAtNDYwLDYgKzQ2 MCw3IEBAIGludCBhcm1hZGFfb3ZlcmxheV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdW5zaWduZWQgbG9uZyBjcnRjcykKIAkJCQkgICAgICAgJmFybWFkYV9vdmxfcGxhbmVf ZnVuY3MsCiAJCQkJICAgICAgIGFybWFkYV9vdmxfZm9ybWF0cywKIAkJCQkgICAgICAgQVJSQVlf U0laRShhcm1hZGFfb3ZsX2Zvcm1hdHMpLAorCQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAgICBE Uk1fUExBTkVfVFlQRV9PVkVSTEFZLCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCWtmcmVlKGRwbGFu ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNf cGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5j CmluZGV4IDI5Y2MxMGQwNTNlYi4uYjVjNmNmMmQ4YzM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYwpAQCAtMTA1OCw3ICsxMDU4LDkgQEAg c3RhdGljIGludCBhdG1lbF9obGNkY19wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmcGxhbmUtPmJhc2UsIDAs CiAJCQkJICAgICAgICZsYXllcl9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgZGVzYy0+Zm9ybWF0 cy0+Zm9ybWF0cywKLQkJCQkgICAgICAgZGVzYy0+Zm9ybWF0cy0+bmZvcm1hdHMsIHR5cGUsIE5V TEwpOworCQkJCSAgICAgICBkZXNjLT5mb3JtYXRzLT5uZm9ybWF0cywKKwkJCQkgICAgICAgTlVM TCwKKwkJCQkgICAgICAgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCmluZGV4IDJiMzM4MjVmMmY5My4uOWNiMWVl ZGUwYjRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVscGVyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCkBAIC0xMjQsNiArMTI0 LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmNyZWF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJCQkJICAgICAgICZkcm1fcHJpbWFyeV9oZWxwZXJfZnVuY3Ms CiAJCQkJICAgICAgIHNhZmVfbW9kZXNldF9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpF KHNhZmVfbW9kZXNldF9mb3JtYXRzKSwKKwkJCQkgICAgICAgTlVMTCwKIAkJCQkgICAgICAgRFJN X1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlrZnJlZShwcmltYXJ5 KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fcGxhbmUuYwppbmRleCBmZWRkNGQ2MGQ5Y2QuLjI4NmUxODM4OTFlNSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fcGxhbmUuYwpAQCAtNzAsNiArNzAsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGRybV9udW1f cGxhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAgKiBAZnVuY3M6IGNhbGxiYWNrcyBmb3Ig dGhlIG5ldyBwbGFuZQogICogQGZvcm1hdHM6IGFycmF5IG9mIHN1cHBvcnRlZCBmb3JtYXRzIChE Uk1fRk9STUFUXF9cKikKICAqIEBmb3JtYXRfY291bnQ6IG51bWJlciBvZiBlbGVtZW50cyBpbiBA Zm9ybWF0cworICogQGZvcm1hdF9tb2RpZmllcnM6IGFycmF5IG9mIHN0cnVjdCBkcm1fZm9ybWF0 IG1vZGlmaWVycyB0ZXJtaW5hdGVkIGJ5IElOVkFMSUQKICAqIEB0eXBlOiB0eXBlIG9mIHBsYW5l IChvdmVybGF5LCBwcmltYXJ5LCBjdXJzb3IpCiAgKiBAbmFtZTogcHJpbnRmIHN0eWxlIGZvcm1h dCBzdHJpbmcgZm9yIHRoZSBwbGFuZSBuYW1lLCBvciBOVUxMIGZvciBkZWZhdWx0IG5hbWUKICAq CkBAIC04MiwxMCArODMsMTIgQEAgaW50IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAgICAgdWludDMy X3QgcG9zc2libGVfY3J0Y3MsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mg KmZ1bmNzLAogCQkJICAgICBjb25zdCB1aW50MzJfdCAqZm9ybWF0cywgdW5zaWduZWQgaW50IGZv cm1hdF9jb3VudCwKKwkJCSAgICAgY29uc3QgdWludDY0X3QgKmZvcm1hdF9tb2RpZmllcnMsCiAJ CQkgICAgIGVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZSwKIAkJCSAgICAgY29uc3QgY2hhciAqbmFt ZSwgLi4uKQogewogCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVf Y29uZmlnOworCXVuc2lnbmVkIGludCBmb3JtYXRfbW9kaWZpZXJfY291bnQgPSAwOwogCWludCBy ZXQ7CiAKIAlyZXQgPSBkcm1fbW9kZV9vYmplY3RfYWRkKGRldiwgJnBsYW5lLT5iYXNlLCBEUk1f TU9ERV9PQkpFQ1RfUExBTkUpOwpAQCAtMTA1LDYgKzEwOCwyOCBAQCBpbnQgZHJtX3VuaXZlcnNh bF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKKwkvKiBGaXJzdCBkcml2ZXIgdG8gbmVlZCBt b3JlIHRoYW4gNjQgZm9ybWF0cyBuZWVkcyB0byBmaXggdGhpcyAqLworCWlmIChXQVJOX09OKGZv cm1hdF9jb3VudCA+IDY0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoZm9ybWF0X21vZGlm aWVycykgeworCQljb25zdCB1aW50NjRfdCAqdGVtcF9tb2RpZmllcnMgPSBmb3JtYXRfbW9kaWZp ZXJzOworCQl3aGlsZSAoKnRlbXBfbW9kaWZpZXJzKysgIT0gRFJNX0ZPUk1BVF9NT0RfSU5WQUxJ RCkKKwkJCWZvcm1hdF9tb2RpZmllcl9jb3VudCsrOworCX0KKworCXBsYW5lLT5tb2RpZmllcl9j b3VudCA9IGZvcm1hdF9tb2RpZmllcl9jb3VudDsKKwlwbGFuZS0+bW9kaWZpZXJzID0ga21hbGxv Y19hcnJheShmb3JtYXRfbW9kaWZpZXJfY291bnQsCisJCQkJCSBzaXplb2YoZm9ybWF0X21vZGlm aWVyc1swXSksCisJCQkJCSBHRlBfS0VSTkVMKTsKKworCWlmIChmb3JtYXRfbW9kaWZpZXJfY291 bnQgJiYgIXBsYW5lLT5tb2RpZmllcnMpIHsKKwkJRFJNX0RFQlVHX0tNUygib3V0IG9mIG1lbW9y eSB3aGVuIGFsbG9jYXRpbmcgcGxhbmVcbiIpOworCQlrZnJlZShwbGFuZS0+Zm9ybWF0X3R5cGVz KTsKKwkJZHJtX21vZGVfb2JqZWN0X3VucmVnaXN0ZXIoZGV2LCAmcGxhbmUtPmJhc2UpOworCQly ZXR1cm4gLUVOT01FTTsKKwl9CisKIAlpZiAobmFtZSkgewogCQl2YV9saXN0IGFwOwogCkBAIC0x MTcsMTIgKzE0MiwxNSBAQCBpbnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCX0KIAlpZiAoIXBsYW5lLT5u YW1lKSB7CiAJCWtmcmVlKHBsYW5lLT5mb3JtYXRfdHlwZXMpOworCQlrZnJlZShwbGFuZS0+bW9k aWZpZXJzKTsKIAkJZHJtX21vZGVfb2JqZWN0X3VucmVnaXN0ZXIoZGV2LCAmcGxhbmUtPmJhc2Up OwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKIAltZW1jcHkocGxhbmUtPmZvcm1hdF90eXBlcywg Zm9ybWF0cywgZm9ybWF0X2NvdW50ICogc2l6ZW9mKHVpbnQzMl90KSk7CiAJcGxhbmUtPmZvcm1h dF9jb3VudCA9IGZvcm1hdF9jb3VudDsKKwltZW1jcHkocGxhbmUtPm1vZGlmaWVycywgZm9ybWF0 X21vZGlmaWVycywKKwkgICAgICAgZm9ybWF0X21vZGlmaWVyX2NvdW50ICogc2l6ZW9mKGZvcm1h dF9tb2RpZmllcnNbMF0pKTsKIAlwbGFuZS0+cG9zc2libGVfY3J0Y3MgPSBwb3NzaWJsZV9jcnRj czsKIAlwbGFuZS0+dHlwZSA9IHR5cGU7CiAKQEAgLTIwNSw3ICsyMzMsOCBAQCBpbnQgZHJtX3Bs YW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs CiAKIAl0eXBlID0gaXNfcHJpbWFyeSA/IERSTV9QTEFORV9UWVBFX1BSSU1BUlkgOiBEUk1fUExB TkVfVFlQRV9PVkVSTEFZOwogCXJldHVybiBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBw bGFuZSwgcG9zc2libGVfY3J0Y3MsIGZ1bmNzLAotCQkJCQlmb3JtYXRzLCBmb3JtYXRfY291bnQs IHR5cGUsIE5VTEwpOworCQkJCQlmb3JtYXRzLCBmb3JtYXRfY291bnQsCisJCQkJCU5VTEwsIHR5 cGUsIE5VTEwpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fcGxhbmVfaW5pdCk7CiAKQEAgLTIyNCw2 ICsyNTMsNyBAQCB2b2lkIGRybV9wbGFuZV9jbGVhbnVwKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l KQogCWRybV9tb2Rlc2V0X2xvY2tfZmluaSgmcGxhbmUtPm11dGV4KTsKIAogCWtmcmVlKHBsYW5l LT5mb3JtYXRfdHlwZXMpOworCWtmcmVlKHBsYW5lLT5tb2RpZmllcnMpOwogCWRybV9tb2RlX29i amVjdF91bnJlZ2lzdGVyKGRldiwgJnBsYW5lLT5iYXNlKTsKIAogCUJVR19PTihsaXN0X2VtcHR5 KCZwbGFuZS0+aGVhZCkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zaW1wbGVf a21zX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5jCmlu ZGV4IGUwODRmOWY4Y2E2Ni4uOTQ5ZjBhYjBlMjY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zaW1w bGVfa21zX2hlbHBlci5jCkBAIC0xOTMsNiArMTkzLDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fc2lt cGxlX2Rpc3BsYXlfcGlwZV9hdHRhY2hfYnJpZGdlKTsKICAqIEBmdW5jczogY2FsbGJhY2tzIGZv ciB0aGUgZGlzcGxheSBwaXBlIChvcHRpb25hbCkKICAqIEBmb3JtYXRzOiBhcnJheSBvZiBzdXBw b3J0ZWQgZm9ybWF0cyAoRFJNX0ZPUk1BVFxfXCopCiAgKiBAZm9ybWF0X2NvdW50OiBudW1iZXIg b2YgZWxlbWVudHMgaW4gQGZvcm1hdHMKKyAqIEBmb3JtYXRfbW9kaWZpZXJzOiBhcnJheSBvZiBm b3JtYXRzIG1vZGlmaWVycwogICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGF0dGFjaCBhbmQg cmVnaXN0ZXIgKG9wdGlvbmFsKQogICoKICAqIFNldHMgdXAgYSBkaXNwbGF5IHBpcGVsaW5lIHdo aWNoIGNvbnNpc3Qgb2YgYSByZWFsbHkgc2ltcGxlCkBAIC0yMTMsNiArMjE0LDcgQEAgaW50IGRy bV9zaW1wbGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCXN0 cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCWNvbnN0IHN0cnVjdCBkcm1f c2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCiAJCQljb25zdCB1aW50MzJfdCAqZm9y bWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCWNvbnN0IHVpbnQ2NF90ICpmb3Jt YXRfbW9kaWZpZXJzLAogCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmcGlwZS0+ZW5jb2RlcjsKQEAgLTIyNyw2ICsy MjksNyBAQCBpbnQgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAwLAog CQkJCSAgICAgICAmZHJtX3NpbXBsZV9rbXNfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGZvcm1h dHMsIGZvcm1hdF9jb3VudCwKKwkJCQkgICAgICAgZm9ybWF0X21vZGlmaWVycywKIAkJCQkgICAg ICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJl dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5j IGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmMKaW5kZXggYzJmMTdm MzBhZmFiLi43NWQ0OTI4ZGQxOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zX2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Ry bV9wbGFuZS5jCkBAIC0yODQsNyArMjg0LDcgQEAgaW50IGV4eW5vc19wbGFuZV9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAgICAgICZleHlub3NfcGxhbmVfZnVuY3MsCiAJCQkJ ICAgICAgIGNvbmZpZy0+cGl4ZWxfZm9ybWF0cywKIAkJCQkgICAgICAgY29uZmlnLT5udW1fcGl4 ZWxfZm9ybWF0cywKLQkJCQkgICAgICAgY29uZmlnLT50eXBlLCBOVUxMKTsKKwkJCQkgICAgICAg TlVMTCwgY29uZmlnLT50eXBlLCBOVUxMKTsKIAlpZiAoZXJyKSB7CiAJCURSTV9FUlJPUigiZmFp bGVkIHRvIGluaXRpYWxpemUgcGxhbmVcbiIpOwogCQlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMKaW5kZXggMGEyMDcyM2FhNmUxLi45NTU0 YjI0NTc0NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJt X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUu YwpAQCAtMjI0LDcgKzIyNCw3IEBAIHN0cnVjdCBkcm1fcGxhbmUgKmZzbF9kY3VfZHJtX3ByaW1h cnlfY3JlYXRlX3BsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkJICAgICAgICZmc2xf ZGN1X2RybV9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgZnNsX2RjdV9kcm1fcGxhbmVfZm9ybWF0 cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShmc2xfZGN1X2RybV9wbGFuZV9mb3JtYXRzKSwKLQkJ CQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEws IERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJa2ZyZWUocHJp bWFyeSk7CiAJCXByaW1hcnkgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hp c2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24v aGlibWMvaGlibWNfZHJtX2RlLmMKaW5kZXggNTk1NDJiZGRjOTgwLi4zMzllOTE0Y2JhYTMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2RlLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZGUuYwpAQCAt MTgxLDYgKzE4MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpoaWJtY19wbGFuZV9pbml0 KHN0cnVjdCBoaWJtY19kcm1fcHJpdmF0ZSAqcHJpdikKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3Bs YW5lX2luaXQoZGV2LCBwbGFuZSwgMSwgJmhpYm1jX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBj aGFubmVsX2Zvcm1hdHMxLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGNoYW5uZWxfZm9ybWF0czEp LAorCQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAog CQkJCSAgICAgICBOVUxMKTsKIAlpZiAocmV0KSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9hZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNp bGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jCmluZGV4IGM5NmMyMjhhOTg5OC4uMWFjYjhhZjEy MjQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2Ry bV9hZGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9h ZGUuYwpAQCAtOTA5LDcgKzkwOSw3IEBAIHN0YXRpYyBpbnQgYWRlX3BsYW5lX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGFkZV9wbGFuZSAqYXBsYW5lLAogCQlyZXR1cm4gcmV0 OwogCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJmFwbGFuZS0+YmFzZSwg MSwgJmFkZV9wbGFuZV9mdW5jcywKLQkJCQkgICAgICAgZm10cywgZm10c19jbnQsIHR5cGUsIE5V TEwpOworCQkJCSAgICAgICBmbXRzLCBmbXRzX2NudCwgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYg KHJldCkgewogCQlEUk1fRVJST1IoImZhaWwgdG8gaW5pdCBwbGFuZSwgY2g9JWRcbiIsIGFwbGFu ZS0+Y2gpOwogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmlu ZGV4IDM2MTc5MjdhZjI2OS4uZDUyYmQwNWEwMTdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCkBAIC0xMzUxNiw2ICsxMzUxNiw4IEBAIGludGVsX2xlZ2FjeV9jdXJzb3JfdXBk YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCQkgICAgICBzcmNfeCwgc3JjX3ksIHNy Y193LCBzcmNfaCwgY3R4KTsKIH0KIAorCisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5l X2Z1bmNzIGludGVsX2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsKIAkudXBkYXRlX3BsYW5lID0gaW50 ZWxfbGVnYWN5X2N1cnNvcl91cGRhdGUsCiAJLmRpc2FibGVfcGxhbmUgPSBkcm1fYXRvbWljX2hl bHBlcl9kaXNhYmxlX3BsYW5lLApAQCAtMTM1OTQsMTggKzEzNTk2LDIxIEBAIGludGVsX3ByaW1h cnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBw aXBlIHBpcGUpCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRy bSwgJnByaW1hcnktPmJhc2UsCiAJCQkJCSAgICAgICAwLCAmaW50ZWxfcGxhbmVfZnVuY3MsCiAJ CQkJCSAgICAgICBpbnRlbF9wcmltYXJ5X2Zvcm1hdHMsIG51bV9mb3JtYXRzLAorCQkJCQkgICAg ICAgTlVMTCwKIAkJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksCiAJCQkJCSAgICAg ICAicGxhbmUgMSVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpID49IDUgfHwgSVNfRzRYKGRldl9wcml2KSkKIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9w bGFuZV9pbml0KCZkZXZfcHJpdi0+ZHJtLCAmcHJpbWFyeS0+YmFzZSwKIAkJCQkJICAgICAgIDAs ICZpbnRlbF9wbGFuZV9mdW5jcywKIAkJCQkJICAgICAgIGludGVsX3ByaW1hcnlfZm9ybWF0cywg bnVtX2Zvcm1hdHMsCisJCQkJCSAgICAgICBOVUxMLAogCQkJCQkgICAgICAgRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWSwKIAkJCQkJICAgICAgICJwcmltYXJ5ICVjIiwgcGlwZV9uYW1lKHBpcGUpKTsK IAllbHNlCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwg JnByaW1hcnktPmJhc2UsCiAJCQkJCSAgICAgICAwLCAmaW50ZWxfcGxhbmVfZnVuY3MsCiAJCQkJ CSAgICAgICBpbnRlbF9wcmltYXJ5X2Zvcm1hdHMsIG51bV9mb3JtYXRzLAorCQkJCQkgICAgICAg TlVMTCwKIAkJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksCiAJCQkJCSAgICAgICAi cGxhbmUgJWMiLCBwbGFuZV9uYW1lKHByaW1hcnktPnBsYW5lKSk7CiAJaWYgKHJldCkKQEAgLTEz Nzc2LDcgKzEzNzgxLDcgQEAgaW50ZWxfY3Vyc29yX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQogCQkJCSAgICAgICAwLCAmaW50 ZWxfY3Vyc29yX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBpbnRlbF9jdXJzb3JfZm9ybWF0cywK IAkJCQkgICAgICAgQVJSQVlfU0laRShpbnRlbF9jdXJzb3JfZm9ybWF0cyksCi0JCQkJICAgICAg IERSTV9QTEFORV9UWVBFX0NVUlNPUiwKKwkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVf Q1VSU09SLAogCQkJCSAgICAgICAiY3Vyc29yICVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKIAlpZiAo cmV0KQogCQlnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IGY3 ZDQzMTQyNzExNS4uMDUzODAyZGQwOGMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu YwpAQCAtMTE2NSwxMyArMTE2NSwxMyBAQCBpbnRlbF9zcHJpdGVfcGxhbmVfY3JlYXRlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFu ZV9pbml0KCZkZXZfcHJpdi0+ZHJtLCAmaW50ZWxfcGxhbmUtPmJhc2UsCiAJCQkJCSAgICAgICBw b3NzaWJsZV9jcnRjcywgJmludGVsX3BsYW5lX2Z1bmNzLAogCQkJCQkgICAgICAgcGxhbmVfZm9y bWF0cywgbnVtX3BsYW5lX2Zvcm1hdHMsCi0JCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9PVkVS TEFZLAorCQkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwKIAkJCQkJICAg ICAgICJwbGFuZSAlZCVjIiwgcGxhbmUgKyAyLCBwaXBlX25hbWUocGlwZSkpOwogCWVsc2UKIAkJ cmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KCZkZXZfcHJpdi0+ZHJtLCAmaW50ZWxfcGxh bmUtPmJhc2UsCiAJCQkJCSAgICAgICBwb3NzaWJsZV9jcnRjcywgJmludGVsX3BsYW5lX2Z1bmNz LAogCQkJCQkgICAgICAgcGxhbmVfZm9ybWF0cywgbnVtX3BsYW5lX2Zvcm1hdHMsCi0JCQkJCSAg ICAgICBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLAorCQkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5F X1RZUEVfT1ZFUkxBWSwKIAkJCQkJICAgICAgICJzcHJpdGUgJWMiLCBzcHJpdGVfbmFtZShwaXBl LCBwbGFuZSkpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxh bmUuYwppbmRleCBkNjNlODUzYTAzMDAuLjZjNzA4YzNiMWNkYyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1 djMtcGxhbmUuYwpAQCAtNzE4LDggKzcxOCw4IEBAIHN0cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFu ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpcHVfc29jICppcHUsCiAKIAly ZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmaXB1X3BsYW5lLT5iYXNlLCBwb3Nz aWJsZV9jcnRjcywKIAkJCQkgICAgICAgJmlwdV9wbGFuZV9mdW5jcywgaXB1X3BsYW5lX2Zvcm1h dHMsCi0JCQkJICAgICAgIEFSUkFZX1NJWkUoaXB1X3BsYW5lX2Zvcm1hdHMpLCB0eXBlLAotCQkJ CSAgICAgICBOVUxMKTsKKwkJCQkgICAgICAgQVJSQVlfU0laRShpcHVfcGxhbmVfZm9ybWF0cyks CisJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9S KCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBwbGFuZVxuIik7CiAJCWtmcmVlKGlwdV9wbGFuZSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYwppbmRleCBlNDA1ZTg5ZWQ1ZTUu LmJlYzZkMTRkZDA3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k cm1fcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5j CkBAIC0xNzMsNyArMTczLDcgQEAgaW50IG10a19wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCiAJZXJyID0gZHJtX3VuaXZlcnNhbF9w bGFuZV9pbml0KGRldiwgcGxhbmUsIHBvc3NpYmxlX2NydGNzLAogCQkJCSAgICAgICAmbXRrX3Bs YW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJCSAgICAgICBBUlJBWV9TSVpFKGZvcm1hdHMpLCB0eXBl LCBOVUxMKTsKKwkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwgTlVMTCwgdHlwZSwgTlVM TCk7CiAJaWYgKGVycikgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBpbml0aWFsaXplIHBsYW5l XG4iKTsKIAkJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9t ZXNvbl9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3BsYW5lLmMKaW5kZXgg YTMyZDNiNmUyZTEyLi4xN2U5NmZhNDc4NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t ZXNvbi9tZXNvbl9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9wbGFu ZS5jCkBAIC0yMjMsNiArMjIzLDcgQEAgaW50IG1lc29uX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgbWVz b25fZHJtICpwcml2KQogCQkJCSAmbWVzb25fcGxhbmVfZnVuY3MsCiAJCQkJIHN1cHBvcnRlZF9k cm1fZm9ybWF0cywKIAkJCQkgQVJSQVlfU0laRShzdXBwb3J0ZWRfZHJtX2Zvcm1hdHMpLAorCQkJ CSBOVUxMLAogCQkJCSBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCAibWVzb25fcHJpbWFyeV9wbGFu ZSIpOwogCiAJZHJtX3BsYW5lX2hlbHBlcl9hZGQocGxhbmUsICZtZXNvbl9wbGFuZV9oZWxwZXJf ZnVuY3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X3Bs YW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfcGxhbmUuYwppbmRleCA1 MzYxOWQwNzY3N2UuLjhmMzQxN2U0NWQ0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNC9tZHA0X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NC9tZHA0X3BsYW5lLmMKQEAgLTM5OCw3ICszOTgsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICptZHA0 X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl0eXBlID0gcHJpdmF0ZV9wbGFu ZSA/IERSTV9QTEFORV9UWVBFX1BSSU1BUlkgOiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwogCXJl dCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAweGZmLCAmbWRwNF9wbGFu ZV9mdW5jcywKIAkJCQkgbWRwNF9wbGFuZS0+Zm9ybWF0cywgbWRwNF9wbGFuZS0+bmZvcm1hdHMs Ci0JCQkJIHR5cGUsIE5VTEwpOworCQkJCSBOVUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAocmV0KQog CQlnb3RvIGZhaWw7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUv bWRwNV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMK aW5kZXggYTM4YzVmZTZjYzE5Li5hODE1YmMwZTc4ZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v bWRwL21kcDUvbWRwNV9wbGFuZS5jCkBAIC0xMTQwLDEyICsxMTQwLDEyIEBAIHN0cnVjdCBkcm1f cGxhbmUgKm1kcDVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXQgPSBk cm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwKIAkJCQkmbWRwNV9jdXJz b3JfcGxhbmVfZnVuY3MsCiAJCQkJbWRwNV9wbGFuZS0+Zm9ybWF0cywgbWRwNV9wbGFuZS0+bmZv cm1hdHMsCi0JCQkJdHlwZSwgTlVMTCk7CisJCQkJTlVMTCwgdHlwZSwgTlVMTCk7CiAJZWxzZQog CQlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMHhmZiwKIAkJCQkm bWRwNV9wbGFuZV9mdW5jcywKIAkJCQltZHA1X3BsYW5lLT5mb3JtYXRzLCBtZHA1X3BsYW5lLT5u Zm9ybWF0cywKLQkJCQl0eXBlLCBOVUxMKTsKKwkJCQlOVUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAo cmV0KQogCQlnb3RvIGZhaWw7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9t eHNmYl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwppbmRleCBkMWI5 YzM0YzdjMDAuLjNlZTM3ODRhNTRmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL214c2Zi L214c2ZiX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwpAQCAt MTkwLDcgKzE5MCw3IEBAIHN0YXRpYyBpbnQgbXhzZmJfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtLCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCX0KIAogCXJldCA9IGRybV9zaW1wbGVfZGlzcGxh eV9waXBlX2luaXQoZHJtLCAmbXhzZmItPnBpcGUsICZteHNmYl9mdW5jcywKLQkJCW14c2ZiX2Zv cm1hdHMsIEFSUkFZX1NJWkUobXhzZmJfZm9ybWF0cyksCisJCQlteHNmYl9mb3JtYXRzLCBBUlJB WV9TSVpFKG14c2ZiX2Zvcm1hdHMpLCBOVUxMLCAwLAogCQkJJm14c2ZiLT5jb25uZWN0b3IpOwog CWlmIChyZXQgPCAwKSB7CiAJCWRldl9lcnIoZHJtLT5kZXYsICJDYW5ub3Qgc2V0dXAgc2ltcGxl IGRpc3BsYXkgcGlwZVxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u djUwX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCmlu ZGV4IDBlNTg1MzczNTJmZS4uZGRlNzFiZTQ2M2Y4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u djUwX2Rpc3BsYXkuYwpAQCAtMTA4NCw4ICsxMDg0LDkgQEAgbnY1MF93bmR3X2N0b3IoY29uc3Qg c3RydWN0IG52NTBfd25kd19mdW5jICpmdW5jLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXdu ZHctPmZ1bmMgPSBmdW5jOwogCXduZHctPmRtYWMgPSBkbWFjOwogCi0JcmV0ID0gZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KGRldiwgJnduZHctPnBsYW5lLCAwLCAmbnY1MF93bmR3LCBmb3JtYXQs Ci0JCQkJICAgICAgIG5mb3JtYXQsIHR5cGUsICIlcy0lZCIsIG5hbWUsIGluZGV4KTsKKwlyZXQg PSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmd25kdy0+cGxhbmUsIDAsICZudjUwX3du ZHcsCisJCQkJICAgICAgIGZvcm1hdCwgbmZvcm1hdCwgTlVMTCwKKwkJCQkgICAgICAgdHlwZSwg IiVzLSVkIiwgbmFtZSwgaW5kZXgpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYwppbmRleCA5MTY4MTU0ZDc0OWUuLjliODM0MWQ3NzQ2 OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYwpAQCAtMzcwLDcgKzM3MCw4IEBA IHN0cnVjdCBkcm1fcGxhbmUgKm9tYXBfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIHBvc3NpYmxl X2NydGNzLAogCQkJCSAgICAgICAmb21hcF9wbGFuZV9mdW5jcywgb21hcF9wbGFuZS0+Zm9ybWF0 cywKLQkJCQkgICAgICAgb21hcF9wbGFuZS0+bmZvcm1hdHMsIHR5cGUsIE5VTEwpOworCQkJCSAg ICAgICBvbWFwX3BsYW5lLT5uZm9ybWF0cywKKwkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7 CiAJaWYgKHJldCA8IDApCiAJCWdvdG8gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9xeGwvcXhsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXku YwppbmRleCAwNTgzNDBhMDAyYzIuLmZjZjFkMjAzNDQ0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3F4bC9xeGxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rp c3BsYXkuYwpAQCAtNzg4LDcgKzc4OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpxeGxf Y3JlYXRlX3BsYW5lKHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2LAogCiAJZXJyID0gZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KCZxZGV2LT5kZGV2LCBwbGFuZSwgcG9zc2libGVfY3J0Y3MsCiAJCQkJ ICAgICAgIGZ1bmNzLCBmb3JtYXRzLCBudW1fZm9ybWF0cywKLQkJCQkgICAgICAgdHlwZSwgTlVM TCk7CisJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChlcnIpCiAJCWdvdG8gZnJl ZV9wbGFuZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9w bGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9wbGFuZS5jCmluZGV4IGRj ZGU2Mjg4ZGE2Yy4uMmIwMmVjY2JmYjcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9wbGFuZS5jCkBAIC03NDMsOCArNzQzLDggQEAgaW50IHJjYXJfZHVfcGxhbmVzX2luaXQoc3Ry dWN0IHJjYXJfZHVfZ3JvdXAgKnJncnApCiAKIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9p bml0KHJjZHUtPmRkZXYsICZwbGFuZS0+cGxhbmUsIGNydGNzLAogCQkJCQkgICAgICAgJnJjYXJf ZHVfcGxhbmVfZnVuY3MsIGZvcm1hdHMsCi0JCQkJCSAgICAgICBBUlJBWV9TSVpFKGZvcm1hdHMp LCB0eXBlLAotCQkJCQkgICAgICAgTlVMTCk7CisJCQkJCSAgICAgICBBUlJBWV9TSVpFKGZvcm1h dHMpLAorCQkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAJCWlmIChyZXQgPCAwKQogCQkJ cmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV92c3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMKaW5kZXggYjBm ZjMwNGNlM2RjLi5lMGMwNTRmOWI1N2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2Fy LWR1L3JjYXJfZHVfdnNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV92 c3AuYwpAQCAtMzY4LDggKzM2OCw4IEBAIGludCByY2FyX2R1X3ZzcF9pbml0KHN0cnVjdCByY2Fy X2R1X3ZzcCAqdnNwKQogCQkJCQkgICAgICAgMSA8PCB2c3AtPmluZGV4LAogCQkJCQkgICAgICAg JnJjYXJfZHVfdnNwX3BsYW5lX2Z1bmNzLAogCQkJCQkgICAgICAgZm9ybWF0c19rbXMsCi0JCQkJ CSAgICAgICBBUlJBWV9TSVpFKGZvcm1hdHNfa21zKSwgdHlwZSwKLQkJCQkJICAgICAgIE5VTEwp OworCQkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzX2ttcyksCisJCQkJCSAgICAgICBOVUxM LCB0eXBlLCBOVUxMKTsKIAkJaWYgKHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jIGIvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwppbmRleCAzZjdhODJkMWUwOTUu LmQwY2Y1N2RlOWFmYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX2RybV92b3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJt X3ZvcC5jCkBAIC0xMjgwLDcgKzEyODAsNyBAQCBzdGF0aWMgaW50IHZvcF9jcmVhdGVfY3J0Yyhz dHJ1Y3Qgdm9wICp2b3ApCiAJCQkJCSAgICAgICAwLCAmdm9wX3BsYW5lX2Z1bmNzLAogCQkJCQkg ICAgICAgd2luX2RhdGEtPnBoeS0+ZGF0YV9mb3JtYXRzLAogCQkJCQkgICAgICAgd2luX2RhdGEt PnBoeS0+bmZvcm1hdHMsCi0JCQkJCSAgICAgICB3aW5fZGF0YS0+dHlwZSwgTlVMTCk7CisJCQkJ CSAgICAgICBOVUxMLCB3aW5fZGF0YS0+dHlwZSwgTlVMTCk7CiAJCWlmIChyZXQpIHsKIAkJCURS TV9ERVZfRVJST1Iodm9wLT5kZXYsICJmYWlsZWQgdG8gaW5pdCBwbGFuZSAlZFxuIiwKIAkJCQkg ICAgICByZXQpOwpAQCAtMTMxOSw3ICsxMzE5LDcgQEAgc3RhdGljIGludCB2b3BfY3JlYXRlX2Ny dGMoc3RydWN0IHZvcCAqdm9wKQogCQkJCQkgICAgICAgJnZvcF9wbGFuZV9mdW5jcywKIAkJCQkJ ICAgICAgIHdpbl9kYXRhLT5waHktPmRhdGFfZm9ybWF0cywKIAkJCQkJICAgICAgIHdpbl9kYXRh LT5waHktPm5mb3JtYXRzLAotCQkJCQkgICAgICAgd2luX2RhdGEtPnR5cGUsIE5VTEwpOworCQkJ CQkgICAgICAgTlVMTCwgd2luX2RhdGEtPnR5cGUsIE5VTEwpOwogCQlpZiAocmV0KSB7CiAJCQlE Uk1fREVWX0VSUk9SKHZvcC0+ZGV2LCAiZmFpbGVkIHRvIGluaXQgb3ZlcmxheSAlZFxuIiwKIAkJ CQkgICAgICByZXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29y LmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jdXJzb3IuYwppbmRleCBjY2E3NWJkZGI5YWQu Ljk3YzI1ZTIwNGJmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29y LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMKQEAgLTM5Myw3ICszOTMs NyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpzdGlfY3Vyc29yX2NyZWF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZHJtX2RldiwKIAkJCQkgICAgICAgJnN0aV9jdXJzb3JfcGxhbmVfaGVscGVyc19mdW5jcywK IAkJCQkgICAgICAgY3Vyc29yX3N1cHBvcnRlZF9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9T SVpFKGN1cnNvcl9zdXBwb3J0ZWRfZm9ybWF0cyksCi0JCQkJICAgICAgIERSTV9QTEFORV9UWVBF X0NVUlNPUiwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX0NVUlNPUiwg TlVMTCk7CiAJaWYgKHJlcykgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBpbml0aWFsaXplIHVu aXZlcnNhbCBwbGFuZVxuIik7CiAJCWdvdG8gZXJyX3BsYW5lOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYwpp bmRleCA4OGYxNmNkZjZhNGIuLjcwMzkxNjAzYzEyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfZ2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMKQEAg LTkzMiw3ICs5MzIsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpzdGlfZ2RwX2NyZWF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtX2RldiwKIAkJCQkgICAgICAgJnN0aV9nZHBfcGxhbmVfaGVscGVyc19m dW5jcywKIAkJCQkgICAgICAgZ2RwX3N1cHBvcnRlZF9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJB WV9TSVpFKGdkcF9zdXBwb3J0ZWRfZm9ybWF0cyksCi0JCQkJICAgICAgIHR5cGUsIE5VTEwpOwor CQkJCSAgICAgICBOVUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAocmVzKSB7CiAJCURSTV9FUlJPUigi RmFpbGVkIHRvIGluaXRpYWxpemUgdW5pdmVyc2FsIHBsYW5lXG4iKTsKIAkJZ290byBlcnI7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9ocXZkcC5jIGIvZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfaHF2ZHAuYwppbmRleCA2NmY4NDMxNDhlZjcuLjlhMWZmMzUyODIwZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaHF2ZHAuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vc3RpL3N0aV9ocXZkcC5jCkBAIC0xMjk2LDcgKzEyOTYsNyBAQCBzdGF0aWMgc3RydWN0 IGRybV9wbGFuZSAqc3RpX2hxdmRwX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwK IAkJCQkgICAgICAgJnN0aV9ocXZkcF9wbGFuZV9oZWxwZXJzX2Z1bmNzLAogCQkJCSAgICAgICBo cXZkcF9zdXBwb3J0ZWRfZm9ybWF0cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShocXZkcF9zdXBw b3J0ZWRfZm9ybWF0cyksCi0JCQkJICAgICAgIERSTV9QTEFORV9UWVBFX09WRVJMQVksIE5VTEwp OworCQkJCSAgICAgICBOVUxMLCBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLCBOVUxMKTsKIAlpZiAo cmVzKSB7CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUgdW5pdmVyc2FsIHBsYW5l XG4iKTsKIAkJcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuNGlfbGF5ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sYXllci5jCmluZGV4 IGYyNmJkZTViOTExNy4uMmQ5ZjhkMDFhYzJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfbGF5ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfbGF5 ZXIuYwpAQCAtMTE1LDcgKzExNSw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc3VuNGlfbGF5ZXIgKnN1bjRp X2xheWVyX2luaXRfb25lKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJcmV0ID0gZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KGRybSwgJmxheWVyLT5wbGFuZSwgMCwKIAkJCQkgICAgICAgJnN1bjRp X2JhY2tlbmRfbGF5ZXJfZnVuY3MsCiAJCQkJICAgICAgIHBsYW5lLT5mb3JtYXRzLCBwbGFuZS0+ bmZvcm1hdHMsCi0JCQkJICAgICAgIHBsYW5lLT50eXBlLCBOVUxMKTsKKwkJCQkgICAgICAgTlVM TCwgcGxhbmUtPnR5cGUsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJZGV2X2Vycihkcm0tPmRldiwg IkNvdWxkbid0IGluaXRpYWxpemUgbGF5ZXJcbiIpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgYi9kcml2ZXJzL2dwdS9kcm0v dGVncmEvZGMuYwppbmRleCA5NWIzNzNmNzM5ZjIuLjAzODBlZGQwNTRhYyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2Rj LmMKQEAgLTY1NSw4ICs2NTUsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqdGVncmFfZGNf cHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKIAogCWVyciA9IGRy bV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+YmFzZSwgcG9zc2libGVfY3J0Y3Ms CiAJCQkJICAgICAgICZ0ZWdyYV9wcmltYXJ5X3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJCSAg ICAgICBudW1fZm9ybWF0cywgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKLQkJCQkgICAgICAgTlVM TCk7CisJCQkJICAgICAgIG51bV9mb3JtYXRzLCBOVUxMLAorCQkJCSAgICAgICBEUk1fUExBTkVf VFlQRV9QUklNQVJZLCBOVUxMKTsKIAlpZiAoZXJyIDwgMCkgewogCQlrZnJlZShwbGFuZSk7CiAJ CXJldHVybiBFUlJfUFRSKGVycik7CkBAIC04MjEsOCArODIxLDggQEAgc3RhdGljIHN0cnVjdCBk cm1fcGxhbmUgKnRlZ3JhX2RjX2N1cnNvcl9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2Ug KmRybSwKIAogCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+YmFz ZSwgMSA8PCBkYy0+cGlwZSwKIAkJCQkgICAgICAgJnRlZ3JhX2N1cnNvcl9wbGFuZV9mdW5jcywg Zm9ybWF0cywKLQkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIERSTV9QTEFORV9UWVBFX0NVUlNPUiwK LQkJCQkgICAgICAgTlVMTCk7CisJCQkJICAgICAgIG51bV9mb3JtYXRzLCBOVUxMLAorCQkJCSAg ICAgICBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwogCWlmIChlcnIgPCAwKSB7CiAJCWtm cmVlKHBsYW5lKTsKIAkJcmV0dXJuIEVSUl9QVFIoZXJyKTsKQEAgLTg4Myw4ICs4ODMsOCBAQCBz dGF0aWMgc3RydWN0IGRybV9wbGFuZSAqdGVncmFfZGNfb3ZlcmxheV9wbGFuZV9jcmVhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwKIAogCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChk cm0sICZwbGFuZS0+YmFzZSwgMSA8PCBkYy0+cGlwZSwKIAkJCQkgICAgICAgJnRlZ3JhX292ZXJs YXlfcGxhbmVfZnVuY3MsIGZvcm1hdHMsCi0JCQkJICAgICAgIG51bV9mb3JtYXRzLCBEUk1fUExB TkVfVFlQRV9PVkVSTEFZLAotCQkJCSAgICAgICBOVUxMKTsKKwkJCQkgICAgICAgbnVtX2Zvcm1h dHMsIE5VTEwsCisJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX09WRVJMQVksIE5VTEwpOwogCWlm IChlcnIgPCAwKSB7CiAJCWtmcmVlKHBsYW5lKTsKIAkJcmV0dXJuIEVSUl9QVFIoZXJyKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9k cm0vdmM0L3ZjNF9wbGFuZS5jCmluZGV4IGQzNGNkNTM5M2E5Yi4uNzRiNWU3YWZkNmU5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS92YzQvdmM0X3BsYW5lLmMKQEAgLTg2MSw3ICs4NjEsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5l ICp2YzRfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXJldCA9IGRybV91bml2 ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAwLAogCQkJCSAgICAgICAmdmM0X3BsYW5lX2Z1 bmNzLAogCQkJCSAgICAgICBmb3JtYXRzLCBudW1fZm9ybWF0cywKLQkJCQkgICAgICAgdHlwZSwg TlVMTCk7CisJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCiAJZHJtX3BsYW5lX2hlbHBl cl9hZGQocGxhbmUsICZ2YzRfcGxhbmVfaGVscGVyX2Z1bmNzKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmly dGlvL3ZpcnRncHVfcGxhbmUuYwppbmRleCBhZGNkYmQwYWJlZjYuLjcxYmE0NTVhZjkxNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMKQEAgLTI5OCw3ICsyOTgsNyBAQCBz dHJ1Y3QgZHJtX3BsYW5lICp2aXJ0aW9fZ3B1X3BsYW5lX2luaXQoc3RydWN0IHZpcnRpb19ncHVf ZGV2aWNlICp2Z2RldiwKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFu ZSwgMSA8PCBpbmRleCwKIAkJCQkgICAgICAgJnZpcnRpb19ncHVfcGxhbmVfZnVuY3MsCiAJCQkJ ICAgICAgIGZvcm1hdHMsIG5mb3JtYXRzLAotCQkJCSAgICAgICB0eXBlLCBOVUxMKTsKKwkJCQkg ICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfcGxhbmVfaW5p dDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMgYi9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYwppbmRleCBkMzk4N2JjZjUzZjguLjZm MGJmNmY5YzZmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMKQEAgLTQzOSw3ICs0 MzksNyBAQCBzdGF0aWMgaW50IHZtd19sZHVfaW5pdChzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9w cml2LCB1bnNpZ25lZCB1bml0KQogCQkJCSAgICAgICAwLCAmdm13X2xkdV9wbGFuZV9mdW5jcywK IAkJCQkgICAgICAgdm13X3ByaW1hcnlfcGxhbmVfZm9ybWF0cywKIAkJCQkgICAgICAgQVJSQVlf U0laRSh2bXdfcHJpbWFyeV9wbGFuZV9mb3JtYXRzKSwKLQkJCQkgICAgICAgRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX1BSSU1B UlksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6 ZSBwcmltYXJ5IHBsYW5lIik7CiAJCWdvdG8gZXJyX2ZyZWU7CkBAIC00NTQsNyArNDU0LDcgQEAg c3RhdGljIGludCB2bXdfbGR1X2luaXQoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwgdW5z aWduZWQgdW5pdCkKIAkJCTAsICZ2bXdfbGR1X2N1cnNvcl9mdW5jcywKIAkJCXZtd19jdXJzb3Jf cGxhbmVfZm9ybWF0cywKIAkJCUFSUkFZX1NJWkUodm13X2N1cnNvcl9wbGFuZV9mb3JtYXRzKSwK LQkJCURSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7CisJCQlOVUxMLCBEUk1fUExBTkVfVFlQ RV9DVVJTT1IsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5p dGlhbGl6ZSBjdXJzb3IgcGxhbmUiKTsKIAkJZHJtX3BsYW5lX2NsZWFudXAoJmxkdS0+YmFzZS5w cmltYXJ5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4u YyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYwppbmRleCA4ZDdkYzlkZWY3 YzIuLjQyNzgwYzljYjkwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn Znhfc2Nybi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYwpAQCAt NjIyLDcgKzYyMiw3IEBAIHN0YXRpYyBpbnQgdm13X3NvdV9pbml0KHN0cnVjdCB2bXdfcHJpdmF0 ZSAqZGV2X3ByaXYsIHVuc2lnbmVkIHVuaXQpCiAJCQkJICAgICAgIDAsICZ2bXdfc291X3BsYW5l X2Z1bmNzLAogCQkJCSAgICAgICB2bXdfcHJpbWFyeV9wbGFuZV9mb3JtYXRzLAogCQkJCSAgICAg ICBBUlJBWV9TSVpFKHZtd19wcmltYXJ5X3BsYW5lX2Zvcm1hdHMpLAotCQkJCSAgICAgICBEUk1f UExBTkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBp bml0aWFsaXplIHByaW1hcnkgcGxhbmUiKTsKIAkJZ290byBlcnJfZnJlZTsKQEAgLTYzNyw3ICs2 MzcsNyBAQCBzdGF0aWMgaW50IHZtd19zb3VfaW5pdChzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9w cml2LCB1bnNpZ25lZCB1bml0KQogCQkJMCwgJnZtd19zb3VfY3Vyc29yX2Z1bmNzLAogCQkJdm13 X2N1cnNvcl9wbGFuZV9mb3JtYXRzLAogCQkJQVJSQVlfU0laRSh2bXdfY3Vyc29yX3BsYW5lX2Zv cm1hdHMpLAotCQkJRFJNX1BMQU5FX1RZUEVfQ1VSU09SLCBOVUxMKTsKKwkJCU5VTEwsIERSTV9Q TEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoIkZhaWxl ZCB0byBpbml0aWFsaXplIGN1cnNvciBwbGFuZSIpOwogCQlkcm1fcGxhbmVfY2xlYW51cCgmc291 LT5iYXNlLnByaW1hcnkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn Znhfc3RkdS5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3RkdS5jCmluZGV4IGJh ZDMxYmRmMDliNi4uZjE4ZmI5NjZjZTljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9zdGR1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3Rk dS5jCkBAIC0xNDU2LDcgKzE0NTYsNyBAQCBzdGF0aWMgaW50IHZtd19zdGR1X2luaXQoc3RydWN0 IHZtd19wcml2YXRlICpkZXZfcHJpdiwgdW5zaWduZWQgdW5pdCkKIAkJCQkgICAgICAgMCwgJnZt d19zdGR1X3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICB2bXdfcHJpbWFyeV9wbGFuZV9mb3JtYXRz LAogCQkJCSAgICAgICBBUlJBWV9TSVpFKHZtd19wcmltYXJ5X3BsYW5lX2Zvcm1hdHMpLAotCQkJ CSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwg RFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1Io IkZhaWxlZCB0byBpbml0aWFsaXplIHByaW1hcnkgcGxhbmUiKTsKIAkJZ290byBlcnJfZnJlZTsK QEAgLTE0NzEsNyArMTQ3MSw3IEBAIHN0YXRpYyBpbnQgdm13X3N0ZHVfaW5pdChzdHJ1Y3Qgdm13 X3ByaXZhdGUgKmRldl9wcml2LCB1bnNpZ25lZCB1bml0KQogCQkJMCwgJnZtd19zdGR1X2N1cnNv cl9mdW5jcywKIAkJCXZtd19jdXJzb3JfcGxhbmVfZm9ybWF0cywKIAkJCUFSUkFZX1NJWkUodm13 X2N1cnNvcl9wbGFuZV9mb3JtYXRzKSwKLQkJCURSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7 CisJCQlOVUxMLCBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJ RFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjdXJzb3IgcGxhbmUiKTsKIAkJZHJtX3Bs YW5lX2NsZWFudXAoJnN0ZHUtPmJhc2UucHJpbWFyeSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0venRlL3p4X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMKaW5k ZXggZDY0NmFjOTMxNjYzLi5lYTI5ZmVlMDFmN2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS96dGUvenhfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMKQEAg LTUzOSw3ICs1MzksNyBAQCBpbnQgenhfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJt LCBzdHJ1Y3QgenhfcGxhbmUgKnpwbGFuZSwKIAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVf aW5pdChkcm0sIHBsYW5lLCBWT1VfQ1JUQ19NQVNLLAogCQkJCSAgICAgICAmenhfcGxhbmVfZnVu Y3MsIGZvcm1hdHMsIGZvcm1hdF9jb3VudCwKLQkJCQkgICAgICAgdHlwZSwgTlVMTCk7CisJCQkJ ICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0RFVl9FUlJPUihk ZXYsICJmYWlsZWQgdG8gaW5pdCB1bml2ZXJzYWwgcGxhbmU6ICVkXG4iLCByZXQpOwogCQlyZXR1 cm4gcmV0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggYi9pbmNsdWRlL2Ry bS9kcm1fcGxhbmUuaAppbmRleCA5YWIzZTcwNDQ4MTIuLjQwMTFkNTUyN2Y0MCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgK QEAgLTM5Miw2ICszOTIsMjAgQEAgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB7CiAJICovCiAJdm9p ZCAoKmF0b21pY19wcmludF9zdGF0ZSkoc3RydWN0IGRybV9wcmludGVyICpwLAogCQkJCSAgIGNv bnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKTsKKworCS8qKgorCSAqIEBmb3JtYXRf bW9kX3N1cHBvcnRlZDoKKwkgKgorCSAqIFRoaXMgb3B0aW9uYWwgaG9vayBpcyB1c2VkIGZvciB0 aGUgRFJNIHRvIGRldGVybWluZSBpZiB0aGUgZ2l2ZW4KKwkgKiBmb3JtYXQvbW9kaWZpZXIgY29t YmluYXRpb24gaXMgdmFsaWQgZm9yIHRoZSBwbGFuZS4gVGhpcyBhbGxvd3MgdGhlCisJICogRFJN IHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IGZvcm1hdCBiaXRtYXNrICh3aGljaCBmb3JtYXRzIGFw cGx5IHRvCisJICogd2hpY2ggbW9kaWZpZXIpLgorCSAqCisJICogVHJ1ZSBpZiB0aGUgZ2l2ZW4g bW9kaWZpZXIgaXMgdmFsaWQgZm9yIHRoYXQgZm9ybWF0IG9uIHRoZSBwbGFuZS4KKwkgKiBGYWxz ZSBvdGhlcndpc2UuCisJICovCisJYm9vbCAoKmZvcm1hdF9tb2Rfc3VwcG9ydGVkKShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwgdWludDMyX3QgZm9ybWF0LAorCQkJCSAgICAgdWludDY0X3QgbW9k aWZpZXIpOwogfTsKIAogLyoqCkBAIC00ODcsNiArNTAxLDEwIEBAIHN0cnVjdCBkcm1fcGxhbmUg ewogCXVuc2lnbmVkIGludCBmb3JtYXRfY291bnQ7CiAJYm9vbCBmb3JtYXRfZGVmYXVsdDsKIAor CXVpbnQzMl90ICpmb3JtYXRzOworCXVpbnQ2NF90ICptb2RpZmllcnM7CisJdW5zaWduZWQgaW50 IG1vZGlmaWVyX2NvdW50OworCiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiOwogCkBAIC01MjcsMTMgKzU0NSwxNCBAQCBzdHJ1Y3QgZHJtX3BsYW5l IHsKIAogI2RlZmluZSBvYmpfdG9fcGxhbmUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBkcm1f cGxhbmUsIGJhc2UpCiAKLV9fcHJpbnRmKDgsIDkpCitfX3ByaW50Zig5LCAxMCkKIGludCBkcm1f dW5pdmVyc2FsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCSAgICAgc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkgICAgIHVpbnQzMl90IHBvc3NpYmxlX2NydGNzLAog CQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzICpmdW5jcywKIAkJCSAgICAgY29u c3QgdWludDMyX3QgKmZvcm1hdHMsCiAJCQkgICAgIHVuc2lnbmVkIGludCBmb3JtYXRfY291bnQs CisJCQkgICAgIGNvbnN0IHVpbnQ2NF90ICpmb3JtYXRfbW9kaWZpZXJzLAogCQkJICAgICBlbnVt IGRybV9wbGFuZV90eXBlIHR5cGUsCiAJCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsIC4uLik7CiBp bnQgZHJtX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX3NpbXBs ZV9rbXNfaGVscGVyLmgKaW5kZXggMmQzNjUzOGU0YTE3Li42ZDlhZGJiNDYyOTMgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCisrKyBiL2luY2x1ZGUvZHJt L2RybV9zaW1wbGVfa21zX2hlbHBlci5oCkBAIC0xMjIsNiArMTIyLDcgQEAgaW50IGRybV9zaW1w bGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCXN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCWNvbnN0IHN0cnVjdCBkcm1fc2ltcGxl X2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCiAJCQljb25zdCB1aW50MzJfdCAqZm9ybWF0cywg dW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCWNvbnN0IHVpbnQ2NF90ICpmb3JtYXRfbW9k aWZpZXJzLAogCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiAKICNlbmRpZiAv KiBfX0xJTlVYX0RSTV9TSU1QTEVfS01TX0hFTFBFUl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRl L3VhcGkvZHJtL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oCmlu ZGV4IDk5NWM4ZjljNjkyZi4uZGRhYmJlZWViZGVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkv ZHJtL2RybV9mb3VyY2MuaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaApAQCAt MTg0LDYgKzE4NCw4IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fRk9STUFUX01PRF9WRU5E T1JfVklWQU5URSAweDA2CiAvKiBhZGQgbW9yZSB0byB0aGUgZW5kIGFzIG5lZWRlZCAqLwogCisj ZGVmaW5lIERSTV9GT1JNQVRfUkVTRVJWRUQJICAgICAgKCgxVUxMIDw8IDU2KSAtIDEpCisKICNk ZWZpbmUgZm91cmNjX21vZF9jb2RlKHZlbmRvciwgdmFsKSBcCiAJKCgoKF9fdTY0KURSTV9GT1JN QVRfTU9EX1ZFTkRPUl8jIyB2ZW5kb3IpIDw8IDU2KSB8ICh2YWwgJiAweDAwZmZmZmZmZmZmZmZm ZmZVTEwpKQogCkBAIC0xOTYsNiArMTk4LDE1IEBAIGV4dGVybiAiQyIgewogICovCiAKIC8qCisg KiBJbnZhbGlkIE1vZGlmaWVyCisgKgorICogVGhpcyBtb2RpZmllciBjYW4gYmUgdXNlZCBhcyBh IHNlbnRpbmVsIHRvIHRlcm1pbmF0ZSBsaXN0LCBvciB0byBpbml0aWFsaXplIGEKKyAqIHZhcmlh YmxlIHdpdGggYW4gaW52YWxpZCBtb2RpZmllci4gSXQgbWlnaHQgYWxzbyBiZSB1c2VkIHRvIHJl cG9ydCBhbiBlcnJvcgorICogYmFjayB0byB1c2Vyc3BhY2UgZm9yIGNlcnRhaW4gQVBJcy4KKyAq LworI2RlZmluZSBEUk1fRk9STUFUX01PRF9JTlZBTElECWZvdXJjY19tb2RfY29kZShOT05FLCBE Uk1fRk9STUFUX1JFU0VSVkVEKQorCisvKgogICogTGluZWFyIExheW91dAogICoKICAqIEp1c3Qg cGxhaW4gbGluZWFyIGxheW91dC4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gbm8g c3BlY2lmeWluZyBhbnkKLS0gCjIuMTIuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==