From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 3/6] drm: Plumb modifiers through plane init Date: Wed, 26 Jul 2017 11:07:59 -0700 Message-ID: <20170726180802.23817-3-ben@bwidawsk.net> References: <20170726180802.23817-1-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170726180802.23817-1-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 , Daniel Stone , Philippe Cornu List-Id: dri-devel@lists.freedesktop.org VGhpcyBpcyB0aGUgcGx1bWJpbmcgZm9yIHN1cHBvcnRpbmcgZmIgbW9kaWZpZXJzIG9uIHBsYW5l cy4gTW9kaWZpZXJzCmhhdmUgYWxyZWFkeSBiZWVuIGludHJvZHVjZWQgdG8gc29tZSBleHRlbnQs IGJ1dCB0aGlzIHNlcmllcyB3aWxsIGV4dGVuZAp0aGlzIHRvIGFsbG93IHF1ZXJ5aW5nIG1vZGlm aWVycyBwZXIgcGxhbmUuIEJhc2VkIG9uIHRoaXMsIHRoZSBjbGllbnQgdG8KZW5hYmxlIG9wdGlt YWwgbW9kaWZpY2F0aW9ucyBmb3IgZnJhbWVidWZmZXJzLgoKVGhpcyBwYXRjaCBzaW1wbHkgYWxs b3dzIHRoZSBEUk0gZHJpdmVycyB0byBpbml0aWFsaXplIHRoZWlyIGxpc3Qgb2YKc3VwcG9ydGVk IG1vZGlmaWVycyB1cG9uIGluaXRpYWxpemluZyB0aGUgcGxhbmUuCgp2MjogQSBtaW5vciBhZGRp dGlvbiBmcm9tIERhbmllbAoKdjM6CiogVXBkYXRlZCBjb21taXQgbWVzc2FnZQoqIHMvSU5WQUxJ RC9EUk1fRk9STUFUX01PRF9JTlZBTElEIChMaXZpdSkKKiBSZW1vdmUgc29tZSBleGNlc3MgbmV3 bGluZXMgKExpdml1KQoqIFVwZGF0ZSBjb21tZW50IGZvciA+IDY0IG1vZGlmaWVycyAoTGl2aXUp Cgp2NDogTWlub3IgY29tbWVudCBhZGp1c3RtZW50cyAoTGl2aXUpCgp2NTogU29tZSBuZXcgcGxh dGZvcm1zIGFkZGVkIGR1ZSB0byByZWJhc2UKCnY2OiBBZGQgc29tZSBtaXNzZWQgcGxhbmUgaW5p dHMgKG9yIG1heWJlIHRoZXkncmUgbmV3IC0gd2hvIGtub3dzIGF0CnRoaXMgcG9pbnQpIChEYW5p ZWwpCgp2NzogQWRkIHN1bjhpIChEYW5pZWwpCgpTaWduZWQtb2ZmLWJ5OiBCZW4gV2lkYXdza3kg PGJlbkBid2lkYXdzay5uZXQ+ClJldmlld2VkLWJ5OiBEYW5pZWwgU3RvbmUgPGRhbmllbHNAY29s bGFib3JhLmNvbT4gKHYyKQpSZXZpZXdlZC1ieTogTGl2aXUgRHVkYXUgPExpdml1LkR1ZGF1QGFy bS5jb20+CkFja2VkLWJ5OiBQaGlsaXBwZSBDb3JudSA8cGhpbGlwcGUuY29ybnVAc3QuY29tPiAo Zm9yIHN0bSkKVGVzdGVkLWJ5OiBQaGlsaXBwZSBDb3JudSA8cGhpbGlwcGUuY29ybnVAc3QuY29t PiAoZm9yIHN0bSkKLS0tCiBkcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMgICAgICAg ICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jICAgICAgICAg ICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMgICAgICAg ICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jICAgICAg ICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9vdmVybGF5LmMgICAg ICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFu ZS5jIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVscGVyLmMgICAgICAg ICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyAgICAgICAgICAgICAgICAg ICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2RybV9z aW1wbGVfa21zX2hlbHBlci5jICAgICAgICAgfCAgMyArKysKIGRyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9wbGFuZS5jICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9oaXNp bGljb24vaGlibWMvaGlibWNfZHJtX2RlLmMgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2hpc2ls aWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jICAgICAgICAgICAgfCAgNSArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYyAgICAgICAgICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL2lt eC9pcHV2My1wbGFuZS5jICAgICAgICAgICAgICAgfCAgNCArLS0KIGRyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9t ZXNvbi9tZXNvbl9wbGFuZS5jICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNC9tZHA0X3BsYW5lLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMgICAgICAgfCAgNCArLS0KIGRyaXZlcnMvZ3B1L2RybS9t eHNmYi9teHNmYl9kcnYuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252NTBfZGlzcGxheS5jICAgICAgICAgIHwgIDUgKystLQogZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9wbGFuZS5jICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L3BsMTExL3BsMTExX2Rpc3BsYXkuYyAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L3F4bC9xeGxfZGlzcGxheS5jICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L3JjYXItZHUvcmNhcl9kdV9wbGFuZS5jICAgICAgICAgfCAgNCArLS0KIGRyaXZlcnMvZ3B1L2Ry bS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMgICAgICAgICAgIHwgIDQgKy0tCiBkcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfY3Vyc29yLmMgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfZ2RwLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfaHF2ZHAuYyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3N0bS9sdGRjLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3N1bjRpL3N1bjRpX2xheWVyLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3N1bjRpL3N1bjhpX2xheWVyLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL3RlZ3JhL2RjLmMgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1waXBlLmMgICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9wbGFuZS5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2xkdS5jICAgICAgICAgICAgIHwgIDQgKy0tCiBkcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMgICAgICAgICAgICB8ICA0ICstLQogZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3RkdS5jICAgICAgICAgICAgfCAgNCArLS0KIGRy aXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGlu Y2x1ZGUvZHJtL2RybV9wbGFuZS5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjIgKysrKysr KysrKysrKystCiBpbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuaCAgICAgICAgICAg ICB8ICAxICsKIGluY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oICAgICAgICAgICAgICAgICAg IHwgMTEgKysrKysrKysKIDQ1IGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCspLCA1MCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRj LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMKaW5kZXggMTg1OWRkM2FkNjIy Li43OTk0MTY2NTFmMmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2Ny dGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMKQEAgLTIxNyw2ICsy MTcsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqYXJjX3BndV9wbGFuZV9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkcm0pCiAKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZHJt LCBwbGFuZSwgMHhmZiwgJmFyY19wZ3VfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGZvcm1hdHMs IEFSUkFZX1NJWkUoZm9ybWF0cyksCisJCQkJICAgICAgIE5VTEwsCiAJCQkJICAgICAgIERSTV9Q TEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChyZXQpCiAJCXJldHVybiBFUlJfUFRSKHJl dCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2NydGMuYyBiL2RyaXZl cnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jCmluZGV4IDE2ZTFlMjBjZjA0Yy4uNzJiMjJiODA1 NDEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2NydGMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2NydGMuYwpAQCAtMzE1LDYgKzMxNSw3IEBAIHN0YXRp YyBzdHJ1Y3QgZHJtX3BsYW5lICpoZGxjZF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk cm0pCiAKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZHJtLCBwbGFuZSwgMHhmZiwg JmhkbGNkX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBmb3JtYXRzLCBBUlJBWV9TSVpFKGZvcm1h dHMpLAorCQkJCSAgICAgICBOVUxMLAogCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZ LCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCXJldHVybiBFUlJfUFRSKHJldCk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9h cm0vbWFsaWRwX3BsYW5lcy5jCmluZGV4IDYwMGZhN2JkN2Y1Mi4uNjA0MDJlMjc4ODJmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYwpAQCAtMzk4LDcgKzM5OCw3IEBAIGludCBtYWxp ZHBfZGVfcGxhbmVzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKIAkJCQkJRFJNX1BMQU5F X1RZUEVfT1ZFUkxBWTsKIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRybSwgJnBs YW5lLT5iYXNlLCBjcnRjcywKIAkJCQkJICAgICAgICZtYWxpZHBfZGVfcGxhbmVfZnVuY3MsIGZv cm1hdHMsCi0JCQkJCSAgICAgICBuLCBwbGFuZV90eXBlLCBOVUxMKTsKKwkJCQkJICAgICAgIG4s IE5VTEwsIHBsYW5lX3R5cGUsIE5VTEwpOwogCQlpZiAocmV0IDwgMCkKIAkJCWdvdG8gY2xlYW51 cDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jCmluZGV4IDFmZmJhOTFmYmFhZS4u MWQwMWFkMjRmZTUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9j cnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jCkBAIC0xMjY5 LDYgKzEyNjksNyBAQCBzdGF0aWMgaW50IGFybWFkYV9kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGRy bV9kZXZpY2UgKmRybSwgc3RydWN0IGRldmljZSAqZGV2LAogCQkJCSAgICAgICAmYXJtYWRhX3By aW1hcnlfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGFybWFkYV9wcmltYXJ5X2Zvcm1hdHMsCiAJ CQkJICAgICAgIEFSUkFZX1NJWkUoYXJtYWRhX3ByaW1hcnlfZm9ybWF0cyksCisJCQkJICAgICAg IE5VTEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChy ZXQpIHsKIAkJa2ZyZWUocHJpbWFyeSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJt YWRhL2FybWFkYV9vdmVybGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9vdmVy bGF5LmMKaW5kZXggNjc3YjQ0ZjM1MzRiLi5lZGM0NDkxMGQ3OWYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YXJtYWRhL2FybWFkYV9vdmVybGF5LmMKQEAgLTQ2MCw2ICs0NjAsNyBAQCBpbnQgYXJtYWRhX292 ZXJsYXlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcg Y3J0Y3MpCiAJCQkJICAgICAgICZhcm1hZGFfb3ZsX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBh cm1hZGFfb3ZsX2Zvcm1hdHMsCiAJCQkJICAgICAgIEFSUkFZX1NJWkUoYXJtYWRhX292bF9mb3Jt YXRzKSwKKwkJCQkgICAgICAgTlVMTCwKIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxB WSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlrZnJlZShkcGxhbmUpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMgYi9kcml2ZXJzL2dw dS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYwppbmRleCBiNWJkOWIwMDUyMjUu LmJhNTMyYmYxMDFlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0 bWVsX2hsY2RjX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVs X2hsY2RjX3BsYW5lLmMKQEAgLTEwODcsNyArMTA4Nyw4IEBAIHN0YXRpYyBpbnQgYXRtZWxfaGxj ZGNfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0ID0gZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KGRldiwgJnBsYW5lLT5iYXNlLCAwLAogCQkJCSAgICAgICAmbGF5ZXJf cGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGRlc2MtPmZvcm1hdHMtPmZvcm1hdHMsCi0JCQkJICAg ICAgIGRlc2MtPmZvcm1hdHMtPm5mb3JtYXRzLCB0eXBlLCBOVUxMKTsKKwkJCQkgICAgICAgZGVz Yy0+Zm9ybWF0cy0+bmZvcm1hdHMsCisJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlm IChyZXQpCiAJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f bW9kZXNldF9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXNldF9oZWxwZXIuYwpp bmRleCAyYjMzODI1ZjJmOTMuLjljYjFlZWRlMGI0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXNl dF9oZWxwZXIuYwpAQCAtMTI0LDYgKzEyNCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpj cmVhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJCSAgICAgICAm ZHJtX3ByaW1hcnlfaGVscGVyX2Z1bmNzLAogCQkJCSAgICAgICBzYWZlX21vZGVzZXRfZm9ybWF0 cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShzYWZlX21vZGVzZXRfZm9ybWF0cyksCisJCQkJICAg ICAgIE5VTEwsCiAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlm IChyZXQpIHsKIAkJa2ZyZWUocHJpbWFyeSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKaW5kZXggNWRjOGM0MzUw NjAyLi5kM2ZjNTYxZDdiNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKQEAgLTcwLDYgKzcwLDggQEAgc3Rh dGljIHVuc2lnbmVkIGludCBkcm1fbnVtX3BsYW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog ICogQGZ1bmNzOiBjYWxsYmFja3MgZm9yIHRoZSBuZXcgcGxhbmUKICAqIEBmb3JtYXRzOiBhcnJh eSBvZiBzdXBwb3J0ZWQgZm9ybWF0cyAoRFJNX0ZPUk1BVFxfXCopCiAgKiBAZm9ybWF0X2NvdW50 OiBudW1iZXIgb2YgZWxlbWVudHMgaW4gQGZvcm1hdHMKKyAqIEBmb3JtYXRfbW9kaWZpZXJzOiBh cnJheSBvZiBzdHJ1Y3QgZHJtX2Zvcm1hdCBtb2RpZmllcnMgdGVybWluYXRlZCBieQorICogICAg ICAgICAgICAgICAgICAgIERSTV9GT1JNQVRfTU9EX0lOVkFMSUQKICAqIEB0eXBlOiB0eXBlIG9m IHBsYW5lIChvdmVybGF5LCBwcmltYXJ5LCBjdXJzb3IpCiAgKiBAbmFtZTogcHJpbnRmIHN0eWxl IGZvcm1hdCBzdHJpbmcgZm9yIHRoZSBwbGFuZSBuYW1lLCBvciBOVUxMIGZvciBkZWZhdWx0IG5h bWUKICAqCkBAIC04MiwxMCArODQsMTIgQEAgaW50IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAgICAg dWludDMyX3QgcG9zc2libGVfY3J0Y3MsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVf ZnVuY3MgKmZ1bmNzLAogCQkJICAgICBjb25zdCB1aW50MzJfdCAqZm9ybWF0cywgdW5zaWduZWQg aW50IGZvcm1hdF9jb3VudCwKKwkJCSAgICAgY29uc3QgdWludDY0X3QgKmZvcm1hdF9tb2RpZmll cnMsCiAJCQkgICAgIGVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZSwKIAkJCSAgICAgY29uc3QgY2hh ciAqbmFtZSwgLi4uKQogewogCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYt Pm1vZGVfY29uZmlnOworCXVuc2lnbmVkIGludCBmb3JtYXRfbW9kaWZpZXJfY291bnQgPSAwOwog CWludCByZXQ7CiAKIAlyZXQgPSBkcm1fbW9kZV9vYmplY3RfYWRkKGRldiwgJnBsYW5lLT5iYXNl LCBEUk1fTU9ERV9PQkpFQ1RfUExBTkUpOwpAQCAtMTA1LDYgKzEwOSwzMSBAQCBpbnQgZHJtX3Vu aXZlcnNhbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKKwkvKgorCSAqIEZpcnN0IGRyaXZl ciB0byBuZWVkIG1vcmUgdGhhbiA2NCBmb3JtYXRzIG5lZWRzIHRvIGZpeCB0aGlzLiBFYWNoCisJ ICogZm9ybWF0IGlzIGVuY29kZWQgYXMgYSBiaXQgYW5kIHRoZSBjdXJyZW50IGNvZGUgb25seSBz dXBwb3J0cyBhIHU2NC4KKwkgKi8KKwlpZiAoV0FSTl9PTihmb3JtYXRfY291bnQgPiA2NCkpCisJ CXJldHVybiAtRUlOVkFMOworCisJaWYgKGZvcm1hdF9tb2RpZmllcnMpIHsKKwkJY29uc3QgdWlu dDY0X3QgKnRlbXBfbW9kaWZpZXJzID0gZm9ybWF0X21vZGlmaWVyczsKKwkJd2hpbGUgKCp0ZW1w X21vZGlmaWVycysrICE9IERSTV9GT1JNQVRfTU9EX0lOVkFMSUQpCisJCQlmb3JtYXRfbW9kaWZp ZXJfY291bnQrKzsKKwl9CisKKwlwbGFuZS0+bW9kaWZpZXJfY291bnQgPSBmb3JtYXRfbW9kaWZp ZXJfY291bnQ7CisJcGxhbmUtPm1vZGlmaWVycyA9IGttYWxsb2NfYXJyYXkoZm9ybWF0X21vZGlm aWVyX2NvdW50LAorCQkJCQkgc2l6ZW9mKGZvcm1hdF9tb2RpZmllcnNbMF0pLAorCQkJCQkgR0ZQ X0tFUk5FTCk7CisKKwlpZiAoZm9ybWF0X21vZGlmaWVyX2NvdW50ICYmICFwbGFuZS0+bW9kaWZp ZXJzKSB7CisJCURSTV9ERUJVR19LTVMoIm91dCBvZiBtZW1vcnkgd2hlbiBhbGxvY2F0aW5nIHBs YW5lXG4iKTsKKwkJa2ZyZWUocGxhbmUtPmZvcm1hdF90eXBlcyk7CisJCWRybV9tb2RlX29iamVj dF91bnJlZ2lzdGVyKGRldiwgJnBsYW5lLT5iYXNlKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQor CiAJaWYgKG5hbWUpIHsKIAkJdmFfbGlzdCBhcDsKIApAQCAtMTE3LDEyICsxNDYsMTUgQEAgaW50 IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIAl9CiAJaWYgKCFwbGFuZS0+bmFtZSkgewogCQlrZnJlZShwbGFu ZS0+Zm9ybWF0X3R5cGVzKTsKKwkJa2ZyZWUocGxhbmUtPm1vZGlmaWVycyk7CiAJCWRybV9tb2Rl X29iamVjdF91bnJlZ2lzdGVyKGRldiwgJnBsYW5lLT5iYXNlKTsKIAkJcmV0dXJuIC1FTk9NRU07 CiAJfQogCiAJbWVtY3B5KHBsYW5lLT5mb3JtYXRfdHlwZXMsIGZvcm1hdHMsIGZvcm1hdF9jb3Vu dCAqIHNpemVvZih1aW50MzJfdCkpOwogCXBsYW5lLT5mb3JtYXRfY291bnQgPSBmb3JtYXRfY291 bnQ7CisJbWVtY3B5KHBsYW5lLT5tb2RpZmllcnMsIGZvcm1hdF9tb2RpZmllcnMsCisJICAgICAg IGZvcm1hdF9tb2RpZmllcl9jb3VudCAqIHNpemVvZihmb3JtYXRfbW9kaWZpZXJzWzBdKSk7CiAJ cGxhbmUtPnBvc3NpYmxlX2NydGNzID0gcG9zc2libGVfY3J0Y3M7CiAJcGxhbmUtPnR5cGUgPSB0 eXBlOwogCkBAIC0yMDUsNyArMjM3LDggQEAgaW50IGRybV9wbGFuZV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCiAJdHlwZSA9IGlzX3ByaW1h cnkgPyBEUk1fUExBTkVfVFlQRV9QUklNQVJZIDogRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKIAly ZXR1cm4gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIHBvc3NpYmxlX2NydGNz LCBmdW5jcywKLQkJCQkJZm9ybWF0cywgZm9ybWF0X2NvdW50LCB0eXBlLCBOVUxMKTsKKwkJCQkJ Zm9ybWF0cywgZm9ybWF0X2NvdW50LAorCQkJCQlOVUxMLCB0eXBlLCBOVUxMKTsKIH0KIEVYUE9S VF9TWU1CT0woZHJtX3BsYW5lX2luaXQpOwogCkBAIC0yMjQsNiArMjU3LDcgQEAgdm9pZCBkcm1f cGxhbmVfY2xlYW51cChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAlkcm1fbW9kZXNldF9sb2Nr X2ZpbmkoJnBsYW5lLT5tdXRleCk7CiAKIAlrZnJlZShwbGFuZS0+Zm9ybWF0X3R5cGVzKTsKKwlr ZnJlZShwbGFuZS0+bW9kaWZpZXJzKTsKIAlkcm1fbW9kZV9vYmplY3RfdW5yZWdpc3RlcihkZXYs ICZwbGFuZS0+YmFzZSk7CiAKIAlCVUdfT04obGlzdF9lbXB0eSgmcGxhbmUtPmhlYWQpKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwppbmRleCAzOWMyMDNhZDU5ZGIuLmRj OWZkMTA5ZGUxNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zaW1wbGVfa21zX2hl bHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwpAQCAt MTk5LDYgKzE5OSw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfYXR0 YWNoX2JyaWRnZSk7CiAgKiBAZnVuY3M6IGNhbGxiYWNrcyBmb3IgdGhlIGRpc3BsYXkgcGlwZSAo b3B0aW9uYWwpCiAgKiBAZm9ybWF0czogYXJyYXkgb2Ygc3VwcG9ydGVkIGZvcm1hdHMgKERSTV9G T1JNQVRcX1wqKQogICogQGZvcm1hdF9jb3VudDogbnVtYmVyIG9mIGVsZW1lbnRzIGluIEBmb3Jt YXRzCisgKiBAZm9ybWF0X21vZGlmaWVyczogYXJyYXkgb2YgZm9ybWF0cyBtb2RpZmllcnMKICAq IEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBhdHRhY2ggYW5kIHJlZ2lzdGVyIChvcHRpb25hbCkK ICAqCiAgKiBTZXRzIHVwIGEgZGlzcGxheSBwaXBlbGluZSB3aGljaCBjb25zaXN0IG9mIGEgcmVh bGx5IHNpbXBsZQpAQCAtMjE5LDYgKzIyMCw3IEBAIGludCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlw ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQlzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNw bGF5X3BpcGUgKnBpcGUsCiAJCQljb25zdCBzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVf ZnVuY3MgKmZ1bmNzLAogCQkJY29uc3QgdWludDMyX3QgKmZvcm1hdHMsIHVuc2lnbmVkIGludCBm b3JtYXRfY291bnQsCisJCQljb25zdCB1aW50NjRfdCAqZm9ybWF0X21vZGlmaWVycywKIAkJCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyID0gJnBpcGUtPmVuY29kZXI7CkBAIC0yMzMsNiArMjM1LDcgQEAgaW50IGRybV9zaW1w bGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXQgPSBkcm1f dW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgMCwKIAkJCQkgICAgICAgJmRybV9zaW1w bGVfa21zX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBmb3JtYXRzLCBmb3JtYXRfY291bnQsCisJ CQkJICAgICAgIGZvcm1hdF9tb2RpZmllcnMsCiAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BS SU1BUlksIE5VTEwpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2RybV9wbGFuZS5jCmluZGV4IDYxMWI2ZmQ2NTQzMy4uZTUwOTliYzlmMjFh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYwpAQCAtMjgzLDcg KzI4Myw3IEBAIGludCBleHlub3NfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQkJCSAgICAgICAmZXh5bm9zX3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBjb25maWctPnBpeGVs X2Zvcm1hdHMsCiAJCQkJICAgICAgIGNvbmZpZy0+bnVtX3BpeGVsX2Zvcm1hdHMsCi0JCQkJICAg ICAgIGNvbmZpZy0+dHlwZSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIGNvbmZpZy0+dHlwZSwg TlVMTCk7CiAJaWYgKGVycikgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBpbml0aWFsaXplIHBs YW5lXG4iKTsKIAkJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1 X2RybV9wbGFuZS5jCmluZGV4IDBhMjA3MjNhYTZlMS4uOTU1NGIyNDU3NDZlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFuZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMKQEAgLTIyNCw3ICsyMjQsNyBA QCBzdHJ1Y3QgZHJtX3BsYW5lICpmc2xfZGN1X2RybV9wcmltYXJ5X2NyZWF0ZV9wbGFuZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJCSAgICAgICAmZnNsX2RjdV9kcm1fcGxhbmVfZnVuY3Ms CiAJCQkJICAgICAgIGZzbF9kY3VfZHJtX3BsYW5lX2Zvcm1hdHMsCiAJCQkJICAgICAgIEFSUkFZ X1NJWkUoZnNsX2RjdV9kcm1fcGxhbmVfZm9ybWF0cyksCi0JCQkJICAgICAgIERSTV9QTEFORV9U WVBFX1BSSU1BUlksIE5VTEwpOworCQkJCSAgICAgICBOVUxMLCBEUk1fUExBTkVfVFlQRV9QUklN QVJZLCBOVUxMKTsKIAlpZiAocmV0KSB7CiAJCWtmcmVlKHByaW1hcnkpOwogCQlwcmltYXJ5ID0g TlVMTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNf ZHJtX2RlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5j CmluZGV4IDU0YTQ1NDJhNDBmMS4uYmVjMGE4NzI2YzZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2RlLmMKQEAgLTE4MSw2ICsxODEsNyBAQCBzdGF0 aWMgc3RydWN0IGRybV9wbGFuZSAqaGlibWNfcGxhbmVfaW5pdChzdHJ1Y3QgaGlibWNfZHJtX3By aXZhdGUgKnByaXYpCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUs IDEsICZoaWJtY19wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgY2hhbm5lbF9mb3JtYXRzMSwKIAkJ CQkgICAgICAgQVJSQVlfU0laRShjaGFubmVsX2Zvcm1hdHMxKSwKKwkJCQkgICAgICAgTlVMTCwK IAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKIAkJCQkgICAgICAgTlVMTCk7CiAJ aWYgKHJldCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9r aXJpbl9kcm1fYWRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2Ry bV9hZGUuYwppbmRleCA3MDZlZmQwYzQxOTAuLjk4ODJlYmQ4NzUxYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMKQEAgLTkxMCw3ICs5MTAs NyBAQCBzdGF0aWMgaW50IGFkZV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBhZGVfcGxhbmUgKmFwbGFuZSwKIAkJcmV0dXJuIHJldDsKIAogCXJldCA9IGRybV91bml2 ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZhcGxhbmUtPmJhc2UsIDEsICZhZGVfcGxhbmVfZnVuY3Ms Ci0JCQkJICAgICAgIGZtdHMsIGZtdHNfY250LCB0eXBlLCBOVUxMKTsKKwkJCQkgICAgICAgZm10 cywgZm10c19jbnQsIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9S KCJmYWlsIHRvIGluaXQgcGxhbmUsIGNoPSVkXG4iLCBhcGxhbmUtPmNoKTsKIAkJcmV0dXJuIHJl dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAyN2NkZTg5YzE1N2QuLjAz ODFhMTczNDM5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTMwNTUs MTggKzEzMDU1LDIxIEBAIGludGVsX3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCiAJCXJldCA9IGRybV91bml2ZXJz YWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwgJnByaW1hcnktPmJhc2UsCiAJCQkJCSAgICAg ICAwLCAmaW50ZWxfcGxhbmVfZnVuY3MsCiAJCQkJCSAgICAgICBpbnRlbF9wcmltYXJ5X2Zvcm1h dHMsIG51bV9mb3JtYXRzLAorCQkJCQkgICAgICAgTlVMTCwKIAkJCQkJICAgICAgIERSTV9QTEFO RV9UWVBFX1BSSU1BUlksCiAJCQkJCSAgICAgICAicGxhbmUgMSVjIiwgcGlwZV9uYW1lKHBpcGUp KTsKIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDUgfHwgSVNfRzRYKGRldl9wcml2 KSkKIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KCZkZXZfcHJpdi0+ZHJtLCAmcHJp bWFyeS0+YmFzZSwKIAkJCQkJICAgICAgIDAsICZpbnRlbF9wbGFuZV9mdW5jcywKIAkJCQkJICAg ICAgIGludGVsX3ByaW1hcnlfZm9ybWF0cywgbnVtX2Zvcm1hdHMsCisJCQkJCSAgICAgICBOVUxM LAogCQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKIAkJCQkJICAgICAgICJwcmlt YXJ5ICVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKIAllbHNlCiAJCXJldCA9IGRybV91bml2ZXJzYWxf cGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwgJnByaW1hcnktPmJhc2UsCiAJCQkJCSAgICAgICAw LCAmaW50ZWxfcGxhbmVfZnVuY3MsCiAJCQkJCSAgICAgICBpbnRlbF9wcmltYXJ5X2Zvcm1hdHMs IG51bV9mb3JtYXRzLAorCQkJCQkgICAgICAgTlVMTCwKIAkJCQkJICAgICAgIERSTV9QTEFORV9U WVBFX1BSSU1BUlksCiAJCQkJCSAgICAgICAicGxhbmUgJWMiLCBwbGFuZV9uYW1lKHByaW1hcnkt PnBsYW5lKSk7CiAJaWYgKHJldCkKQEAgLTEzMTUyLDcgKzEzMTU1LDcgQEAgaW50ZWxfY3Vyc29y X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAg ICAgIDAsICZpbnRlbF9jdXJzb3JfcGxhbmVfZnVuY3MsCiAJCQkJICAgICAgIGludGVsX2N1cnNv cl9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKGludGVsX2N1cnNvcl9mb3JtYXRzKSwK LQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfQ1VSU09SLAorCQkJCSAgICAgICBOVUxMLCBEUk1f UExBTkVfVFlQRV9DVVJTT1IsCiAJCQkJICAgICAgICJjdXJzb3IgJWMiLCBwaXBlX25hbWUocGlw ZSkpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMKaW5kZXggM2Q3MDRiZDcyZTJhLi40YmYwZDNlNGFkOTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jCkBAIC0xMTcwLDEzICsxMTcwLDEzIEBAIGludGVsX3Nwcml0ZV9wbGFuZV9j cmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlyZXQgPSBkcm1fdW5p dmVyc2FsX3BsYW5lX2luaXQoJmRldl9wcml2LT5kcm0sICZpbnRlbF9wbGFuZS0+YmFzZSwKIAkJ CQkJICAgICAgIHBvc3NpYmxlX2NydGNzLCAmaW50ZWxfcGxhbmVfZnVuY3MsCiAJCQkJCSAgICAg ICBwbGFuZV9mb3JtYXRzLCBudW1fcGxhbmVfZm9ybWF0cywKLQkJCQkJICAgICAgIERSTV9QTEFO RV9UWVBFX09WRVJMQVksCisJCQkJCSAgICAgICBOVUxMLCBEUk1fUExBTkVfVFlQRV9PVkVSTEFZ LAogCQkJCQkgICAgICAgInBsYW5lICVkJWMiLCBwbGFuZSArIDIsIHBpcGVfbmFtZShwaXBlKSk7 CiAJZWxzZQogCQlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoJmRldl9wcml2LT5kcm0s ICZpbnRlbF9wbGFuZS0+YmFzZSwKIAkJCQkJICAgICAgIHBvc3NpYmxlX2NydGNzLCAmaW50ZWxf cGxhbmVfZnVuY3MsCiAJCQkJCSAgICAgICBwbGFuZV9mb3JtYXRzLCBudW1fcGxhbmVfZm9ybWF0 cywKLQkJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX09WRVJMQVksCisJCQkJCSAgICAgICBOVUxM LCBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLAogCQkJCQkgICAgICAgInNwcml0ZSAlYyIsIHNwcml0 ZV9uYW1lKHBpcGUsIHBsYW5lKSk7CiAJaWYgKHJldCkKIAkJZ290byBmYWlsOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2lt eC9pcHV2My1wbGFuZS5jCmluZGV4IDA4NDdjYzBkOTZhNC4uZGViZGUyZGFlN2JmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2lteC9pcHV2My1wbGFuZS5jCkBAIC03MTgsOCArNzE4LDggQEAgc3RydWN0IGlwdV9wbGFu ZSAqaXB1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGlwdV9zb2Mg KmlwdSwKIAogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZpcHVfcGxhbmUt PmJhc2UsIHBvc3NpYmxlX2NydGNzLAogCQkJCSAgICAgICAmaXB1X3BsYW5lX2Z1bmNzLCBpcHVf cGxhbmVfZm9ybWF0cywKLQkJCQkgICAgICAgQVJSQVlfU0laRShpcHVfcGxhbmVfZm9ybWF0cyks IHR5cGUsCi0JCQkJICAgICAgIE5VTEwpOworCQkJCSAgICAgICBBUlJBWV9TSVpFKGlwdV9wbGFu ZV9mb3JtYXRzKSwKKwkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkgewog CQlEUk1fRVJST1IoImZhaWxlZCB0byBpbml0aWFsaXplIHBsYW5lXG4iKTsKIAkJa2ZyZWUoaXB1 X3BsYW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3Bs YW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jCmluZGV4IDFh NTliOWFiNGFhOC4uNmYxMjE4OTE0MzBmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX3BsYW5lLmMKQEAgLTE3NSw3ICsxNzUsNyBAQCBpbnQgbXRrX3BsYW5lX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAKIAllcnIgPSBkcm1f dW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwgcG9zc2libGVfY3J0Y3MsCiAJCQkJICAg ICAgICZtdGtfcGxhbmVfZnVuY3MsIGZvcm1hdHMsCi0JCQkJICAgICAgIEFSUkFZX1NJWkUoZm9y bWF0cyksIHR5cGUsIE5VTEwpOworCQkJCSAgICAgICBBUlJBWV9TSVpFKGZvcm1hdHMpLCBOVUxM LCB0eXBlLCBOVUxMKTsKIAlpZiAoZXJyKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGluaXRp YWxpemUgcGxhbmVcbiIpOwogCQlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21lc29uL21lc29uX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fcGxh bmUuYwppbmRleCBhMzJkM2I2ZTJlMTIuLjE3ZTk2ZmE0Nzg2OCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21lc29uL21lc29uX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lc29u L21lc29uX3BsYW5lLmMKQEAgLTIyMyw2ICsyMjMsNyBAQCBpbnQgbWVzb25fcGxhbmVfY3JlYXRl KHN0cnVjdCBtZXNvbl9kcm0gKnByaXYpCiAJCQkJICZtZXNvbl9wbGFuZV9mdW5jcywKIAkJCQkg c3VwcG9ydGVkX2RybV9mb3JtYXRzLAogCQkJCSBBUlJBWV9TSVpFKHN1cHBvcnRlZF9kcm1fZm9y bWF0cyksCisJCQkJIE5VTEwsCiAJCQkJIERSTV9QTEFORV9UWVBFX1BSSU1BUlksICJtZXNvbl9w cmltYXJ5X3BsYW5lIik7CiAKIAlkcm1fcGxhbmVfaGVscGVyX2FkZChwbGFuZSwgJm1lc29uX3Bs YW5lX2hlbHBlcl9mdW5jcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA0L21kcDRfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFu ZS5jCmluZGV4IGEyMGUzZDY0NDUyMy4uN2ExYWQzYWYwOGUzIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL21kcC9tZHA0L21kcDRfcGxhbmUuYwpAQCAtNDAxLDcgKzQwMSw3IEBAIHN0cnVjdCBkcm1f cGxhbmUgKm1kcDRfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXR5cGUgPSBw cml2YXRlX3BsYW5lID8gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSA6IERSTV9QTEFORV9UWVBFX09W RVJMQVk7CiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIDB4ZmYs ICZtZHA0X3BsYW5lX2Z1bmNzLAogCQkJCSBtZHA0X3BsYW5lLT5mb3JtYXRzLCBtZHA0X3BsYW5l LT5uZm9ybWF0cywKLQkJCQkgdHlwZSwgTlVMTCk7CisJCQkJIE5VTEwsIHR5cGUsIE5VTEwpOwog CWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21k cDVfcGxhbmUuYwppbmRleCBmZTNhNGRlMWE0MzMuLjYxZGZlYTc5MWYzZiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKQEAgLTExMzksMTIgKzExMzksMTIgQEAg c3RydWN0IGRybV9wbGFuZSAqbWRwNV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAweGZmLAogCQkJ CSZtZHA1X2N1cnNvcl9wbGFuZV9mdW5jcywKIAkJCQltZHA1X3BsYW5lLT5mb3JtYXRzLCBtZHA1 X3BsYW5lLT5uZm9ybWF0cywKLQkJCQl0eXBlLCBOVUxMKTsKKwkJCQlOVUxMLCB0eXBlLCBOVUxM KTsKIAllbHNlCiAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAw eGZmLAogCQkJCSZtZHA1X3BsYW5lX2Z1bmNzLAogCQkJCW1kcDVfcGxhbmUtPmZvcm1hdHMsIG1k cDVfcGxhbmUtPm5mb3JtYXRzLAotCQkJCXR5cGUsIE5VTEwpOworCQkJCU5VTEwsIHR5cGUsIE5V TEwpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL214c2ZiL214c2ZiX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX2Rydi5j CmluZGV4IGEzNGY0MWNlMzU5OS4uOTNjMzhlYjZkMTg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXhzZmIvbXhzZmJfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2Zi X2Rydi5jCkBAIC0xOTAsNyArMTkwLDcgQEAgc3RhdGljIGludCBteHNmYl9sb2FkKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJfQogCiAJcmV0ID0gZHJtX3Np bXBsZV9kaXNwbGF5X3BpcGVfaW5pdChkcm0sICZteHNmYi0+cGlwZSwgJm14c2ZiX2Z1bmNzLAot CQkJbXhzZmJfZm9ybWF0cywgQVJSQVlfU0laRShteHNmYl9mb3JtYXRzKSwKKwkJCW14c2ZiX2Zv cm1hdHMsIEFSUkFZX1NJWkUobXhzZmJfZm9ybWF0cyksIE5VTEwsCiAJCQkmbXhzZmItPmNvbm5l Y3Rvcik7CiAJaWYgKHJldCA8IDApIHsKIAkJZGV2X2Vycihkcm0tPmRldiwgIkNhbm5vdCBzZXR1 cCBzaW1wbGUgZGlzcGxheSBwaXBlXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252NTBfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNw bGF5LmMKaW5kZXggOWQ0MGIyYThiZTRkLi4wOTlmMDVmODYxM2QgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252NTBfZGlzcGxheS5jCkBAIC0xMDgzLDggKzEwODMsOSBAQCBudjUwX3duZHdfY3Rv cihjb25zdCBzdHJ1Y3QgbnY1MF93bmR3X2Z1bmMgKmZ1bmMsIHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJd25kdy0+ZnVuYyA9IGZ1bmM7CiAJd25kdy0+ZG1hYyA9IGRtYWM7CiAKLQlyZXQgPSBk cm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCAmd25kdy0+cGxhbmUsIDAsICZudjUwX3duZHcs IGZvcm1hdCwKLQkJCQkgICAgICAgbmZvcm1hdCwgdHlwZSwgIiVzLSVkIiwgbmFtZSwgaW5kZXgp OworCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZ3bmR3LT5wbGFuZSwgMCwg Jm52NTBfd25kdywKKwkJCQkgICAgICAgZm9ybWF0LCBuZm9ybWF0LCBOVUxMLAorCQkJCSAgICAg ICB0eXBlLCAiJXMtJWQiLCBuYW1lLCBpbmRleCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jIGIvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jCmluZGV4IDIxNjBmNjQ1NDhlMC4uYjky YThmMWQwMTU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5l LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jCkBAIC0yOTEsNyAr MjkxLDcgQEAgc3RydWN0IGRybV9wbGFuZSAqb21hcF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZGV2LCBwbGFuZSwg cG9zc2libGVfY3J0Y3MsCiAJCQkJICAgICAgICZvbWFwX3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAot CQkJCSAgICAgICBuZm9ybWF0cywgdHlwZSwgTlVMTCk7CisJCQkJICAgICAgIG5mb3JtYXRzLCBO VUxMLCB0eXBlLCBOVUxMKTsKIAlpZiAocmV0IDwgMCkKIAkJZ290byBlcnJvcjsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3BsMTExL3BsMTExX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9wbDExMS9wbDExMV9kaXNwbGF5LmMKaW5kZXggYzZjYTRmMWJiZDQ5Li5mMDEzOWZhNThk NTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wbDExMS9wbDExMV9kaXNwbGF5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3BsMTExL3BsMTExX2Rpc3BsYXkuYwpAQCAtNDU3LDcgKzQ1Nyw3 IEBAIGludCBwbDExMV9kaXNwbGF5X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKIAlyZXQg PSBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9pbml0KGRybSwgJnByaXYtPnBpcGUsCiAJCQkJCSAg ICZwbDExMV9kaXNwbGF5X2Z1bmNzLAogCQkJCQkgICBmb3JtYXRzLCBBUlJBWV9TSVpFKGZvcm1h dHMpLAotCQkJCQkgICAmcHJpdi0+Y29ubmVjdG9yLmNvbm5lY3Rvcik7CisJCQkJCSAgIE5VTEws ICZwcml2LT5jb25uZWN0b3IuY29ubmVjdG9yKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0Owog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMgYi9kcml2ZXJz L2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMKaW5kZXggNWVlYWU4OWMxMzhkLi4xNGM1NjEzYjQz ODggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMKQEAgLTc4NCw3ICs3ODQsNyBAQCBzdGF0 aWMgc3RydWN0IGRybV9wbGFuZSAqcXhsX2NyZWF0ZV9wbGFuZShzdHJ1Y3QgcXhsX2RldmljZSAq cWRldiwKIAogCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmcWRldi0+ZGRldiwgcGxh bmUsIHBvc3NpYmxlX2NydGNzLAogCQkJCSAgICAgICBmdW5jcywgZm9ybWF0cywgbnVtX2Zvcm1h dHMsCi0JCQkJICAgICAgIHR5cGUsIE5VTEwpOworCQkJCSAgICAgICBOVUxMLCB0eXBlLCBOVUxM KTsKIAlpZiAoZXJyKQogCQlnb3RvIGZyZWVfcGxhbmU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1 L3JjYXJfZHVfcGxhbmUuYwppbmRleCBkY2RlNjI4OGRhNmMuLjJiMDJlY2NiZmI3MCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9wbGFuZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYwpAQCAtNzQzLDggKzc0Myw4IEBAIGlu dCByY2FyX2R1X3BsYW5lc19pbml0KHN0cnVjdCByY2FyX2R1X2dyb3VwICpyZ3JwKQogCiAJCXJl dCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChyY2R1LT5kZGV2LCAmcGxhbmUtPnBsYW5lLCBj cnRjcywKIAkJCQkJICAgICAgICZyY2FyX2R1X3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJCQkg ICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwgdHlwZSwKLQkJCQkJICAgICAgIE5VTEwpOworCQkJ CQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwKKwkJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5V TEwpOwogCQlpZiAocmV0IDwgMCkKIAkJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1k dS9yY2FyX2R1X3ZzcC5jCmluZGV4IGY4NzA0NDVlYmM4ZC4uNzM2MmQ4MGQyMzZiIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3ZzcC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMKQEAgLTQzOSw4ICs0MzksOCBAQCBpbnQgcmNh cl9kdV92c3BfaW5pdChzdHJ1Y3QgcmNhcl9kdV92c3AgKnZzcCkKIAkJCQkJICAgICAgIDEgPDwg dnNwLT5pbmRleCwKIAkJCQkJICAgICAgICZyY2FyX2R1X3ZzcF9wbGFuZV9mdW5jcywKIAkJCQkJ ICAgICAgIGZvcm1hdHNfa21zLAotCQkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzX2ttcyks IHR5cGUsCi0JCQkJCSAgICAgICBOVUxMKTsKKwkJCQkJICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0 c19rbXMpLAorCQkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAJCWlmIChyZXQgPCAwKQog CQkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX2RybV92b3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f dm9wLmMKaW5kZXggOTQzNGQ2MTZiYzM3Li4xMDAxZjMyYTI0OGIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwpAQCAtMTI5Myw3ICsxMjkzLDcgQEAgc3Rh dGljIGludCB2b3BfY3JlYXRlX2NydGMoc3RydWN0IHZvcCAqdm9wKQogCQkJCQkgICAgICAgMCwg JnZvcF9wbGFuZV9mdW5jcywKIAkJCQkJICAgICAgIHdpbl9kYXRhLT5waHktPmRhdGFfZm9ybWF0 cywKIAkJCQkJICAgICAgIHdpbl9kYXRhLT5waHktPm5mb3JtYXRzLAotCQkJCQkgICAgICAgd2lu X2RhdGEtPnR5cGUsIE5VTEwpOworCQkJCQkgICAgICAgTlVMTCwgd2luX2RhdGEtPnR5cGUsIE5V TEwpOwogCQlpZiAocmV0KSB7CiAJCQlEUk1fREVWX0VSUk9SKHZvcC0+ZGV2LCAiZmFpbGVkIHRv IGluaXQgcGxhbmUgJWRcbiIsCiAJCQkJICAgICAgcmV0KTsKQEAgLTEzMzIsNyArMTMzMiw3IEBA IHN0YXRpYyBpbnQgdm9wX2NyZWF0ZV9jcnRjKHN0cnVjdCB2b3AgKnZvcCkKIAkJCQkJICAgICAg ICZ2b3BfcGxhbmVfZnVuY3MsCiAJCQkJCSAgICAgICB3aW5fZGF0YS0+cGh5LT5kYXRhX2Zvcm1h dHMsCiAJCQkJCSAgICAgICB3aW5fZGF0YS0+cGh5LT5uZm9ybWF0cywKLQkJCQkJICAgICAgIHdp bl9kYXRhLT50eXBlLCBOVUxMKTsKKwkJCQkJICAgICAgIE5VTEwsIHdpbl9kYXRhLT50eXBlLCBO VUxMKTsKIAkJaWYgKHJldCkgewogCQkJRFJNX0RFVl9FUlJPUih2b3AtPmRldiwgImZhaWxlZCB0 byBpbml0IG92ZXJsYXkgJWRcbiIsCiAJCQkJICAgICAgcmV0KTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9zdGkvc3RpX2N1cnNvci5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vy c29yLmMKaW5kZXggNWIzYTQxZjc0ZjIxLi5mMzFjYmU4OThlYjMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9zdGkvc3RpX2N1cnNvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2N1cnNvci5jCkBAIC0zOTIsNyArMzkyLDcgQEAgc3RydWN0IGRybV9wbGFuZSAqc3RpX2N1cnNv cl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCiAJCQkJICAgICAgICZzdGlfY3Vy c29yX3BsYW5lX2hlbHBlcnNfZnVuY3MsCiAJCQkJICAgICAgIGN1cnNvcl9zdXBwb3J0ZWRfZm9y bWF0cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShjdXJzb3Jfc3VwcG9ydGVkX2Zvcm1hdHMpLAot CQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOworCQkJCSAgICAgICBOVUxM LCBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwogCWlmIChyZXMpIHsKIAkJRFJNX0VSUk9S KCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB1bml2ZXJzYWwgcGxhbmVcbiIpOwogCQlnb3RvIGVycl9w bGFuZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMKaW5kZXggNWVlMDUwMzk0NWM4Li5kY2VlZGJlNzAyZDcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9zdGkvc3RpX2dkcC5jCkBAIC05MzEsNyArOTMxLDcgQEAgc3RydWN0IGRybV9wbGFu ZSAqc3RpX2dkcF9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCiAJCQkJICAgICAg ICZzdGlfZ2RwX3BsYW5lX2hlbHBlcnNfZnVuY3MsCiAJCQkJICAgICAgIGdkcF9zdXBwb3J0ZWRf Zm9ybWF0cywKIAkJCQkgICAgICAgQVJSQVlfU0laRShnZHBfc3VwcG9ydGVkX2Zvcm1hdHMpLAot CQkJCSAgICAgICB0eXBlLCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAJ aWYgKHJlcykgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBpbml0aWFsaXplIHVuaXZlcnNhbCBw bGFuZVxuIik7CiAJCWdvdG8gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfaHF2ZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hxdmRwLmMKaW5kZXggNTNhNDZk ZGE4YmQ1Li5mMTEyMzA4NTMxMTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2hxdmRwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaHF2ZHAuYwpAQCAtMTI5OCw3 ICsxMjk4LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKnN0aV9ocXZkcF9jcmVhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCiAJCQkJICAgICAgICZzdGlfaHF2ZHBfcGxhbmVfaGVs cGVyc19mdW5jcywKIAkJCQkgICAgICAgaHF2ZHBfc3VwcG9ydGVkX2Zvcm1hdHMsCiAJCQkJICAg ICAgIEFSUkFZX1NJWkUoaHF2ZHBfc3VwcG9ydGVkX2Zvcm1hdHMpLAotCQkJCSAgICAgICBEUk1f UExBTkVfVFlQRV9PVkVSTEFZLCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZ UEVfT1ZFUkxBWSwgTlVMTCk7CiAJaWYgKHJlcykgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBp bml0aWFsaXplIHVuaXZlcnNhbCBwbGFuZVxuIik7CiAJCXJldHVybiBOVUxMOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3N0bS9sdGRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMu YwppbmRleCAwNGNjNjZkNmI5NmYuLmFlOWViMGZmZjA2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3N0bS9sdGRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0bS9sdGRjLmMKQEAgLTcz NSw3ICs3MzUsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqbHRkY19wbGFuZV9jcmVhdGUo c3RydWN0IGRybV9kZXZpY2UgKmRkZXYsCiAKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2lu aXQoZGRldiwgcGxhbmUsIHBvc3NpYmxlX2NydGNzLAogCQkJCSAgICAgICAmbHRkY19wbGFuZV9m dW5jcywgZm9ybWF0cywgbmJfZm10LAotCQkJCSAgICAgICB0eXBlLCBOVUxMKTsKKwkJCQkgICAg ICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiAwOwogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfbGF5ZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9zdW40aS9zdW40aV9sYXllci5jCmluZGV4IGVhZDRmOWQ0YzFlZS4uZDQ1ZjNhMWEwYTI5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfbGF5ZXIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfbGF5ZXIuYwpAQCAtMTE1LDcgKzExNSw3IEBAIHN0 YXRpYyBzdHJ1Y3Qgc3VuNGlfbGF5ZXIgKnN1bjRpX2xheWVyX2luaXRfb25lKHN0cnVjdCBkcm1f ZGV2aWNlICpkcm0sCiAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRybSwgJmxheWVy LT5wbGFuZSwgMCwKIAkJCQkgICAgICAgJnN1bjRpX2JhY2tlbmRfbGF5ZXJfZnVuY3MsCiAJCQkJ ICAgICAgIHBsYW5lLT5mb3JtYXRzLCBwbGFuZS0+bmZvcm1hdHMsCi0JCQkJICAgICAgIHBsYW5l LT50eXBlLCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwgcGxhbmUtPnR5cGUsIE5VTEwpOwogCWlm IChyZXQpIHsKIAkJZGV2X2Vycihkcm0tPmRldiwgIkNvdWxkbid0IGluaXRpYWxpemUgbGF5ZXJc biIpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3N1bjRpL3N1bjhpX2xheWVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbGF5ZXIu YwppbmRleCBlNjI3ZWVlY2U2NTguLjIzODEwZmY3MjY4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3N1bjRpL3N1bjhpX2xheWVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1 bjhpX2xheWVyLmMKQEAgLTkwLDcgKzkwLDcgQEAgc3RhdGljIHN0cnVjdCBzdW44aV9sYXllciAq c3VuOGlfbGF5ZXJfaW5pdF9vbmUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKIAlyZXQgPSBkcm1f dW5pdmVyc2FsX3BsYW5lX2luaXQoZHJtLCAmbGF5ZXItPnBsYW5lLCAwLAogCQkJCSAgICAgICAm c3VuOGlfbWl4ZXJfbGF5ZXJfZnVuY3MsCiAJCQkJICAgICAgIHBsYW5lLT5mb3JtYXRzLCBwbGFu ZS0+bmZvcm1hdHMsCi0JCQkJICAgICAgIHBsYW5lLT50eXBlLCBOVUxMKTsKKwkJCQkgICAgICAg TlVMTCwgcGxhbmUtPnR5cGUsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJZGV2X2Vycihkcm0tPmRl diwgIkNvdWxkbid0IGluaXRpYWxpemUgbGF5ZXJcbiIpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgYi9kcml2ZXJzL2dwdS9k cm0vdGVncmEvZGMuYwppbmRleCAwY2I5YjkwZTJlNjguLjRkZjM5MTEyZTM4ZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L2RjLmMKQEAgLTY3OCw4ICs2NzgsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqdGVncmFf ZGNfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKIAogCWVyciA9 IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+YmFzZSwgcG9zc2libGVfY3J0 Y3MsCiAJCQkJICAgICAgICZ0ZWdyYV9wcmltYXJ5X3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJ CSAgICAgICBudW1fZm9ybWF0cywgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKLQkJCQkgICAgICAg TlVMTCk7CisJCQkJICAgICAgIG51bV9mb3JtYXRzLCBOVUxMLAorCQkJCSAgICAgICBEUk1fUExB TkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKIAlpZiAoZXJyIDwgMCkgewogCQlrZnJlZShwbGFuZSk7 CiAJCXJldHVybiBFUlJfUFRSKGVycik7CkBAIC04NDQsOCArODQ0LDggQEAgc3RhdGljIHN0cnVj dCBkcm1fcGxhbmUgKnRlZ3JhX2RjX2N1cnNvcl9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRybSwKIAogCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+ YmFzZSwgMSA8PCBkYy0+cGlwZSwKIAkJCQkgICAgICAgJnRlZ3JhX2N1cnNvcl9wbGFuZV9mdW5j cywgZm9ybWF0cywKLQkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIERSTV9QTEFORV9UWVBFX0NVUlNP UiwKLQkJCQkgICAgICAgTlVMTCk7CisJCQkJICAgICAgIG51bV9mb3JtYXRzLCBOVUxMLAorCQkJ CSAgICAgICBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwogCWlmIChlcnIgPCAwKSB7CiAJ CWtmcmVlKHBsYW5lKTsKIAkJcmV0dXJuIEVSUl9QVFIoZXJyKTsKQEAgLTkwNiw4ICs5MDYsOCBA QCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqdGVncmFfZGNfb3ZlcmxheV9wbGFuZV9jcmVhdGUo c3RydWN0IGRybV9kZXZpY2UgKmRybSwKIAogCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5p dChkcm0sICZwbGFuZS0+YmFzZSwgMSA8PCBkYy0+cGlwZSwKIAkJCQkgICAgICAgJnRlZ3JhX292 ZXJsYXlfcGxhbmVfZnVuY3MsIGZvcm1hdHMsCi0JCQkJICAgICAgIG51bV9mb3JtYXRzLCBEUk1f UExBTkVfVFlQRV9PVkVSTEFZLAotCQkJCSAgICAgICBOVUxMKTsKKwkJCQkgICAgICAgbnVtX2Zv cm1hdHMsIE5VTEwsCisJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX09WRVJMQVksIE5VTEwpOwog CWlmIChlcnIgPCAwKSB7CiAJCWtmcmVlKHBsYW5lKTsKIAkJcmV0dXJuIEVSUl9QVFIoZXJyKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1waXBlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0tcGlwZS5jCmluZGV4IGVjNDNm YjdhZDllNC4uMjY4MjNhNGEwN2Q4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRy bS9jb3JlL3Rpbnlkcm0tcGlwZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUv dGlueWRybS1waXBlLmMKQEAgLTIyNSw3ICsyMjUsNyBAQCB0aW55ZHJtX2Rpc3BsYXlfcGlwZV9p bml0KHN0cnVjdCB0aW55ZHJtX2RldmljZSAqdGRldiwKIAkJcmV0dXJuIFBUUl9FUlIoY29ubmVj dG9yKTsKIAogCXJldCA9IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2luaXQoZHJtLCAmdGRldi0+ cGlwZSwgZnVuY3MsIGZvcm1hdHMsCi0JCQkJCSAgIGZvcm1hdF9jb3VudCwgY29ubmVjdG9yKTsK KwkJCQkJICAgZm9ybWF0X2NvdW50LCBOVUxMLCBjb25uZWN0b3IpOwogCWlmIChyZXQpCiAJCXJl dHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMg Yi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCmluZGV4IDg4NTNlOWE0ZjAwNS4uMjk2 OGIzZWJiODk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKQEAgLTkwMiw3ICs5MDIsNyBAQCBz dHJ1Y3QgZHJtX3BsYW5lICp2YzRfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAwLAogCQkJCSAgICAg ICAmdmM0X3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICBmb3JtYXRzLCBudW1fZm9ybWF0cywKLQkJ CQkgICAgICAgdHlwZSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCiAJ ZHJtX3BsYW5lX2hlbHBlcl9hZGQocGxhbmUsICZ2YzRfcGxhbmVfaGVscGVyX2Z1bmNzKTsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYwppbmRleCBhZGNkYmQwYWJlZjYuLjcx YmE0NTVhZjkxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3Bs YW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMKQEAgLTI5 OCw3ICsyOTgsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICp2aXJ0aW9fZ3B1X3BsYW5lX2luaXQoc3Ry dWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5l X2luaXQoZGV2LCBwbGFuZSwgMSA8PCBpbmRleCwKIAkJCQkgICAgICAgJnZpcnRpb19ncHVfcGxh bmVfZnVuY3MsCiAJCQkJICAgICAgIGZvcm1hdHMsIG5mb3JtYXRzLAotCQkJCSAgICAgICB0eXBl LCBOVUxMKTsKKwkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CiAJaWYgKHJldCkKIAkJZ290 byBlcnJfcGxhbmVfaW5pdDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92 bXdnZnhfbGR1LmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYwppbmRleCA2 MzkxMDY5NDk4ZDYuLmI4YTA5ODA3YzVkZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfbGR1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1 LmMKQEAgLTQyOCw3ICs0MjgsNyBAQCBzdGF0aWMgaW50IHZtd19sZHVfaW5pdChzdHJ1Y3Qgdm13 X3ByaXZhdGUgKmRldl9wcml2LCB1bnNpZ25lZCB1bml0KQogCQkJCSAgICAgICAwLCAmdm13X2xk dV9wbGFuZV9mdW5jcywKIAkJCQkgICAgICAgdm13X3ByaW1hcnlfcGxhbmVfZm9ybWF0cywKIAkJ CQkgICAgICAgQVJSQVlfU0laRSh2bXdfcHJpbWFyeV9wbGFuZV9mb3JtYXRzKSwKLQkJCQkgICAg ICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIERSTV9Q TEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9SKCJGYWls ZWQgdG8gaW5pdGlhbGl6ZSBwcmltYXJ5IHBsYW5lIik7CiAJCWdvdG8gZXJyX2ZyZWU7CkBAIC00 NDMsNyArNDQzLDcgQEAgc3RhdGljIGludCB2bXdfbGR1X2luaXQoc3RydWN0IHZtd19wcml2YXRl ICpkZXZfcHJpdiwgdW5zaWduZWQgdW5pdCkKIAkJCTAsICZ2bXdfbGR1X2N1cnNvcl9mdW5jcywK IAkJCXZtd19jdXJzb3JfcGxhbmVfZm9ybWF0cywKIAkJCUFSUkFZX1NJWkUodm13X2N1cnNvcl9w bGFuZV9mb3JtYXRzKSwKLQkJCURSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7CisJCQlOVUxM LCBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9S KCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjdXJzb3IgcGxhbmUiKTsKIAkJZHJtX3BsYW5lX2NsZWFu dXAoJmxkdS0+YmFzZS5wcmltYXJ5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X3Njcm4uYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYwpp bmRleCA4NTQ0MDM1MDkyMTYuLmQxNTUyZDNlMDY1MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X3Njcm4uYwpAQCAtNjI0LDcgKzYyNCw3IEBAIHN0YXRpYyBpbnQgdm13X3NvdV9pbml0KHN0 cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsIHVuc2lnbmVkIHVuaXQpCiAJCQkJICAgICAgIDAs ICZ2bXdfc291X3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICB2bXdfcHJpbWFyeV9wbGFuZV9mb3Jt YXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKHZtd19wcmltYXJ5X3BsYW5lX2Zvcm1hdHMpLAot CQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKKwkJCQkgICAgICAgTlVM TCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlEUk1fRVJS T1IoIkZhaWxlZCB0byBpbml0aWFsaXplIHByaW1hcnkgcGxhbmUiKTsKIAkJZ290byBlcnJfZnJl ZTsKQEAgLTYzOSw3ICs2MzksNyBAQCBzdGF0aWMgaW50IHZtd19zb3VfaW5pdChzdHJ1Y3Qgdm13 X3ByaXZhdGUgKmRldl9wcml2LCB1bnNpZ25lZCB1bml0KQogCQkJMCwgJnZtd19zb3VfY3Vyc29y X2Z1bmNzLAogCQkJdm13X2N1cnNvcl9wbGFuZV9mb3JtYXRzLAogCQkJQVJSQVlfU0laRSh2bXdf Y3Vyc29yX3BsYW5lX2Zvcm1hdHMpLAotCQkJRFJNX1BMQU5FX1RZUEVfQ1VSU09SLCBOVUxMKTsK KwkJCU5VTEwsIERSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7CiAJaWYgKHJldCkgewogCQlE Uk1fRVJST1IoIkZhaWxlZCB0byBpbml0aWFsaXplIGN1cnNvciBwbGFuZSIpOwogCQlkcm1fcGxh bmVfY2xlYW51cCgmc291LT5iYXNlLnByaW1hcnkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3Ztd2dmeC92bXdnZnhfc3RkdS5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf c3RkdS5jCmluZGV4IDQ4Y2I4NDBlM2I0Ny4uY2EzYWZhZTJkYjFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfc3RkdS5jCkBAIC0xNDc1LDcgKzE0NzUsNyBAQCBzdGF0aWMgaW50IHZtd19z dGR1X2luaXQoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwgdW5zaWduZWQgdW5pdCkKIAkJ CQkgICAgICAgMCwgJnZtd19zdGR1X3BsYW5lX2Z1bmNzLAogCQkJCSAgICAgICB2bXdfcHJpbWFy eV9wbGFuZV9mb3JtYXRzLAogCQkJCSAgICAgICBBUlJBWV9TSVpFKHZtd19wcmltYXJ5X3BsYW5l X2Zvcm1hdHMpLAotCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBOVUxMKTsKKwkJ CQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7CiAJaWYgKHJldCkg ewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBpbml0aWFsaXplIHByaW1hcnkgcGxhbmUiKTsKIAkJ Z290byBlcnJfZnJlZTsKQEAgLTE0OTAsNyArMTQ5MCw3IEBAIHN0YXRpYyBpbnQgdm13X3N0ZHVf aW5pdChzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LCB1bnNpZ25lZCB1bml0KQogCQkJMCwg JnZtd19zdGR1X2N1cnNvcl9mdW5jcywKIAkJCXZtd19jdXJzb3JfcGxhbmVfZm9ybWF0cywKIAkJ CUFSUkFZX1NJWkUodm13X2N1cnNvcl9wbGFuZV9mb3JtYXRzKSwKLQkJCURSTV9QTEFORV9UWVBF X0NVUlNPUiwgTlVMTCk7CisJCQlOVUxMLCBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwog CWlmIChyZXQpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjdXJzb3IgcGxh bmUiKTsKIAkJZHJtX3BsYW5lX2NsZWFudXAoJnN0ZHUtPmJhc2UucHJpbWFyeSk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0venRl L3p4X3BsYW5lLmMKaW5kZXggNGE2MjUyNzIwYzEwLi4xOGU3NjM0OTMyNjQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0venRl L3p4X3BsYW5lLmMKQEAgLTU0MCw3ICs1NDAsNyBAQCBpbnQgenhfcGxhbmVfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgenhfcGxhbmUgKnpwbGFuZSwKIAogCXJldCA9IGRybV91 bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sIHBsYW5lLCBWT1VfQ1JUQ19NQVNLLAogCQkJCSAgICAg ICAmenhfcGxhbmVfZnVuY3MsIGZvcm1hdHMsIGZvcm1hdF9jb3VudCwKLQkJCQkgICAgICAgdHlw ZSwgTlVMTCk7CisJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJ RFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8gaW5pdCB1bml2ZXJzYWwgcGxhbmU6ICVkXG4i LCByZXQpOwogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5l LmggYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAppbmRleCA5YWIzZTcwNDQ4MTIuLjlkMmNjM2Ix MWFlNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX3BsYW5lLmgKQEAgLTM5Miw2ICszOTIsMjIgQEAgc3RydWN0IGRybV9wbGFuZV9mdW5j cyB7CiAJICovCiAJdm9pZCAoKmF0b21pY19wcmludF9zdGF0ZSkoc3RydWN0IGRybV9wcmludGVy ICpwLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKTsKKworCS8q KgorCSAqIEBmb3JtYXRfbW9kX3N1cHBvcnRlZDoKKwkgKgorCSAqIFRoaXMgb3B0aW9uYWwgaG9v ayBpcyB1c2VkIGZvciB0aGUgRFJNIHRvIGRldGVybWluZSBpZiB0aGUgZ2l2ZW4KKwkgKiBmb3Jt YXQvbW9kaWZpZXIgY29tYmluYXRpb24gaXMgdmFsaWQgZm9yIHRoZSBwbGFuZS4gVGhpcyBhbGxv d3MgdGhlCisJICogRFJNIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IGZvcm1hdCBiaXRtYXNrICh3 aGljaCBmb3JtYXRzIGFwcGx5IHRvCisJICogd2hpY2ggbW9kaWZpZXIpLgorCSAqCisJICogUmV0 dXJuczoKKwkgKgorCSAqIFRydWUgaWYgdGhlIGdpdmVuIG1vZGlmaWVyIGlzIHZhbGlkIGZvciB0 aGF0IGZvcm1hdCBvbiB0aGUgcGxhbmUuCisJICogRmFsc2Ugb3RoZXJ3aXNlLgorCSAqLworCWJv b2wgKCpmb3JtYXRfbW9kX3N1cHBvcnRlZCkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHVpbnQz Ml90IGZvcm1hdCwKKwkJCQkgICAgIHVpbnQ2NF90IG1vZGlmaWVyKTsKIH07CiAKIC8qKgpAQCAt NDg3LDYgKzUwMyw5IEBAIHN0cnVjdCBkcm1fcGxhbmUgewogCXVuc2lnbmVkIGludCBmb3JtYXRf Y291bnQ7CiAJYm9vbCBmb3JtYXRfZGVmYXVsdDsKIAorCXVpbnQ2NF90ICptb2RpZmllcnM7CisJ dW5zaWduZWQgaW50IG1vZGlmaWVyX2NvdW50OworCiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwog CXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwogCkBAIC01MjcsMTMgKzU0NiwxNCBAQCBzdHJ1 Y3QgZHJtX3BsYW5lIHsKIAogI2RlZmluZSBvYmpfdG9fcGxhbmUoeCkgY29udGFpbmVyX29mKHgs IHN0cnVjdCBkcm1fcGxhbmUsIGJhc2UpCiAKLV9fcHJpbnRmKDgsIDkpCitfX3ByaW50Zig5LCAx MCkKIGludCBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJCSAgICAgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkgICAgIHVpbnQzMl90IHBvc3Np YmxlX2NydGNzLAogCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzICpmdW5jcywK IAkJCSAgICAgY29uc3QgdWludDMyX3QgKmZvcm1hdHMsCiAJCQkgICAgIHVuc2lnbmVkIGludCBm b3JtYXRfY291bnQsCisJCQkgICAgIGNvbnN0IHVpbnQ2NF90ICpmb3JtYXRfbW9kaWZpZXJzLAog CQkJICAgICBlbnVtIGRybV9wbGFuZV90eXBlIHR5cGUsCiAJCQkgICAgIGNvbnN0IGNoYXIgKm5h bWUsIC4uLik7CiBpbnQgZHJtX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oIGIvaW5jbHVkZS9k cm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmgKaW5kZXggMmQzNjUzOGU0YTE3Li42ZDlhZGJiNDYy OTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCisrKyBi L2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCkBAIC0xMjIsNiArMTIyLDcgQEAg aW50IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJCXN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJCWNvbnN0IHN0cnVj dCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCiAJCQljb25zdCB1aW50MzJf dCAqZm9ybWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKKwkJCWNvbnN0IHVpbnQ2NF90 ICpmb3JtYXRfbW9kaWZpZXJzLAogCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 CiAKICNlbmRpZiAvKiBfX0xJTlVYX0RSTV9TSU1QTEVfS01TX0hFTFBFUl9IICovCmRpZmYgLS1n aXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJt X2ZvdXJjYy5oCmluZGV4IGVlNTkxMDk0NGZhYy4uYjdlOTllMmQ5NThhIDEwMDY0NAotLS0gYS9p bmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9m b3VyY2MuaApAQCAtMTg1LDYgKzE4NSw4IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fRk9S TUFUX01PRF9WRU5ET1JfQlJPQURDT00gMHgwNwogLyogYWRkIG1vcmUgdG8gdGhlIGVuZCBhcyBu ZWVkZWQgKi8KIAorI2RlZmluZSBEUk1fRk9STUFUX1JFU0VSVkVECSAgICAgICgoMVVMTCA8PCA1 NikgLSAxKQorCiAjZGVmaW5lIGZvdXJjY19tb2RfY29kZSh2ZW5kb3IsIHZhbCkgXAogCSgoKChf X3U2NClEUk1fRk9STUFUX01PRF9WRU5ET1JfIyMgdmVuZG9yKSA8PCA1NikgfCAodmFsICYgMHgw MGZmZmZmZmZmZmZmZmZmVUxMKSkKIApAQCAtMTk3LDYgKzE5OSwxNSBAQCBleHRlcm4gIkMiIHsK ICAqLwogCiAvKgorICogSW52YWxpZCBNb2RpZmllcgorICoKKyAqIFRoaXMgbW9kaWZpZXIgY2Fu IGJlIHVzZWQgYXMgYSBzZW50aW5lbCB0byB0ZXJtaW5hdGUgdGhlIGZvcm1hdCBtb2RpZmllcnMK KyAqIGxpc3QsIG9yIHRvIGluaXRpYWxpemUgYSB2YXJpYWJsZSB3aXRoIGFuIGludmFsaWQgbW9k aWZpZXIuIEl0IG1pZ2h0IGFsc28gYmUKKyAqIHVzZWQgdG8gcmVwb3J0IGFuIGVycm9yIGJhY2sg dG8gdXNlcnNwYWNlIGZvciBjZXJ0YWluIEFQSXMuCisgKi8KKyNkZWZpbmUgRFJNX0ZPUk1BVF9N T0RfSU5WQUxJRAlmb3VyY2NfbW9kX2NvZGUoTk9ORSwgRFJNX0ZPUk1BVF9SRVNFUlZFRCkKKwor LyoKICAqIExpbmVhciBMYXlvdXQKICAqCiAgKiBKdXN0IHBsYWluIGxpbmVhciBsYXlvdXQuIE5v dGUgdGhhdCB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIG5vIHNwZWNpZnlpbmcgYW55Ci0tIAoyLjEz LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=