From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH 46/48] staging: etnaviv: rewrite submit interface to use copy from user Date: Fri, 25 Sep 2015 13:57:58 +0200 Message-ID: <1443182280-15868-47-git-send-email-l.stach@pengutronix.de> References: <20150916080435.GA21084@n2100.arm.linux.org.uk> <1443182280-15868-1-git-send-email-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.4.pengutronix.de [92.198.50.35]) by gabe.freedesktop.org (Postfix) with ESMTPS id 85A866F097 for ; Fri, 25 Sep 2015 04:58:05 -0700 (PDT) In-Reply-To: <1443182280-15868-1-git-send-email-l.stach@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Russell King , Christian Gmeiner Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyByZXdyaXRlcyB0aGUgc3VibWl0IGludGVyZmFjZSB0byBjb3B5IHRoZSBjb21tYW5kIHN0 cmVhbSBmcm9tIHVzZXIKbWVtb3J5LiBUaGlzIG1pdGlnYXRlcyBhIHBvdGVudGlhbCBhdHRhY2sg dmVjdG9yIG9mIHRoZSBvbGQgaW50ZXJmYWNlCndoZXJlIHVzZXJzcGFjZSBjb3VsZCBzdWJtaXQg YSBjb21tYW5kIGJ1ZmZlciB0aGF0IHdvdWxkIGJlIHZhbGlkYXRlZCBieQp0aGUga2VybmVsLCBi dXQgaXMgc3RpbGwgbWFwcGVkIGludG8gdXNlcnNwYWNlLiBUaGlzIGNvdWxkIGJlIGV4cGxvaXRl ZApieSBjaGFuZ2luZyB0aGUgY29tbWFuZCBzdHJlYW0gYWZ0ZXIgdmFsaWRhdGlvbiBidXQgYmVm b3JlIHRoZSBhY3R1YWwKR1BVIGV4ZWN1dGlvbi4KCkEgbmljZSBzaWRlIGVmZmVjdCBpcyB0aGF0 IHZhbGlkYXRpb24gYW5kIHJlbG9jIHBhdGNoaW5nIGNhbiBub3cgb3BlcmF0ZQpvbiBjYWNoZWQg bWVtb3J5IGFuZCBvbmx5IHRoZSBmaW5hbCByZXN1bHQgaXMgY29waWVkIHRvIGEgd3JpdGVjb21i aW5lZApjb21tYW5kIGJ1ZmZlciB3aGljaCBzaG91bGQgbWFrZSB0aG9zZSBvcGVyYXRpb25zIGEg Yml0IG1vcmUgZWZmaWNpZW50LgoKQSBzaW1wbGlmaWNhdGlvbiB0byB0aGUgaW50ZXJmYWNlIGlz IHRoZSByZW1vdmFsIG9mIHRoZSBhYmlsaXR5IHRvIHB1c2gKbXVsdGlwbGUgY29tbWFuZCBidWZm ZXJzIHBlciBzdWJtaXQuIEFzIHdlIGRvbid0IHVzZSBpdCBmb3IgY29udGV4dApyZXN0b3JlIGJ1 ZmZlcnMgYW5kIHRoZSBmYWN0IHRoYXQgdXNlcnNwYWNlIGRvZXNuJ3QgbmVlZCB0byB3b3JrIHdp dGgKYSBmaXhlZCBjb21tYW5kIGJ1ZmZlciBzaXplIGFueW1vcmUsIHdpdGggdGhlIHBvdGVudGlh bCByaXNrIHRvIG92ZXJmbG93Cml0cyBzaXplIGluIHRoZSBtaWRkbGUgb2YgYW4gYXRvbWljIHN0 cmVhbSBzZWN0aW9uLCB0aGVyZSBpcyBubyBuZWVkCmZvciB0aGlzIGNvbXBsaWNhdGlvbiBhbnlt b3JlLgoKU2lnbmVkLW9mZi1ieTogTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+ Ci0tLQogZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9idWZmZXIuYyAgICAgfCAgNDgg KysrKystLS0tLS0KIGRyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfY21kX3BhcnNlci5j IHwgICA2ICstCiBkcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2Rydi5oICAgICAgICB8 ICAgNCArLQogZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9nZW0uaCAgICAgICAgfCAg IDcgKy0KIGRyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIHwgMTIy ICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRu YXZpdl9ncHUuYyAgICAgICAgfCAgMzggKysrKysrKysrCiBkcml2ZXJzL3N0YWdpbmcvZXRuYXZp di9ldG5hdml2X2dwdS5oICAgICAgICB8ICAyMCArKysrKwogaW5jbHVkZS91YXBpL2RybS9ldG5h dml2X2RybS5oICAgICAgICAgICAgICAgfCAgMTggKystLQogOCBmaWxlcyBjaGFuZ2VkLCAxMzYg aW5zZXJ0aW9ucygrKSwgMTI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3Rh Z2luZy9ldG5hdml2L2V0bmF2aXZfYnVmZmVyLmMgYi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9l dG5hdml2X2J1ZmZlci5jCmluZGV4IDE5OTRlY2VhZTFhZS4uNzZjNjQ2MDc2YjA1IDEwMDY0NAot LS0gYS9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2J1ZmZlci5jCisrKyBiL2RyaXZl cnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfYnVmZmVyLmMKQEAgLTExMSw2ICsxMTEsMTEgQEAg c3RhdGljIHUzMiBncHVfdmEoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsIHN0cnVjdCBldG5hdml2 X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4gb2JqLT5wYWRkciAtIGdwdS0+bWVtb3J5X2Jhc2U7 CiB9CiAKK3N0YXRpYyB1MzIgZ3B1X3ZhX3JhdyhzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdTMy IHBhZGRyKQoreworCXJldHVybiBwYWRkciAtIGdwdS0+bWVtb3J5X2Jhc2U7Cit9CisKIHN0YXRp YyB2b2lkIGV0bmF2aXZfYnVmZmVyX2R1bXAoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsCiAJc3Ry dWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqb2JqLCB1MzIgb2ZmLCB1MzIgbGVuKQogewpAQCAtMTUz LDEwICsxNTgsOSBAQCB2b2lkIGV0bmF2aXZfYnVmZmVyX3F1ZXVlKHN0cnVjdCBldG5hdml2X2dw dSAqZ3B1LCB1bnNpZ25lZCBpbnQgZXZlbnQsCiAJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAq c3VibWl0KQogewogCXN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmJ1ZmZlciA9IHRvX2V0bmF2 aXZfYm8oZ3B1LT5idWZmZXIpOwotCXN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmNtZDsKIAl1 MzIgKmx3ID0gYnVmZmVyLT52YWRkciArICgoYnVmZmVyLT5vZmZzZXQgLSA0KSAqIDQpOworCXUz MiAqdXNlcmNtZCA9IHN1Ym1pdC0+Y21kYnVmLT52YWRkcjsKIAl1MzIgYmFjaywgbGlua190YXJn ZXQsIGxpbmtfc2l6ZSwgcmVzZXJ2ZV9zaXplLCBleHRyYV9zaXplID0gMDsKLQl1MzIgaTsKIAog CWlmIChkcm1fZGVidWcgJiBEUk1fVVRfRFJJVkVSKQogCQlldG5hdml2X2J1ZmZlcl9kdW1wKGdw dSwgYnVmZmVyLCAwLCAweDUwKTsKQEAgLTE5NCwzNSArMTk4LDI0IEBAIHZvaWQgZXRuYXZpdl9i dWZmZXJfcXVldWUoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsIHVuc2lnbmVkIGludCBldmVudCwK IAkvKiBTa2lwIG92ZXIgYW55IGV4dHJhIGluc3RydWN0aW9ucyAqLwogCWxpbmtfdGFyZ2V0ICs9 IGV4dHJhX3NpemUgKiBzaXplb2YodTMyKTsKIAotCS8qIHVwZGF0ZSBvZmZzZXQgZm9yIGV2ZXJ5 IGNtZCBzdHJlYW0gKi8KLQlmb3IgKGkgPSBzdWJtaXQtPm5yX2NtZHM7IGktLTsgKSB7Ci0JCWNt ZCA9IHN1Ym1pdC0+Y21kW2ldLm9iajsKKwlpZiAoZHJtX2RlYnVnICYgRFJNX1VUX0RSSVZFUikK KwkJcHJfaW5mbygic3RyZWFtIGxpbmsgdG8gMHglMDh4IEAgMHglMDh4ICVwXG4iLAorCQkJbGlu a190YXJnZXQsIGdwdV92YV9yYXcoZ3B1LCBzdWJtaXQtPmNtZGJ1Zi0+cGFkZHIpLAorCQkJc3Vi bWl0LT5jbWRidWYtPnZhZGRyKTsKIAotCQljbWQtPm9mZnNldCA9IHN1Ym1pdC0+Y21kW2ldLm9m ZnNldCArIHN1Ym1pdC0+Y21kW2ldLnNpemU7CisJLyoganVtcCBiYWNrIGZyb20gY21kIHRvIG1h aW4gYnVmZmVyICovCisJdXNlcmNtZFtzdWJtaXQtPmNtZGJ1Zi0+dXNlcl9zaXplLzRdID0gVklW X0ZFX0xJTktfSEVBREVSX09QX0xJTksgfAorCQkJCSAgICBWSVZfRkVfTElOS19IRUFERVJfUFJF RkVUQ0gobGlua19zaXplKTsKKwl1c2VyY21kW3N1Ym1pdC0+Y21kYnVmLT51c2VyX3NpemUvNCAr IDFdID0gbGlua190YXJnZXQ7CiAKLQkJaWYgKGRybV9kZWJ1ZyAmIERSTV9VVF9EUklWRVIpCi0J CQlwcl9pbmZvKCJzdHJlYW0gbGluayBmcm9tIGJ1ZmZlciAldSB0byAweCUwOHggQCAweCUwOHgg JXBcbiIsCi0JCQkJaSwgbGlua190YXJnZXQsCi0JCQkJZ3B1X3ZhKGdwdSwgY21kKSArIGNtZC0+ b2Zmc2V0ICogNCwKLQkJCQljbWQtPnZhZGRyICsgY21kLT5vZmZzZXQgKiA0KTsKKwlsaW5rX3Rh cmdldCA9IGdwdV92YV9yYXcoZ3B1LCBzdWJtaXQtPmNtZGJ1Zi0+cGFkZHIpOworCWxpbmtfc2l6 ZSA9IHN1Ym1pdC0+Y21kYnVmLT5zaXplIC8gODsKIAotCQkvKiBqdW1wIGJhY2sgZnJvbSBsYXN0 IGNtZCB0byBtYWluIGJ1ZmZlciAqLwotCQlDTURfTElOSyhjbWQsIGxpbmtfc2l6ZSwgbGlua190 YXJnZXQpOwogCi0JCS8qIHVwZGF0ZSB0aGUgc2l6ZSAqLwotCQlzdWJtaXQtPmNtZFtpXS5zaXpl ID0gY21kLT5vZmZzZXQgLSBzdWJtaXQtPmNtZFtpXS5vZmZzZXQ7Ci0KLQkJbGlua190YXJnZXQg PSBncHVfdmEoZ3B1LCBjbWQpICsgc3VibWl0LT5jbWRbaV0ub2Zmc2V0ICogNDsKLQkJbGlua19z aXplID0gc3VibWl0LT5jbWRbaV0uc2l6ZSAqIDI7Ci0JfQogCiAJaWYgKGRybV9kZWJ1ZyAmIERS TV9VVF9EUklWRVIpIHsKLQkJZm9yIChpID0gMDsgaSA8IHN1Ym1pdC0+bnJfY21kczsgaSsrKSB7 Ci0JCQlzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpvYmogPSBzdWJtaXQtPmNtZFtpXS5vYmo7 Ci0KLQkJCWV0bmF2aXZfYnVmZmVyX2R1bXAoZ3B1LCBvYmosIHN1Ym1pdC0+Y21kW2ldLm9mZnNl dCwKLQkJCQkJc3VibWl0LT5jbWRbaV0uc2l6ZSk7Ci0JCX0KKwkJcHJpbnRfaGV4X2R1bXAoS0VS Tl9JTkZPLCAiY21kICIsIERVTVBfUFJFRklYX09GRlNFVCwgMTYsIDQsCisJCQkgICAgICAgc3Vi bWl0LT5jbWRidWYtPnZhZGRyLCBzdWJtaXQtPmNtZGJ1Zi0+c2l6ZSwgMCk7CiAKIAkJcHJfaW5m bygibGluayBvcDogJXBcbiIsIGx3KTsKIAkJcHJfaW5mbygibGluayBhZGRyOiAlcFxuIiwgbHcg KyAxKTsKQEAgLTI2Myw2ICsyNTYsMTEgQEAgdm9pZCBldG5hdml2X2J1ZmZlcl9xdWV1ZShzdHJ1 Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdW5zaWduZWQgaW50IGV2ZW50LAogCS8qIFNhdmUgdGhlIGV2 ZW50IGFuZCBidWZmZXIgcG9zaXRpb24gb2YgdGhlIG5ldyBldmVudCB0cmlnZ2VyICovCiAJZ3B1 LT5ldmVudFtldmVudF0uZmVuY2UgPSBzdWJtaXQtPmZlbmNlOwogCisJLyogdGFrZSBvd25lcnNo aXAgb2YgY21kYnVmZmVyKi8KKwlzdWJtaXQtPmNtZGJ1Zi0+ZmVuY2UgPSBzdWJtaXQtPmZlbmNl OworCWxpc3RfYWRkX3RhaWwoJnN1Ym1pdC0+Y21kYnVmLT5ncHVfYWN0aXZlX2xpc3QsICZncHUt PmFjdGl2ZV9jbWRfbGlzdCk7CisJc3VibWl0LT5jbWRidWYgPSBOVUxMOworCiAJLyogdHJpZ2dl ciBldmVudCAqLwogCUNNRF9MT0FEX1NUQVRFKGJ1ZmZlciwgVklWU19HTF9FVkVOVCwgVklWU19H TF9FVkVOVF9FVkVOVF9JRChldmVudCkgfAogCQkgICAgICAgVklWU19HTF9FVkVOVF9GUk9NX1BF KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfY21kX3BhcnNl ci5jIGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9jbWRfcGFyc2VyLmMKaW5kZXgg N2FlNmRkYjQzMDZlLi41MTc1ZDZlYjNiZGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9l dG5hdml2L2V0bmF2aXZfY21kX3BhcnNlci5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2 L2V0bmF2aXZfY21kX3BhcnNlci5jCkBAIC02MSwxMCArNjEsMTAgQEAgc3RhdGljIHVpbnQ4X3Qg Y21kX2xlbmd0aFszMl0gPSB7CiAJW0ZFX09QQ09ERV9TVEFMTF0gPSAyLAogfTsKIAotYm9vbCBl dG5hdml2X2NtZF92YWxpZGF0ZV9vbmUoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsCi0Jc3RydWN0 IGV0bmF2aXZfZ2VtX29iamVjdCAqb2JqLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBp bnQgc2l6ZSkKK2Jvb2wgZXRuYXZpdl9jbWRfdmFsaWRhdGVfb25lKHN0cnVjdCBldG5hdml2X2dw dSAqZ3B1LCB2b2lkICpzdHJlYW0sCisJCQkgICAgICB1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKLQl1 MzIgKnN0YXJ0ID0gb2JqLT52YWRkciArIG9mZnNldCAqIDQ7CisJdTMyICpzdGFydCA9IHN0cmVh bTsKIAl1MzIgKmJ1ZiA9IHN0YXJ0OwogCXUzMiAqZW5kID0gYnVmICsgc2l6ZTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9kcnYuaCBiL2RyaXZlcnMvc3Rh Z2luZy9ldG5hdml2L2V0bmF2aXZfZHJ2LmgKaW5kZXggNDA2MjkyMDdiMDRmLi4yYjRiODdiZGRh MTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZHJ2LmgKKysr IGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9kcnYuaApAQCAtOTksNiArOTksOCBA QCBpbnQgZXRuYXZpdl9nZW1fY3B1X2Zpbmkoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwog dm9pZCBldG5hdml2X2dlbV9mcmVlX29iamVjdChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7 CiBpbnQgZXRuYXZpdl9nZW1fbmV3X2hhbmRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGUsCiAJCXUzMiBzaXplLCB1MzIgZmxhZ3MsIHUzMiAqaGFuZGxlKTsK K3N0cnVjdCBkcm1fZ2VtX29iamVjdCAqZXRuYXZpdl9nZW1fbmV3X2xvY2tlZChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAorCQl1MzIgc2l6ZSwgdTMyIGZsYWdzKTsKIHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqZXRuYXZpdl9nZW1fbmV3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXUzMiBzaXpl LCB1MzIgZmxhZ3MpOwogaW50IGV0bmF2aXZfZ2VtX25ld191c2VycHRyKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKQEAgLTEwOCw3ICsxMTAsNyBAQCB2b2lk IGV0bmF2aXZfYnVmZmVyX2VuZChzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSk7CiB2b2lkIGV0bmF2 aXZfYnVmZmVyX3F1ZXVlKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LCB1bnNpZ25lZCBpbnQgZXZl bnQsCiAJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0KTsKIGJvb2wgZXRuYXZpdl9j bWRfdmFsaWRhdGVfb25lKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAotCXN0cnVjdCBldG5hdml2 X2dlbV9vYmplY3QgKm9iaiwgdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IHNpemUp OworCXZvaWQgKnN0cmVhbSwgdW5zaWduZWQgaW50IHNpemUpOwogCiAjaWZkZWYgQ09ORklHX0RF QlVHX0ZTCiB2b2lkIGV0bmF2aXZfZ2VtX2Rlc2NyaWJlX29iamVjdHMoc3RydWN0IGxpc3RfaGVh ZCAqbGlzdCwgc3RydWN0IHNlcV9maWxlICptKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2lu Zy9ldG5hdml2L2V0bmF2aXZfZ2VtLmggYi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2 X2dlbS5oCmluZGV4IDUxMTJjNTQ1ODMwNi4uYzk5MWQxMmU3YWVkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dlbS5oCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9l dG5hdml2L2V0bmF2aXZfZ2VtLmgKQEAgLTExOCwxMyArMTE4LDggQEAgc3RydWN0IGV0bmF2aXZf Z2VtX3N1Ym1pdCB7CiAJc3RydWN0IGxpc3RfaGVhZCBib19saXN0OwogCXN0cnVjdCB3d19hY3F1 aXJlX2N0eCB0aWNrZXQ7CiAJdTMyIGZlbmNlOwotCXVuc2lnbmVkIGludCBucl9jbWRzOwogCXVu c2lnbmVkIGludCBucl9ib3M7Ci0Jc3RydWN0IHsKLQkJdTMyIG9mZnNldDsgLyogaW4gZHdvcmRz ICovCi0JCXUzMiBzaXplOyAgLyogaW4gZHdvcmRzICovCi0JCXN0cnVjdCBldG5hdml2X2dlbV9v YmplY3QgKm9iajsKLQl9IGNtZFtNQVhfQ01EU107CisJc3RydWN0IGV0bmF2aXZfY21kYnVmICpj bWRidWY7CiAJc3RydWN0IHsKIAkJdTMyIGZsYWdzOwogCQlzdHJ1Y3QgZXRuYXZpdl9nZW1fb2Jq ZWN0ICpvYmo7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dl bV9zdWJtaXQuYyBiL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5j CmluZGV4IDczYzEzNzhlOTZhMS4uZjg4NmEzYzY2ZDMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0 YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYworKysgYi9kcml2ZXJzL3N0YWdpbmcv ZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYwpAQCAtNDUsNyArNDUsNyBAQCBzdGF0aWMgc3Ry dWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCiAJCS8qIGluaXRpYWxseSwgdW50aWwgY29weV9mcm9tX3VzZXIoKSBhbmQgYm8gbG9v a3VwIHN1Y2NlZWRzOiAqLwogCQlzdWJtaXQtPm5yX2JvcyA9IDA7Ci0JCXN1Ym1pdC0+bnJfY21k cyA9IDA7CisJCXN1Ym1pdC0+Y21kYnVmID0gTlVMTDsKIAogCQlJTklUX0xJU1RfSEVBRCgmc3Vi bWl0LT5ib19saXN0KTsKIAkJd3dfYWNxdWlyZV9pbml0KCZzdWJtaXQtPnRpY2tldCwgJnJlc2Vy dmF0aW9uX3d3X2NsYXNzKTsKQEAgLTIxMiwxMSArMjEyLDExIEBAIHN0YXRpYyBpbnQgc3VibWl0 X2JvKHN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwgdTMyIGlkeCwKIH0KIAogLyog cHJvY2VzcyB0aGUgcmVsb2MncyBhbmQgcGF0Y2ggdXAgdGhlIGNtZHN0cmVhbSBhcyBuZWVkZWQ6 ICovCi1zdGF0aWMgaW50IHN1Ym1pdF9yZWxvYyhzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpz dWJtaXQsIHN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKm9iaiwKLQkJdTMyIG9mZnNldCwgdTMy IG5yX3JlbG9jcywgdTY0IHJlbG9jcykKK3N0YXRpYyBpbnQgc3VibWl0X3JlbG9jKHN0cnVjdCBl dG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwgdm9pZCAqc3RyZWFtLAorCQl1MzIgc2l6ZSwgdTMy IG5yX3JlbG9jcywgdTY0IHJlbG9jcykKIHsKIAl1MzIgaSwgbGFzdF9vZmZzZXQgPSAwOwotCXUz MiAqcHRyID0gb2JqLT52YWRkcjsKKwl1MzIgKnB0ciA9IHN0cmVhbTsKIAlpbnQgcmV0OwogCiAJ Zm9yIChpID0gMDsgaSA8IG5yX3JlbG9jczsgaSsrKSB7CkBAIC0yNDAsNyArMjQwLDcgQEAgc3Rh dGljIGludCBzdWJtaXRfcmVsb2Moc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0LCBz dHJ1Y3QgZXRuYXZpdl9nZW1fb2IKIAkJLyogb2Zmc2V0IGluIGR3b3JkczogKi8KIAkJb2ZmID0g c3VibWl0X3JlbG9jLnN1Ym1pdF9vZmZzZXQgLyA0OwogCi0JCWlmICgob2ZmID49IChvYmotPmJh c2Uuc2l6ZSAvIDQpKSB8fAorCQlpZiAoKG9mZiA+PSBzaXplICkgfHwKIAkJCQkob2ZmIDwgbGFz dF9vZmZzZXQpKSB7CiAJCQlEUk1fRVJST1IoImludmFsaWQgb2Zmc2V0ICV1IGF0IHJlbG9jICV1 XG4iLCBvZmYsIGkpOwogCQkJcmV0dXJuIC1FSU5WQUw7CkBAIC0yNzYsNiArMjc2LDkgQEAgc3Rh dGljIHZvaWQgc3VibWl0X2NsZWFudXAoc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0 LCBib29sIGZhaWwpCiAJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZldG5hdml2X29iai0+ YmFzZSk7CiAJfQogCisJaWYgKHN1Ym1pdC0+Y21kYnVmKQorCQlldG5hdml2X2dwdV9jbWRidWZf ZnJlZShzdWJtaXQtPmNtZGJ1Zik7CisKIAl3d19hY3F1aXJlX2ZpbmkoJnN1Ym1pdC0+dGlja2V0 KTsKIAlrZnJlZShzdWJtaXQpOwogfQpAQCAtMjg2LDExICsyODksMTEgQEAgaW50IGV0bmF2aXZf aW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCXN0 cnVjdCBldG5hdml2X2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1 Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdCAqYXJncyA9IGRhdGE7CiAJc3RydWN0IGV0bmF2aXZf ZmlsZV9wcml2YXRlICpjdHggPSBmaWxlLT5kcml2ZXJfcHJpdjsKLQlzdHJ1Y3QgZHJtX2V0bmF2 aXZfZ2VtX3N1Ym1pdF9jbWQgKmNtZHM7CiAJc3RydWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXRf Ym8gKmJvczsKIAlzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJtaXQ7CisJc3RydWN0IGV0 bmF2aXZfY21kYnVmICpjbWRidWY7CiAJc3RydWN0IGV0bmF2aXZfZ3B1ICpncHU7Ci0JdW5zaWdu ZWQgaTsKKwl2b2lkICpzdHJlYW07CiAJaW50IHJldDsKIAogCWlmIChhcmdzLT5waXBlID49IEVU TkFfTUFYX1BJUEVTKQpAQCAtMzAwLDI3ICszMDMsMzMgQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2Vt X3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCWlmICghZ3B1KQog CQlyZXR1cm4gLUVOWElPOwogCi0JaWYgKGFyZ3MtPm5yX2NtZHMgPiBNQVhfQ01EUykKKwlpZiAo YXJncy0+c3RyZWFtX3NpemUgJSA0KSB7CisJCURSTV9FUlJPUigibm9uLWFsaWduZWQgY21kc3Ry ZWFtIGJ1ZmZlciBzaXplOiAldVxuIiwKKwkJCSAgYXJncy0+c3RyZWFtX3NpemUpOwogCQlyZXR1 cm4gLUVJTlZBTDsKKwl9CiAKIAkvKgogCSAqIENvcHkgdGhlIGNvbW1hbmQgc3VibWlzc2lvbiBh bmQgYm8gYXJyYXkgdG8ga2VybmVsIHNwYWNlIGluCiAJICogb25lIGdvLCBhbmQgZG8gdGhpcyBv dXRzaWRlIG9mIHRoZSBkZXYtPnN0cnVjdF9tdXRleCBsb2NrLgogCSAqLwotCWNtZHMgPSBkcm1f bWFsbG9jX2FiKGFyZ3MtPm5yX2NtZHMsIHNpemVvZigqY21kcykpOwogCWJvcyA9IGRybV9tYWxs b2NfYWIoYXJncy0+bnJfYm9zLCBzaXplb2YoKmJvcykpOwotCWlmICghY21kcyB8fCAhYm9zKQot CQlyZXR1cm4gLUVOT01FTTsKKwlzdHJlYW0gPSBkcm1fbWFsbG9jX2FiKDEsIGFyZ3MtPnN0cmVh bV9zaXplKTsKKwljbWRidWYgPSBldG5hdml2X2dwdV9jbWRidWZfbmV3KGdwdSwgQUxJR04oYXJn cy0+c3RyZWFtX3NpemUsIDgpICsgOCk7CisJaWYgKCFib3MgfHwgIXN0cmVhbSB8fCAhY21kYnVm KSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX3N1Ym1pdF9jbWRzOworCX0KIAotCXJl dCA9IGNvcHlfZnJvbV91c2VyKGNtZHMsIHRvX3VzZXJfcHRyKGFyZ3MtPmNtZHMpLAotCQkJICAg ICBhcmdzLT5ucl9jbWRzICogc2l6ZW9mKCpjbWRzKSk7CisJcmV0ID0gY29weV9mcm9tX3VzZXIo Ym9zLCB0b191c2VyX3B0cihhcmdzLT5ib3MpLAorCQkJICAgICBhcmdzLT5ucl9ib3MgKiBzaXpl b2YoKmJvcykpOwogCWlmIChyZXQpIHsKIAkJcmV0ID0gLUVGQVVMVDsKIAkJZ290byBlcnJfc3Vi bWl0X2NtZHM7CiAJfQogCi0JcmV0ID0gY29weV9mcm9tX3VzZXIoYm9zLCB0b191c2VyX3B0cihh cmdzLT5ib3MpLAotCQkJICAgICBhcmdzLT5ucl9ib3MgKiBzaXplb2YoKmJvcykpOworCXJldCA9 IGNvcHlfZnJvbV91c2VyKHN0cmVhbSwgdG9fdXNlcl9wdHIoYXJncy0+c3RyZWFtKSwKKwkJCSAg ICAgYXJncy0+c3RyZWFtX3NpemUpOwogCWlmIChyZXQpIHsKIAkJcmV0ID0gLUVGQVVMVDsKIAkJ Z290byBlcnJfc3VibWl0X2NtZHM7CkBAIC0zNjQsNjkgKzM3MywyMSBAQCBpbnQgZXRuYXZpdl9p b2N0bF9nZW1fc3VibWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJaWYg KHJldCkKIAkJZ290byBvdXQ7CiAKLQlmb3IgKGkgPSAwOyBpIDwgYXJncy0+bnJfY21kczsgaSsr KSB7Ci0JCXN0cnVjdCBkcm1fZXRuYXZpdl9nZW1fc3VibWl0X2NtZCAqc3VibWl0X2NtZCA9IGNt ZHMgKyBpOwotCQlzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpldG5hdml2X29iajsKLQkJdW5z aWduZWQgbWF4X3NpemU7Ci0KLQkJcmV0ID0gc3VibWl0X2JvKHN1Ym1pdCwgc3VibWl0X2NtZC0+ c3VibWl0X2lkeCwgJmV0bmF2aXZfb2JqLAotCQkJCU5VTEwpOwotCQlpZiAocmV0KQotCQkJZ290 byBvdXQ7Ci0KLQkJaWYgKCEoZXRuYXZpdl9vYmotPmZsYWdzICYgRVROQV9CT19DTURTVFJFQU0p KSB7Ci0JCQlEUk1fRVJST1IoImNtZHN0cmVhbSBibyBoYXMgZmxhZyBFVE5BX0JPX0NNRFNUUkVB TSBub3Qgc2V0XG4iKTsKLQkJCXJldCA9IC1FSU5WQUw7Ci0JCQlnb3RvIG91dDsKLQkJfQotCi0J CWlmIChzdWJtaXRfY21kLT5zaXplICUgNCkgewotCQkJRFJNX0VSUk9SKCJub24tYWxpZ25lZCBj bWRzdHJlYW0gYnVmZmVyIHNpemU6ICV1XG4iLAotCQkJCQlzdWJtaXRfY21kLT5zaXplKTsKLQkJ CXJldCA9IC1FSU5WQUw7Ci0JCQlnb3RvIG91dDsKLQkJfQotCi0JCWlmIChzdWJtaXRfY21kLT5z dWJtaXRfb2Zmc2V0ICUgOCkgewotCQkJRFJNX0VSUk9SKCJub24tYWxpZ25lZCBjbWRzdHJlYW0g YnVmZmVyIHNpemU6ICV1XG4iLAotCQkJCQlzdWJtaXRfY21kLT5zaXplKTsKLQkJCXJldCA9IC1F SU5WQUw7Ci0JCQlnb3RvIG91dDsKLQkJfQotCi0JCS8qCi0JCSAqIFdlIG11c3QgaGF2ZSBzcGFj ZSB0byBhZGQgYSBMSU5LIGNvbW1hbmQgYXQgdGhlIGVuZCBvZgotCQkgKiB0aGUgY29tbWFuZCBi dWZmZXIuCi0JCSAqLwotCQltYXhfc2l6ZSA9IGV0bmF2aXZfb2JqLT5iYXNlLnNpemUgLSA4Owot Ci0JCWlmIChzdWJtaXRfY21kLT5zaXplID4gbWF4X3NpemUgfHwKLQkJICAgIHN1Ym1pdF9jbWQt PnN1Ym1pdF9vZmZzZXQgPiBtYXhfc2l6ZSAtIHN1Ym1pdF9jbWQtPnNpemUpIHsKLQkJCURSTV9F UlJPUigiaW52YWxpZCBjbWRzdHJlYW0gc2l6ZTogJXVcbiIsCi0JCQkJICBzdWJtaXRfY21kLT5z aXplKTsKLQkJCXJldCA9IC1FSU5WQUw7Ci0JCQlnb3RvIG91dDsKLQkJfQotCi0JCXN1Ym1pdC0+ Y21kW2ldLm9mZnNldCA9IHN1Ym1pdF9jbWQtPnN1Ym1pdF9vZmZzZXQgLyA0OwotCQlzdWJtaXQt PmNtZFtpXS5zaXplID0gc3VibWl0X2NtZC0+c2l6ZSAvIDQ7Ci0JCXN1Ym1pdC0+Y21kW2ldLm9i aiA9IGV0bmF2aXZfb2JqOwotCi0JCWlmICghZXRuYXZpdl9jbWRfdmFsaWRhdGVfb25lKGdwdSwg ZXRuYXZpdl9vYmosCi0JCQkJCSAgICAgIHN1Ym1pdC0+Y21kW2ldLm9mZnNldCwKLQkJCQkJICAg ICAgc3VibWl0LT5jbWRbaV0uc2l6ZSkpIHsKLQkJCXJldCA9IC1FSU5WQUw7Ci0JCQlnb3RvIG91 dDsKLQkJfQotCi0JCXJldCA9IHN1Ym1pdF9yZWxvYyhzdWJtaXQsIGV0bmF2aXZfb2JqLAotCQkJ CSAgIHN1Ym1pdF9jbWQtPnN1Ym1pdF9vZmZzZXQsCi0JCQkJICAgc3VibWl0X2NtZC0+bnJfcmVs b2NzLCBzdWJtaXRfY21kLT5yZWxvY3MpOwotCQlpZiAocmV0KQotCQkJZ290byBvdXQ7CisJaWYg KCFldG5hdml2X2NtZF92YWxpZGF0ZV9vbmUoZ3B1LCBzdHJlYW0sIGFyZ3MtPnN0cmVhbV9zaXpl IC8gNCkpIHsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBvdXQ7CiAJfQogCi0Jc3VibWl0LT5u cl9jbWRzID0gaTsKKwlyZXQgPSBzdWJtaXRfcmVsb2Moc3VibWl0LCBzdHJlYW0sIGFyZ3MtPnN0 cmVhbV9zaXplIC8gNCwKKwkJCSAgIGFyZ3MtPm5yX3JlbG9jcywgYXJncy0+cmVsb2NzKTsKKwlp ZiAocmV0KQorCQlnb3RvIG91dDsKKworCW1lbWNweShjbWRidWYtPnZhZGRyLCBzdHJlYW0sIGFy Z3MtPnN0cmVhbV9zaXplKTsKKwljbWRidWYtPnVzZXJfc2l6ZSA9IEFMSUdOKGFyZ3MtPnN0cmVh bV9zaXplLCA4KTsKKwkvKiB0cmFuc2ZlciBvd25lcnNoaXAgb2YgY21kYnVmIHRvIHN1Ym1pdCAq LworCXN1Ym1pdC0+Y21kYnVmID0gY21kYnVmOworCWNtZGJ1ZiA9IE5VTEw7CiAKIAlyZXQgPSBl dG5hdml2X2dwdV9zdWJtaXQoZ3B1LCBzdWJtaXQsIGN0eCk7CiAKQEAgLTQ0NywxMSArNDA4LDE0 IEBAIG91dDoKIAlpZiAocmV0ID09IC1FQUdBSU4pCiAJCWZsdXNoX3dvcmtxdWV1ZShwcml2LT53 cSk7CiAKLSBlcnJfc3VibWl0X2NtZHM6CitlcnJfc3VibWl0X2NtZHM6CisJLyogaWYgd2Ugc3Rp bGwgb3duIHRoZSBjbWRidWYgKi8KKwlpZiAoY21kYnVmKQorCQlldG5hdml2X2dwdV9jbWRidWZf ZnJlZShjbWRidWYpOworCWlmIChzdHJlYW0pCisJCWRybV9mcmVlX2xhcmdlKHN0cmVhbSk7CiAJ aWYgKGJvcykKIAkJZHJtX2ZyZWVfbGFyZ2UoYm9zKTsKLQlpZiAoY21kcykKLQkJZHJtX2ZyZWVf bGFyZ2UoY21kcyk7CiAKIAlyZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFn aW5nL2V0bmF2aXYvZXRuYXZpdl9ncHUuYyBiL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2 aXZfZ3B1LmMKaW5kZXggMzlhYzA4ZDI2MjYwLi5mOGI1MDc0MDZlNDEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZ3B1LmMKKysrIGIvZHJpdmVycy9zdGFnaW5n L2V0bmF2aXYvZXRuYXZpdl9ncHUuYwpAQCAtODU3LDEyICs4NTcsNDEgQEAgc3RhdGljIHZvaWQg ZXZlbnRfZnJlZShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdW5zaWduZWQgaW50IGV2ZW50KQog ICogQ21kc3RyZWFtIHN1Ym1pc3Npb24vcmV0aXJlbWVudDoKICAqLwogCitzdHJ1Y3QgZXRuYXZp dl9jbWRidWYgKmV0bmF2aXZfZ3B1X2NtZGJ1Zl9uZXcoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUs IHUzMiBzaXplKQoreworCXN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqY21kYnVmOworCisJY21kYnVm ID0ga3phbGxvYyhzaXplb2YoKmNtZGJ1ZiksIEdGUF9LRVJORUwpOworCWlmICghY21kYnVmKQor CQlyZXR1cm4gTlVMTDsKKworCWNtZGJ1Zi0+dmFkZHIgPSBkbWFfYWxsb2Nfd3JpdGVjb21iaW5l KGdwdS0+ZGV2LCBzaXplLCAmY21kYnVmLT5wYWRkciwKKwkJCQkJICAgICAgIEdGUF9LRVJORUwp OworCWlmICghY21kYnVmLT52YWRkcikgeworCQlrZnJlZShjbWRidWYpOworCQlyZXR1cm4gTlVM TDsKKwl9CisKKwljbWRidWYtPmdwdSA9IGdwdTsKKwljbWRidWYtPnNpemUgPSBzaXplOworCisJ cmV0dXJuIGNtZGJ1ZjsKK30KKwordm9pZCBldG5hdml2X2dwdV9jbWRidWZfZnJlZShzdHJ1Y3Qg ZXRuYXZpdl9jbWRidWYgKmNtZGJ1ZikKK3sKKwlkbWFfZnJlZV93cml0ZWNvbWJpbmUoY21kYnVm LT5ncHUtPmRldiwgY21kYnVmLT5zaXplLAorCQkJICAgICAgY21kYnVmLT52YWRkciwgY21kYnVm LT5wYWRkcik7CisJa2ZyZWUoY21kYnVmKTsKK30KKwogc3RhdGljIHZvaWQgcmV0aXJlX3dvcmtl cihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUg PSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGV0bmF2aXZfZ3B1LAogCQkJCQkgICAgICAgcmV0 aXJlX3dvcmspOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBncHUtPmRybTsKIAl1MzIgZmVu Y2UgPSBncHUtPmNvbXBsZXRlZF9mZW5jZTsKKwlzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmNtZGJ1 ZiwgKnRtcDsKIAogCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKIApAQCAtODg1LDYg KzkxNCwxNCBAQCBzdGF0aWMgdm9pZCByZXRpcmVfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdCAq d29yaykKIAkJfQogCX0KIAorCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbWRidWYsIHRtcCwg JmdwdS0+YWN0aXZlX2NtZF9saXN0LAorCQkJCSBncHVfYWN0aXZlX2xpc3QpIHsKKwkJaWYgKGZl bmNlX2FmdGVyX2VxKGZlbmNlLCBjbWRidWYtPmZlbmNlKSkgeworCQkJZXRuYXZpdl9ncHVfY21k YnVmX2ZyZWUoY21kYnVmKTsKKwkJCWxpc3RfZGVsKCZjbWRidWYtPmdwdV9hY3RpdmVfbGlzdCk7 CisJCX0KKwl9CisKIAlncHUtPnJldGlyZWRfZmVuY2UgPSBmZW5jZTsKIAogCW11dGV4X3VubG9j aygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwpAQCAtMTIyMyw2ICsxMjYwLDcgQEAgc3RhdGljIGludCBl dG5hdml2X2dwdV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVy LAogCWdwdS0+ZHJtID0gZHJtOwogCiAJSU5JVF9MSVNUX0hFQUQoJmdwdS0+YWN0aXZlX2xpc3Qp OworCUlOSVRfTElTVF9IRUFEKCZncHUtPmFjdGl2ZV9jbWRfbGlzdCk7CiAJSU5JVF9XT1JLKCZn cHUtPnJldGlyZV93b3JrLCByZXRpcmVfd29ya2VyKTsKIAlJTklUX1dPUksoJmdwdS0+cmVjb3Zl cl93b3JrLCByZWNvdmVyX3dvcmtlcik7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmZ3B1LT5mZW5j ZV9ldmVudCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dw dS5oIGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9ncHUuaAppbmRleCAzNzRmMzdm MzY2NWYuLmVlMWM4NTA0ZTRjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYv ZXRuYXZpdl9ncHUuaAorKysgYi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dwdS5o CkBAIC0xMDMsNiArMTAzLDkgQEAgc3RydWN0IGV0bmF2aXZfZ3B1IHsKIAkvKiBsaXN0IG9mIEdF TSBhY3RpdmUgb2JqZWN0czogKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGFjdGl2ZV9saXN0OwogCisJ LyogbGlzdCBvZiBjdXJyZW50bHkgaW4tZmxpZ2h0IGNvbW1hbmQgYnVmZmVycyAqLworCXN0cnVj dCBsaXN0X2hlYWQgYWN0aXZlX2NtZF9saXN0OworCiAJdTMyIGlkbGVfbWFzazsKIAogCS8qIEZl bmNpbmcgc3VwcG9ydCAqLwpAQCAtMTMzLDYgKzEzNiwyMCBAQCBzdHJ1Y3QgZXRuYXZpdl9ncHUg ewogCXN0cnVjdCB3b3JrX3N0cnVjdCByZWNvdmVyX3dvcms7CiB9OwogCitzdHJ1Y3QgZXRuYXZp dl9jbWRidWYgeworCS8qIGRldmljZSB0aGlzIGNtZGJ1ZiBpcyBhbGxvY2F0ZWQgZm9yICovCisJ c3RydWN0IGV0bmF2aXZfZ3B1ICpncHU7CisJLyogY21kYnVmIHByb3BlcnRpZXMgKi8KKwl2b2lk ICp2YWRkcjsKKwlkbWFfYWRkcl90IHBhZGRyOworCXUzMiBzaXplOworCXUzMiB1c2VyX3NpemU7 CisJLyogZmVuY2UgYWZ0ZXIgd2hpY2ggdGhpcyBidWZmZXIgaXMgdG8gYmUgZGlzcG9zZWQgKi8K Kwl1MzIgZmVuY2U7CisJLyogcGVyIEdQVSBpbi1mbGlnaHQgbGlzdCAqLworCXN0cnVjdCBsaXN0 X2hlYWQgZ3B1X2FjdGl2ZV9saXN0OworfTsKKwogc3RhdGljIGlubGluZSB2b2lkIGdwdV93cml0 ZShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdTMyIHJlZywgdTMyIGRhdGEpCiB7CiAJZXRuYXZp dl93cml0ZWwoZGF0YSwgZ3B1LT5tbWlvICsgcmVnKTsKQEAgLTE2OCw2ICsxODUsOSBAQCBpbnQg ZXRuYXZpdl9ncHVfd2FpdF9vYmpfaW5hY3RpdmUoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsCiAJ c3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmosIHN0cnVjdCB0aW1lc3BlYyAq dGltZW91dCk7CiBpbnQgZXRuYXZpdl9ncHVfc3VibWl0KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1 LAogCXN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwgc3RydWN0IGV0bmF2aXZfZmls ZV9wcml2YXRlICpjdHgpOworc3RydWN0IGV0bmF2aXZfY21kYnVmICpldG5hdml2X2dwdV9jbWRi dWZfbmV3KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAorCQkJCQkgICAgICB1MzIgc2l6ZSk7Cit2 b2lkIGV0bmF2aXZfZ3B1X2NtZGJ1Zl9mcmVlKHN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqY21kYnVm KTsKIGludCBldG5hdml2X2dwdV9wbV9nZXRfc3luYyhzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSk7 CiB2b2lkIGV0bmF2aXZfZ3B1X3BtX3B1dChzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSk7CiAKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZXRuYXZpdl9kcm0uaCBiL2luY2x1ZGUvdWFwaS9k cm0vZXRuYXZpdl9kcm0uaAppbmRleCAxNTE1ZmE0ZjY5ODYuLjY4OWNhZjkzYzg1ZCAxMDA2NDQK LS0tIGEvaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9k cm0vZXRuYXZpdl9kcm0uaApAQCAtMTIzLDE1ICsxMjMsNiBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZf Z2VtX3N1Ym1pdF9yZWxvYyB7CiAJX191NjQgcmVsb2Nfb2Zmc2V0OyAgIC8qIGluLCBvZmZzZXQg ZnJvbSBzdGFydCBvZiByZWxvY19ibyAqLwogfTsKIAotc3RydWN0IGRybV9ldG5hdml2X2dlbV9z dWJtaXRfY21kIHsKLQlfX3UzMiBzdWJtaXRfaWR4OyAgICAgLyogaW4sIGluZGV4IG9mIHN1Ym1p dF9ibyBjbWRzdHJlYW0gYnVmZmVyICovCi0JX191MzIgc3VibWl0X29mZnNldDsgIC8qIGluLCBv ZmZzZXQgaW50byBzdWJtaXRfYm8gKi8KLQlfX3UzMiBzaXplOyAgICAgICAgICAgLyogaW4sIGNt ZHN0cmVhbSBzaXplICovCi0JX191MzIgcGFkOwotCV9fdTMyIG5yX3JlbG9jczsgICAgICAvKiBp biwgbnVtYmVyIG9mIHN1Ym1pdF9yZWxvYydzICovCi0JX191NjQgcmVsb2NzOyAgICAgICAgIC8q IGluLCBwdHIgdG8gYXJyYXkgb2Ygc3VibWl0X3JlbG9jJ3MgKi8KLX07Ci0KIC8qIEVhY2ggYnVm ZmVyIHJlZmVyZW5jZWQgZWxzZXdoZXJlIGluIHRoZSBjbWRzdHJlYW0gc3VibWl0IChpZS4gdGhl CiAgKiBjbWRzdHJlYW0gYnVmZmVyKHMpIHRoZW1zZWx2ZXMgb3IgcmVsb2MgZW50cmllcykgaGFz IG9uZSAoYW5kIG9ubHkKICAqIG9uZSkgZW50cnkgaW4gdGhlIHN1Ym1pdC0+Ym9zW10gdGFibGUu CkBAIC0xNTksMTQgKzE1MCwxNSBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdF9ibyB7 CiAjZGVmaW5lIEVUTkFfUElQRV8yRCAgICAgIDB4MDEKICNkZWZpbmUgRVROQV9QSVBFX1ZHICAg ICAgMHgwMgogc3RydWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXQgeworCV9fdTMyIGZlbmNlOyAg ICAgICAgICAvKiBvdXQgKi8KIAlfX3UzMiBwaXBlOyAgICAgICAgICAgLyogaW4gKi8KIAlfX3Uz MiBleGVjX3N0YXRlOyAgICAgLyogaW4sIGluaXRpYWwgZXhlY3V0aW9uIHN0YXRlIChFVE5BX1BJ UEVfeCkgKi8KLQlfX3UzMiBmZW5jZTsgICAgICAgICAgLyogb3V0ICovCiAJX191MzIgbnJfYm9z OyAgICAgICAgIC8qIGluLCBudW1iZXIgb2Ygc3VibWl0X2JvJ3MgKi8KLQlfX3UzMiBucl9jbWRz OyAgICAgICAgLyogaW4sIG51bWJlciBvZiBzdWJtaXRfY21kJ3MgKi8KLQlfX3UzMiBwYWQ7CisJ X191MzIgbnJfcmVsb2NzOyAgICAgIC8qIGluLCBudW1iZXIgb2Ygc3VibWl0X3JlbG9jJ3MgKi8K KwlfX3UzMiBzdHJlYW1fc2l6ZTsgICAgLyogaW4sIGNtZHN0cmVhbSBzaXplICovCiAJX191NjQg Ym9zOyAgICAgICAgICAgIC8qIGluLCBwdHIgdG8gYXJyYXkgb2Ygc3VibWl0X2JvJ3MgKi8KLQlf X3U2NCBjbWRzOyAgICAgICAgICAgLyogaW4sIHB0ciB0byBhcnJheSBvZiBzdWJtaXRfY21kJ3Mg Ki8KKwlfX3U2NCByZWxvY3M7ICAgICAgICAgLyogaW4sIHB0ciB0byBhcnJheSBvZiBzdWJtaXRf cmVsb2MncyAqLworCV9fdTY0IHN0cmVhbTsgICAgICAgICAvKiBpbiwgcHRyIHRvIGNtZHN0cmVh bSAqLwogfTsKIAogLyogVGhlIG5vcm1hbCB3YXkgdG8gc3luY2hyb25pemUgd2l0aCB0aGUgR1BV IGlzIGp1c3QgdG8gQ1BVX1BSRVAgb24KLS0gCjIuNS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=