From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 5/5] drm/amdgpu: rename all rbo variable to abo Date: Thu, 15 Sep 2016 15:10:24 +0200 Message-ID: <1473945024-8275-5-git-send-email-deathsimple@vodafone.de> References: <1473945024-8275-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1473945024-8275-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKSnVzdCB0 byBjbGVhbnVwIHNvbWUgcmFkZW9uIGxlZnRvdmVycy4KCnNlZCAtaSAicy9yYm8vYWJvL2ciIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1LyouYwpzZWQgLWkgInMvcmJvL2Fiby9nIiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS8qLmgKClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcg PGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHUuaCAgICAgICAgIHwgIDQgKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGlzcGxheS5jIHwgNDIgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmIuYyAgICAgIHwgNDQgKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYyAg ICAgfCAyMCArKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf b2JqZWN0LmMgIHwgMTYgKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90dG0uYyAgICAgfCAyNCArKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdXZkLmMgICAgIHwgIDggKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9kY2VfdjEwXzAuYyAgICAgIHwgMzYgKysrKysrKysrKystLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jICAgICAgfCAzNiArKysrKysrKysr Ky0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYyAgICAg ICB8IDM2ICsrKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9kY2VfdjhfMC5jICAgICAgIHwgMzYgKysrKysrKysrKystLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92aXJ0dWFsLmMgICAgfCAxMiArKysrLS0tLQogMTIgZmls ZXMgY2hhbmdlZCwgMTU3IGluc2VydGlvbnMoKyksIDE1NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdS5oCmluZGV4IGVkOTFmMDguLmMzMDYzNWEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdS5oCkBAIC03MDEsNyArNzAxLDcgQEAgc3RydWN0IGFtZGdwdV9m bGlwX3dvcmsgewogCWludAkJCQljcnRjX2lkOwogCXVpbnQ2NF90CQkJYmFzZTsKIAlzdHJ1Y3Qg ZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50ICpldmVudDsKLQlzdHJ1Y3QgYW1kZ3B1X2JvCQkqb2xk X3JibzsKKwlzdHJ1Y3QgYW1kZ3B1X2JvCQkqb2xkX2FibzsKIAlzdHJ1Y3QgZmVuY2UJCQkqZXhj bDsKIAl1bnNpZ25lZAkJCXNoYXJlZF9jb3VudDsKIAlzdHJ1Y3QgZmVuY2UJCQkqKnNoYXJlZDsK QEAgLTI0MzYsNyArMjQzNiw3IEBAIGludCBhbWRncHVfY3NfcGFyc2VyX2luaXQoc3RydWN0IGFt ZGdwdV9jc19wYXJzZXIgKnAsIHZvaWQgKmRhdGEpOwogaW50IGFtZGdwdV9jc19nZXRfcmluZyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdTMyIGlwX3R5cGUsCiAJCSAgICAgICB1MzIgaXBf aW5zdGFuY2UsIHUzMiByaW5nLAogCQkgICAgICAgc3RydWN0IGFtZGdwdV9yaW5nICoqb3V0X3Jp bmcpOwotdm9pZCBhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihzdHJ1Y3QgYW1kZ3B1 X2JvICpyYm8sIHUzMiBkb21haW4pOwordm9pZCBhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2Rv bWFpbihzdHJ1Y3QgYW1kZ3B1X2JvICphYm8sIHUzMiBkb21haW4pOwogYm9vbCBhbWRncHVfdHRt X2JvX2lzX2FtZGdwdV9ibyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKTsKIGludCBhbWRn cHVfdHRtX3R0X2dldF91c2VyX3BhZ2VzKHN0cnVjdCB0dG1fdHQgKnR0bSwgc3RydWN0IHBhZ2Ug KipwYWdlcyk7CiBpbnQgYW1kZ3B1X3R0bV90dF9zZXRfdXNlcnB0cihzdHJ1Y3QgdHRtX3R0ICp0 dG0sIHVpbnQ2NF90IGFkZHIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rp c3BsYXkuYwppbmRleCA5M2ZkNzYxLi43ODNlMWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMKQEAgLTE1NCwxNyArMTU0LDE3IEBAIHN0YXRpYyB2b2lk IGFtZGdwdV91bnBpbl93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmspCiAJaW50 IHI7CiAKIAkvKiB1bnBpbiBvZiB0aGUgb2xkIGJ1ZmZlciAqLwotCXIgPSBhbWRncHVfYm9fcmVz ZXJ2ZSh3b3JrLT5vbGRfcmJvLCBmYWxzZSk7CisJciA9IGFtZGdwdV9ib19yZXNlcnZlKHdvcmst Pm9sZF9hYm8sIGZhbHNlKTsKIAlpZiAobGlrZWx5KHIgPT0gMCkpIHsKLQkJciA9IGFtZGdwdV9i b191bnBpbih3b3JrLT5vbGRfcmJvKTsKKwkJciA9IGFtZGdwdV9ib191bnBpbih3b3JrLT5vbGRf YWJvKTsKIAkJaWYgKHVubGlrZWx5KHIgIT0gMCkpIHsKIAkJCURSTV9FUlJPUigiZmFpbGVkIHRv IHVucGluIGJ1ZmZlciBhZnRlciBmbGlwXG4iKTsKIAkJfQotCQlhbWRncHVfYm9fdW5yZXNlcnZl KHdvcmstPm9sZF9yYm8pOworCQlhbWRncHVfYm9fdW5yZXNlcnZlKHdvcmstPm9sZF9hYm8pOwog CX0gZWxzZQogCQlEUk1fRVJST1IoImZhaWxlZCB0byByZXNlcnZlIGJ1ZmZlciBhZnRlciBmbGlw XG4iKTsKIAotCWFtZGdwdV9ib191bnJlZigmd29yay0+b2xkX3Jibyk7CisJYW1kZ3B1X2JvX3Vu cmVmKCZ3b3JrLT5vbGRfYWJvKTsKIAlrZnJlZSh3b3JrLT5zaGFyZWQpOwogCWtmcmVlKHdvcmsp OwogfQpAQCAtMTgxLDcgKzE4MSw3IEBAIGludCBhbWRncHVfY3J0Y19wYWdlX2ZsaXAoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCXN0cnVjdCBhbWRncHVfZnJhbWVidWZmZXIgKm5ld19hbWRncHVf ZmI7CiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7CiAJc3RydWN0IGFtZGdwdV9mbGlwX3dv cmsgKndvcms7Ci0Jc3RydWN0IGFtZGdwdV9ibyAqbmV3X3JibzsKKwlzdHJ1Y3QgYW1kZ3B1X2Jv ICpuZXdfYWJvOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdTY0IHRpbGluZ19mbGFnczsKIAl1 NjQgYmFzZTsKQEAgLTIwNCwyOCArMjA0LDI4IEBAIGludCBhbWRncHVfY3J0Y19wYWdlX2ZsaXAo c3RydWN0IGRybV9jcnRjICpjcnRjLAogCW9iaiA9IG9sZF9hbWRncHVfZmItPm9iajsKIAogCS8q IHRha2UgYSByZWZlcmVuY2UgdG8gdGhlIG9sZCBvYmplY3QgKi8KLQl3b3JrLT5vbGRfcmJvID0g Z2VtX3RvX2FtZGdwdV9ibyhvYmopOwotCWFtZGdwdV9ib19yZWYod29yay0+b2xkX3Jibyk7CisJ d29yay0+b2xkX2FibyA9IGdlbV90b19hbWRncHVfYm8ob2JqKTsKKwlhbWRncHVfYm9fcmVmKHdv cmstPm9sZF9hYm8pOwogCiAJbmV3X2FtZGdwdV9mYiA9IHRvX2FtZGdwdV9mcmFtZWJ1ZmZlcihm Yik7CiAJb2JqID0gbmV3X2FtZGdwdV9mYi0+b2JqOwotCW5ld19yYm8gPSBnZW1fdG9fYW1kZ3B1 X2JvKG9iaik7CisJbmV3X2FibyA9IGdlbV90b19hbWRncHVfYm8ob2JqKTsKIAogCS8qIHBpbiB0 aGUgbmV3IGJ1ZmZlciAqLwotCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZShuZXdfcmJvLCBmYWxzZSk7 CisJciA9IGFtZGdwdV9ib19yZXNlcnZlKG5ld19hYm8sIGZhbHNlKTsKIAlpZiAodW5saWtlbHko ciAhPSAwKSkgewotCQlEUk1fRVJST1IoImZhaWxlZCB0byByZXNlcnZlIG5ldyByYm8gYnVmZmVy IGJlZm9yZSBmbGlwXG4iKTsKKwkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcmVzZXJ2ZSBuZXcgYWJv IGJ1ZmZlciBiZWZvcmUgZmxpcFxuIik7CiAJCWdvdG8gY2xlYW51cDsKIAl9CiAKLQlyID0gYW1k Z3B1X2JvX3Bpbl9yZXN0cmljdGVkKG5ld19yYm8sIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sIDAs IDAsICZiYXNlKTsKKwlyID0gYW1kZ3B1X2JvX3Bpbl9yZXN0cmljdGVkKG5ld19hYm8sIEFNREdQ VV9HRU1fRE9NQUlOX1ZSQU0sIDAsIDAsICZiYXNlKTsKIAlpZiAodW5saWtlbHkociAhPSAwKSkg ewogCQlyID0gLUVJTlZBTDsKLQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcGluIG5ldyByYm8gYnVm ZmVyIGJlZm9yZSBmbGlwXG4iKTsKKwkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcGluIG5ldyBhYm8g YnVmZmVyIGJlZm9yZSBmbGlwXG4iKTsKIAkJZ290byB1bnJlc2VydmU7CiAJfQogCi0JciA9IHJl c2VydmF0aW9uX29iamVjdF9nZXRfZmVuY2VzX3JjdShuZXdfcmJvLT50Ym8ucmVzdiwgJndvcmst PmV4Y2wsCisJciA9IHJlc2VydmF0aW9uX29iamVjdF9nZXRfZmVuY2VzX3JjdShuZXdfYWJvLT50 Ym8ucmVzdiwgJndvcmstPmV4Y2wsCiAJCQkJCSAgICAgICZ3b3JrLT5zaGFyZWRfY291bnQsCiAJ CQkJCSAgICAgICZ3b3JrLT5zaGFyZWQpOwogCWlmICh1bmxpa2VseShyICE9IDApKSB7CkBAIC0y MzMsOCArMjMzLDggQEAgaW50IGFtZGdwdV9jcnRjX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAJCWdvdG8gdW5waW47CiAJfQogCi0JYW1kZ3B1X2JvX2dldF90aWxpbmdfZmxhZ3Mo bmV3X3JibywgJnRpbGluZ19mbGFncyk7Ci0JYW1kZ3B1X2JvX3VucmVzZXJ2ZShuZXdfcmJvKTsK KwlhbWRncHVfYm9fZ2V0X3RpbGluZ19mbGFncyhuZXdfYWJvLCAmdGlsaW5nX2ZsYWdzKTsKKwlh bWRncHVfYm9fdW5yZXNlcnZlKG5ld19hYm8pOwogCiAJd29yay0+YmFzZSA9IGJhc2U7CiAKQEAg LTI2OSwxOSArMjY5LDE5IEBAIHZibGFua19jbGVhbnVwOgogCWRybV92YmxhbmtfcHV0KGNydGMt PmRldiwgYW1kZ3B1X2NydGMtPmNydGNfaWQpOwogCiBwZmxpcF9jbGVhbnVwOgotCWlmICh1bmxp a2VseShhbWRncHVfYm9fcmVzZXJ2ZShuZXdfcmJvLCBmYWxzZSkgIT0gMCkpIHsKLQkJRFJNX0VS Uk9SKCJmYWlsZWQgdG8gcmVzZXJ2ZSBuZXcgcmJvIGluIGVycm9yIHBhdGhcbiIpOworCWlmICh1 bmxpa2VseShhbWRncHVfYm9fcmVzZXJ2ZShuZXdfYWJvLCBmYWxzZSkgIT0gMCkpIHsKKwkJRFJN X0VSUk9SKCJmYWlsZWQgdG8gcmVzZXJ2ZSBuZXcgYWJvIGluIGVycm9yIHBhdGhcbiIpOwogCQln b3RvIGNsZWFudXA7CiAJfQogdW5waW46Ci0JaWYgKHVubGlrZWx5KGFtZGdwdV9ib191bnBpbihu ZXdfcmJvKSAhPSAwKSkgewotCQlEUk1fRVJST1IoImZhaWxlZCB0byB1bnBpbiBuZXcgcmJvIGlu IGVycm9yIHBhdGhcbiIpOworCWlmICh1bmxpa2VseShhbWRncHVfYm9fdW5waW4obmV3X2Fibykg IT0gMCkpIHsKKwkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gdW5waW4gbmV3IGFibyBpbiBlcnJvciBw YXRoXG4iKTsKIAl9CiB1bnJlc2VydmU6Ci0JYW1kZ3B1X2JvX3VucmVzZXJ2ZShuZXdfcmJvKTsK KwlhbWRncHVfYm9fdW5yZXNlcnZlKG5ld19hYm8pOwogCiBjbGVhbnVwOgotCWFtZGdwdV9ib191 bnJlZigmd29yay0+b2xkX3Jibyk7CisJYW1kZ3B1X2JvX3VucmVmKCZ3b3JrLT5vbGRfYWJvKTsK IAlmZW5jZV9wdXQod29yay0+ZXhjbCk7CiAJZm9yIChpID0gMDsgaSA8IHdvcmstPnNoYXJlZF9j b3VudDsgKytpKQogCQlmZW5jZV9wdXQod29yay0+c2hhcmVkW2ldKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2ZiLmMKaW5kZXggOTVhNGNkZC4uZjQ5MTA5MiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZiLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZiLmMKQEAgLTExMSwxNCArMTExLDE0IEBAIGludCBhbWRn cHVfYWxpZ25fcGl0Y2goc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGludCB3aWR0aCwgaW50 IGJwcCwgYm9vbCB0aWxlCiAKIHN0YXRpYyB2b2lkIGFtZGdwdWZiX2Rlc3Ryb3lfcGlubmVkX29i amVjdChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdvYmopCiB7Ci0Jc3RydWN0IGFtZGdwdV9ibyAq cmJvID0gZ2VtX3RvX2FtZGdwdV9ibyhnb2JqKTsKKwlzdHJ1Y3QgYW1kZ3B1X2JvICphYm8gPSBn ZW1fdG9fYW1kZ3B1X2JvKGdvYmopOwogCWludCByZXQ7CiAKLQlyZXQgPSBhbWRncHVfYm9fcmVz ZXJ2ZShyYm8sIGZhbHNlKTsKKwlyZXQgPSBhbWRncHVfYm9fcmVzZXJ2ZShhYm8sIGZhbHNlKTsK IAlpZiAobGlrZWx5KHJldCA9PSAwKSkgewotCQlhbWRncHVfYm9fa3VubWFwKHJibyk7Ci0JCWFt ZGdwdV9ib191bnBpbihyYm8pOwotCQlhbWRncHVfYm9fdW5yZXNlcnZlKHJibyk7CisJCWFtZGdw dV9ib19rdW5tYXAoYWJvKTsKKwkJYW1kZ3B1X2JvX3VucGluKGFibyk7CisJCWFtZGdwdV9ib191 bnJlc2VydmUoYWJvKTsKIAl9CiAJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQo Z29iaik7CiB9CkBAIC0xMjksNyArMTI5LDcgQEAgc3RhdGljIGludCBhbWRncHVmYl9jcmVhdGVf cGlubmVkX29iamVjdChzdHJ1Y3QgYW1kZ3B1X2ZiZGV2ICpyZmJkZXYsCiB7CiAJc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYgPSByZmJkZXYtPmFkZXY7CiAJc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpnb2JqID0gTlVMTDsKLQlzdHJ1Y3QgYW1kZ3B1X2JvICpyYm8gPSBOVUxMOworCXN0cnVjdCBh bWRncHVfYm8gKmFibyA9IE5VTEw7CiAJYm9vbCBmYl90aWxlZCA9IGZhbHNlOyAvKiB1c2VmdWwg Zm9yIHRlc3RpbmcgKi8KIAl1MzIgdGlsaW5nX2ZsYWdzID0gMDsKIAlpbnQgcmV0OwpAQCAtMTU2 LDMwICsxNTYsMzAgQEAgc3RhdGljIGludCBhbWRncHVmYl9jcmVhdGVfcGlubmVkX29iamVjdChz dHJ1Y3QgYW1kZ3B1X2ZiZGV2ICpyZmJkZXYsCiAJCSAgICAgICBhbGlnbmVkX3NpemUpOwogCQly ZXR1cm4gLUVOT01FTTsKIAl9Ci0JcmJvID0gZ2VtX3RvX2FtZGdwdV9ibyhnb2JqKTsKKwlhYm8g PSBnZW1fdG9fYW1kZ3B1X2JvKGdvYmopOwogCiAJaWYgKGZiX3RpbGVkKQogCQl0aWxpbmdfZmxh Z3MgPSBBTURHUFVfVElMSU5HX1NFVChBUlJBWV9NT0RFLCBHUlBIX0FSUkFZXzJEX1RJTEVEX1RI SU4xKTsKIAotCXJldCA9IGFtZGdwdV9ib19yZXNlcnZlKHJibywgZmFsc2UpOworCXJldCA9IGFt ZGdwdV9ib19yZXNlcnZlKGFibywgZmFsc2UpOwogCWlmICh1bmxpa2VseShyZXQgIT0gMCkpCiAJ CWdvdG8gb3V0X3VucmVmOwogCiAJaWYgKHRpbGluZ19mbGFncykgewotCQlyZXQgPSBhbWRncHVf Ym9fc2V0X3RpbGluZ19mbGFncyhyYm8sCisJCXJldCA9IGFtZGdwdV9ib19zZXRfdGlsaW5nX2Zs YWdzKGFibywKIAkJCQkJCSB0aWxpbmdfZmxhZ3MpOwogCQlpZiAocmV0KQogCQkJZGV2X2Vycihh ZGV2LT5kZXYsICJGQiBmYWlsZWQgdG8gc2V0IHRpbGluZyBmbGFnc1xuIik7CiAJfQogCiAKLQly ZXQgPSBhbWRncHVfYm9fcGluX3Jlc3RyaWN0ZWQocmJvLCBBTURHUFVfR0VNX0RPTUFJTl9WUkFN LCAwLCAwLCBOVUxMKTsKKwlyZXQgPSBhbWRncHVfYm9fcGluX3Jlc3RyaWN0ZWQoYWJvLCBBTURH UFVfR0VNX0RPTUFJTl9WUkFNLCAwLCAwLCBOVUxMKTsKIAlpZiAocmV0KSB7Ci0JCWFtZGdwdV9i b191bnJlc2VydmUocmJvKTsKKwkJYW1kZ3B1X2JvX3VucmVzZXJ2ZShhYm8pOwogCQlnb3RvIG91 dF91bnJlZjsKIAl9Ci0JcmV0ID0gYW1kZ3B1X2JvX2ttYXAocmJvLCBOVUxMKTsKLQlhbWRncHVf Ym9fdW5yZXNlcnZlKHJibyk7CisJcmV0ID0gYW1kZ3B1X2JvX2ttYXAoYWJvLCBOVUxMKTsKKwlh bWRncHVfYm9fdW5yZXNlcnZlKGFibyk7CiAJaWYgKHJldCkgewogCQlnb3RvIG91dF91bnJlZjsK IAl9CkBAIC0yMDEsNyArMjAxLDcgQEAgc3RhdGljIGludCBhbWRncHVmYl9jcmVhdGUoc3RydWN0 IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IE5V TEw7CiAJc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgbW9kZV9jbWQ7CiAJc3RydWN0IGRybV9nZW1f b2JqZWN0ICpnb2JqID0gTlVMTDsKLQlzdHJ1Y3QgYW1kZ3B1X2JvICpyYm8gPSBOVUxMOworCXN0 cnVjdCBhbWRncHVfYm8gKmFibyA9IE5VTEw7CiAJaW50IHJldDsKIAl1bnNpZ25lZCBsb25nIHRt cDsKIApAQCAtMjIwLDcgKzIyMCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1ZmJfY3JlYXRlKHN0cnVj dCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAJCXJldHVybiByZXQ7CiAJfQogCi0JcmJvID0gZ2Vt X3RvX2FtZGdwdV9ibyhnb2JqKTsKKwlhYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGdvYmopOwogCiAJ Lyogb2theSB3ZSBoYXZlIGFuIG9iamVjdCBub3cgYWxsb2NhdGUgdGhlIGZyYW1lYnVmZmVyICov CiAJaW5mbyA9IGRybV9mYl9oZWxwZXJfYWxsb2NfZmJpKGhlbHBlcik7CkBAIC0yNDMsNyArMjQz LDcgQEAgc3RhdGljIGludCBhbWRncHVmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhl bHBlciwKIAkvKiBzZXR1cCBoZWxwZXIgKi8KIAlyZmJkZXYtPmhlbHBlci5mYiA9IGZiOwogCi0J bWVtc2V0X2lvKHJiby0+a3B0ciwgMHgwLCBhbWRncHVfYm9fc2l6ZShyYm8pKTsKKwltZW1zZXRf aW8oYWJvLT5rcHRyLCAweDAsIGFtZGdwdV9ib19zaXplKGFibykpOwogCiAJc3RyY3B5KGluZm8t PmZpeC5pZCwgImFtZGdwdWRybWZiIik7CiAKQEAgLTI1MiwxMSArMjUyLDExIEBAIHN0YXRpYyBp bnQgYW1kZ3B1ZmJfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAJaW5mby0+ ZmxhZ3MgPSBGQklORk9fREVGQVVMVCB8IEZCSU5GT19DQU5fRk9SQ0VfT1VUUFVUOwogCWluZm8t PmZib3BzID0gJmFtZGdwdWZiX29wczsKIAotCXRtcCA9IGFtZGdwdV9ib19ncHVfb2Zmc2V0KHJi bykgLSBhZGV2LT5tYy52cmFtX3N0YXJ0OworCXRtcCA9IGFtZGdwdV9ib19ncHVfb2Zmc2V0KGFi bykgLSBhZGV2LT5tYy52cmFtX3N0YXJ0OwogCWluZm8tPmZpeC5zbWVtX3N0YXJ0ID0gYWRldi0+ bWMuYXBlcl9iYXNlICsgdG1wOwotCWluZm8tPmZpeC5zbWVtX2xlbiA9IGFtZGdwdV9ib19zaXpl KHJibyk7Ci0JaW5mby0+c2NyZWVuX2Jhc2UgPSByYm8tPmtwdHI7Ci0JaW5mby0+c2NyZWVuX3Np emUgPSBhbWRncHVfYm9fc2l6ZShyYm8pOworCWluZm8tPmZpeC5zbWVtX2xlbiA9IGFtZGdwdV9i b19zaXplKGFibyk7CisJaW5mby0+c2NyZWVuX2Jhc2UgPSBhYm8tPmtwdHI7CisJaW5mby0+c2Ny ZWVuX3NpemUgPSBhbWRncHVfYm9fc2l6ZShhYm8pOwogCiAJZHJtX2ZiX2hlbHBlcl9maWxsX3Zh cihpbmZvLCAmcmZiZGV2LT5oZWxwZXIsIHNpemVzLT5mYl93aWR0aCwgc2l6ZXMtPmZiX2hlaWdo dCk7CiAKQEAgLTI3Myw3ICsyNzMsNyBAQCBzdGF0aWMgaW50IGFtZGdwdWZiX2NyZWF0ZShzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCiAJRFJNX0lORk8oImZiIG1hcHBhYmxlIGF0IDB4 JWxYXG4iLCAgaW5mby0+Zml4LnNtZW1fc3RhcnQpOwogCURSTV9JTkZPKCJ2cmFtIGFwcGVyIGF0 IDB4JWxYXG4iLCAgKHVuc2lnbmVkIGxvbmcpYWRldi0+bWMuYXBlcl9iYXNlKTsKLQlEUk1fSU5G Tygic2l6ZSAlbHVcbiIsICh1bnNpZ25lZCBsb25nKWFtZGdwdV9ib19zaXplKHJibykpOworCURS TV9JTkZPKCJzaXplICVsdVxuIiwgKHVuc2lnbmVkIGxvbmcpYW1kZ3B1X2JvX3NpemUoYWJvKSk7 CiAJRFJNX0lORk8oImZiIGRlcHRoIGlzICVkXG4iLCBmYi0+ZGVwdGgpOwogCURSTV9JTkZPKCIg ICBwaXRjaCBpcyAlZFxuIiwgZmItPnBpdGNoZXNbMF0pOwogCkBAIC0yODMsNyArMjgzLDcgQEAg c3RhdGljIGludCBhbWRncHVmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwK IG91dF9kZXN0cm95X2ZiaToKIAlkcm1fZmJfaGVscGVyX3JlbGVhc2VfZmJpKGhlbHBlcik7CiBv dXRfdW5yZWY6Ci0JaWYgKHJibykgeworCWlmIChhYm8pIHsKIAogCX0KIAlpZiAoZmIgJiYgcmV0 KSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKaW5kZXggNDgwYWU3ZS4u NmFlODdlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dl bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYwpAQCAtMTIw LDIzICsxMjAsMjMgQEAgdm9pZCBhbWRncHVfZ2VtX2ZvcmNlX3JlbGVhc2Uoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCiBpbnQgYW1kZ3B1X2dlbV9vYmplY3Rfb3BlbihzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaiwKIAkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQogewotCXN0 cnVjdCBhbWRncHVfYm8gKnJibyA9IGdlbV90b19hbWRncHVfYm8ob2JqKTsKLQlzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRldihyYm8tPnRiby5iZGV2KTsKKwlzdHJ1 Y3QgYW1kZ3B1X2JvICphYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKG9iaik7CisJc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYWJvLT50Ym8uYmRldik7CiAJc3RydWN0 IGFtZGdwdV9mcHJpdiAqZnByaXYgPSBmaWxlX3ByaXYtPmRyaXZlcl9wcml2OwogCXN0cnVjdCBh bWRncHVfdm0gKnZtID0gJmZwcml2LT52bTsKIAlzdHJ1Y3QgYW1kZ3B1X2JvX3ZhICpib192YTsK IAlpbnQgcjsKLQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUocmJvLCBmYWxzZSk7CisJciA9IGFtZGdw dV9ib19yZXNlcnZlKGFibywgZmFsc2UpOwogCWlmIChyKQogCQlyZXR1cm4gcjsKIAotCWJvX3Zh ID0gYW1kZ3B1X3ZtX2JvX2ZpbmQodm0sIHJibyk7CisJYm9fdmEgPSBhbWRncHVfdm1fYm9fZmlu ZCh2bSwgYWJvKTsKIAlpZiAoIWJvX3ZhKSB7Ci0JCWJvX3ZhID0gYW1kZ3B1X3ZtX2JvX2FkZChh ZGV2LCB2bSwgcmJvKTsKKwkJYm9fdmEgPSBhbWRncHVfdm1fYm9fYWRkKGFkZXYsIHZtLCBhYm8p OwogCX0gZWxzZSB7CiAJCSsrYm9fdmEtPnJlZl9jb3VudDsKIAl9Ci0JYW1kZ3B1X2JvX3VucmVz ZXJ2ZShyYm8pOworCWFtZGdwdV9ib191bnJlc2VydmUoYWJvKTsKIAlyZXR1cm4gMDsKIH0KIApA QCAtNTUyLDcgKzU1Miw3IEBAIGludCBhbWRncHVfZ2VtX3ZhX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnb2JqOwogCXN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgYW1k Z3B1X2Zwcml2ICpmcHJpdiA9IGZpbHAtPmRyaXZlcl9wcml2OwotCXN0cnVjdCBhbWRncHVfYm8g KnJibzsKKwlzdHJ1Y3QgYW1kZ3B1X2JvICphYm87CiAJc3RydWN0IGFtZGdwdV9ib192YSAqYm9f dmE7CiAJc3RydWN0IHR0bV92YWxpZGF0ZV9idWZmZXIgdHYsIHR2X3BkOwogCXN0cnVjdCB3d19h Y3F1aXJlX2N0eCB0aWNrZXQ7CkBAIC01OTIsMTAgKzU5MiwxMCBAQCBpbnQgYW1kZ3B1X2dlbV92 YV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCWdvYmogPSBkcm1f Z2VtX29iamVjdF9sb29rdXAoZmlscCwgYXJncy0+aGFuZGxlKTsKIAlpZiAoZ29iaiA9PSBOVUxM KQogCQlyZXR1cm4gLUVOT0VOVDsKLQlyYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGdvYmopOworCWFi byA9IGdlbV90b19hbWRncHVfYm8oZ29iaik7CiAJSU5JVF9MSVNUX0hFQUQoJmxpc3QpOwogCUlO SVRfTElTVF9IRUFEKCZkdXBsaWNhdGVzKTsKLQl0di5ibyA9ICZyYm8tPnRibzsKKwl0di5ibyA9 ICZhYm8tPnRibzsKIAl0di5zaGFyZWQgPSB0cnVlOwogCWxpc3RfYWRkKCZ0di5oZWFkLCAmbGlz dCk7CiAKQEAgLTYwOSw3ICs2MDksNyBAQCBpbnQgYW1kZ3B1X2dlbV92YV9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlyZXR1cm4gcjsKIAl9CiAKLQlib192YSA9 IGFtZGdwdV92bV9ib19maW5kKCZmcHJpdi0+dm0sIHJibyk7CisJYm9fdmEgPSBhbWRncHVfdm1f Ym9fZmluZCgmZnByaXYtPnZtLCBhYm8pOwogCWlmICghYm9fdmEpIHsKIAkJdHRtX2V1X2JhY2tv ZmZfcmVzZXJ2YXRpb24oJnRpY2tldCwgJmxpc3QpOwogCQlkcm1fZ2VtX29iamVjdF91bnJlZmVy ZW5jZV91bmxvY2tlZChnb2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9v YmplY3QuYwppbmRleCA1Y2JlODAzLi5jNTdkNTVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X29iamVjdC5jCkBAIC0yMTEsMTIgKzIxMSwxMiBAQCBzdGF0aWMgdm9pZCBh bWRncHVfdHRtX3BsYWNlbWVudF9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCXBs YWNlbWVudC0+YnVzeV9wbGFjZW1lbnQgPSBwbGFjZXM7CiB9CiAKLXZvaWQgYW1kZ3B1X3R0bV9w bGFjZW1lbnRfZnJvbV9kb21haW4oc3RydWN0IGFtZGdwdV9ibyAqcmJvLCB1MzIgZG9tYWluKQor dm9pZCBhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihzdHJ1Y3QgYW1kZ3B1X2JvICph Ym8sIHUzMiBkb21haW4pCiB7Ci0Jc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBhbWRncHVf Z2V0X2FkZXYocmJvLT50Ym8uYmRldik7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBh bWRncHVfZ2V0X2FkZXYoYWJvLT50Ym8uYmRldik7CiAKLQlhbWRncHVfdHRtX3BsYWNlbWVudF9p bml0KGFkZXYsICZyYm8tPnBsYWNlbWVudCwgcmJvLT5wbGFjZW1lbnRzLAotCQkJCSAgZG9tYWlu LCByYm8tPmZsYWdzKTsKKwlhbWRncHVfdHRtX3BsYWNlbWVudF9pbml0KGFkZXYsICZhYm8tPnBs YWNlbWVudCwgYWJvLT5wbGFjZW1lbnRzLAorCQkJCSAgZG9tYWluLCBhYm8tPmZsYWdzKTsKIH0K IAogc3RhdGljIHZvaWQgYW1kZ3B1X2ZpbGxfcGxhY2VtZW50X3RvX2JvKHN0cnVjdCBhbWRncHVf Ym8gKmJvLApAQCAtODY0LDE0ICs4NjQsMTQgQEAgdm9pZCBhbWRncHVfYm9fbW92ZV9ub3RpZnko c3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAkJCSAgIHN0cnVjdCB0dG1fbWVtX3JlZyAq bmV3X21lbSkKIHsKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRl dihiby0+YmRldik7Ci0Jc3RydWN0IGFtZGdwdV9ibyAqcmJvOworCXN0cnVjdCBhbWRncHVfYm8g KmFibzsKIAlzdHJ1Y3QgdHRtX21lbV9yZWcgKm9sZF9tZW0gPSAmYm8tPm1lbTsKIAogCWlmICgh YW1kZ3B1X3R0bV9ib19pc19hbWRncHVfYm8oYm8pKQogCQlyZXR1cm47CiAKLQlyYm8gPSBjb250 YWluZXJfb2YoYm8sIHN0cnVjdCBhbWRncHVfYm8sIHRibyk7Ci0JYW1kZ3B1X3ZtX2JvX2ludmFs aWRhdGUoYWRldiwgcmJvKTsKKwlhYm8gPSBjb250YWluZXJfb2YoYm8sIHN0cnVjdCBhbWRncHVf Ym8sIHRibyk7CisJYW1kZ3B1X3ZtX2JvX2ludmFsaWRhdGUoYWRldiwgYWJvKTsKIAogCS8qIHVw ZGF0ZSBzdGF0aXN0aWNzICovCiAJaWYgKCFuZXdfbWVtKQpAQCAtODgwLDcgKzg4MCw3IEBAIHZv aWQgYW1kZ3B1X2JvX21vdmVfbm90aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAJ LyogbW92ZV9ub3RpZnkgaXMgY2FsbGVkIGJlZm9yZSBtb3ZlIGhhcHBlbnMgKi8KIAlhbWRncHVf dXBkYXRlX21lbW9yeV91c2FnZShhZGV2LCAmYm8tPm1lbSwgbmV3X21lbSk7CiAKLQl0cmFjZV9h bWRncHVfdHRtX2JvX21vdmUocmJvLCBuZXdfbWVtLT5tZW1fdHlwZSwgb2xkX21lbS0+bWVtX3R5 cGUpOworCXRyYWNlX2FtZGdwdV90dG1fYm9fbW92ZShhYm8sIG5ld19tZW0tPm1lbV90eXBlLCBv bGRfbWVtLT5tZW1fdHlwZSk7CiB9CiAKIGludCBhbWRncHVfYm9fZmF1bHRfcmVzZXJ2ZV9ub3Rp Znkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV90dG0uYwppbmRleCBkMjQ2YTFmLi42ZDBlZDM5ZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV90dG0uYwpAQCAtMTg2LDcgKzE4Niw3IEBAIHN0YXRpYyB2b2lkIGFt ZGdwdV9ldmljdF9mbGFncyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQkJCXN0cnVj dCB0dG1fcGxhY2VtZW50ICpwbGFjZW1lbnQpCiB7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPmJkZXYpOwotCXN0cnVjdCBhbWRncHVfYm8gKnJibzsK KwlzdHJ1Y3QgYW1kZ3B1X2JvICphYm87CiAJc3RhdGljIHN0cnVjdCB0dG1fcGxhY2UgcGxhY2Vt ZW50cyA9IHsKIAkJLmZwZm4gPSAwLAogCQkubHBmbiA9IDAsCkBAIC0yMDEsNDUgKzIwMSw0NSBA QCBzdGF0aWMgdm9pZCBhbWRncHVfZXZpY3RfZmxhZ3Moc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0 ICpibywKIAkJcGxhY2VtZW50LT5udW1fYnVzeV9wbGFjZW1lbnQgPSAxOwogCQlyZXR1cm47CiAJ fQotCXJibyA9IGNvbnRhaW5lcl9vZihibywgc3RydWN0IGFtZGdwdV9ibywgdGJvKTsKKwlhYm8g PSBjb250YWluZXJfb2YoYm8sIHN0cnVjdCBhbWRncHVfYm8sIHRibyk7CiAJc3dpdGNoIChiby0+ bWVtLm1lbV90eXBlKSB7CiAJY2FzZSBUVE1fUExfVlJBTToKIAkJaWYgKGFkZXYtPm1tYW4uYnVm ZmVyX2Z1bmNzX3JpbmctPnJlYWR5ID09IGZhbHNlKSB7Ci0JCQlhbWRncHVfdHRtX3BsYWNlbWVu dF9mcm9tX2RvbWFpbihyYm8sCisJCQlhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihh Ym8sCiAJCQkJCQkJIEFNREdQVV9HRU1fRE9NQUlOX0NQVSk7CiAJCX0gZWxzZSB7Ci0JCQlhbWRn cHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihyYm8sCisJCQlhbWRncHVfdHRtX3BsYWNlbWVu dF9mcm9tX2RvbWFpbihhYm8sCiAJCQkJCQkJIEFNREdQVV9HRU1fRE9NQUlOX0dUVCk7Ci0JCQlm b3IgKGkgPSAwOyBpIDwgcmJvLT5wbGFjZW1lbnQubnVtX3BsYWNlbWVudDsgKytpKSB7Ci0JCQkJ aWYgKCEocmJvLT5wbGFjZW1lbnRzW2ldLmZsYWdzICYKKwkJCWZvciAoaSA9IDA7IGkgPCBhYm8t PnBsYWNlbWVudC5udW1fcGxhY2VtZW50OyArK2kpIHsKKwkJCQlpZiAoIShhYm8tPnBsYWNlbWVu dHNbaV0uZmxhZ3MgJgogCQkJCSAgICAgIFRUTV9QTF9GTEFHX1RUKSkKIAkJCQkJY29udGludWU7 CiAKLQkJCQlpZiAocmJvLT5wbGFjZW1lbnRzW2ldLmxwZm4pCisJCQkJaWYgKGFiby0+cGxhY2Vt ZW50c1tpXS5scGZuKQogCQkJCQljb250aW51ZTsKIAogCQkJCS8qIHNldCBhbiB1cHBlciBsaW1p dCB0byBmb3JjZSBkaXJlY3RseQogCQkJCSAqIGFsbG9jYXRpbmcgYWRkcmVzcyBzcGFjZSBmb3Ig dGhlIEJPLgogCQkJCSAqLwotCQkJCXJiby0+cGxhY2VtZW50c1tpXS5scGZuID0KKwkJCQlhYm8t PnBsYWNlbWVudHNbaV0ubHBmbiA9CiAJCQkJCWFkZXYtPm1jLmd0dF9zaXplID4+IFBBR0VfU0hJ RlQ7CiAJCQl9CiAJCX0KIAkJYnJlYWs7CiAJY2FzZSBUVE1fUExfVFQ6CiAJZGVmYXVsdDoKLQkJ YW1kZ3B1X3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4ocmJvLCBBTURHUFVfR0VNX0RPTUFJTl9D UFUpOworCQlhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihhYm8sIEFNREdQVV9HRU1f RE9NQUlOX0NQVSk7CiAJfQotCSpwbGFjZW1lbnQgPSByYm8tPnBsYWNlbWVudDsKKwkqcGxhY2Vt ZW50ID0gYWJvLT5wbGFjZW1lbnQ7CiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X3ZlcmlmeV9hY2Nl c3Moc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywgc3RydWN0IGZpbGUgKmZpbHApCiB7Ci0J c3RydWN0IGFtZGdwdV9ibyAqcmJvID0gY29udGFpbmVyX29mKGJvLCBzdHJ1Y3QgYW1kZ3B1X2Jv LCB0Ym8pOworCXN0cnVjdCBhbWRncHVfYm8gKmFibyA9IGNvbnRhaW5lcl9vZihibywgc3RydWN0 IGFtZGdwdV9ibywgdGJvKTsKIAogCWlmIChhbWRncHVfdHRtX3R0X2dldF91c2VybW0oYm8tPnR0 bSkpCiAJCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIGRybV92bWFfbm9kZV92ZXJpZnlfYWNjZXNz KCZyYm8tPmdlbV9iYXNlLnZtYV9ub2RlLCBmaWxwKTsKKwlyZXR1cm4gZHJtX3ZtYV9ub2RlX3Zl cmlmeV9hY2Nlc3MoJmFiby0+Z2VtX2Jhc2Uudm1hX25vZGUsIGZpbHApOwogfQogCiBzdGF0aWMg dm9pZCBhbWRncHVfbW92ZV9udWxsKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMKaW5kZXggODdiY2FjMy4uZDY3ZWFkYSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYwpAQCAtMzUxLDEyICszNTEs MTIgQEAgdm9pZCBhbWRncHVfdXZkX2ZyZWVfaGFuZGxlcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwgc3RydWN0IGRybV9maWxlICpmaWxwKQogCX0KIH0KIAotc3RhdGljIHZvaWQgYW1kZ3B1 X3V2ZF9mb3JjZV9pbnRvX3V2ZF9zZWdtZW50KHN0cnVjdCBhbWRncHVfYm8gKnJibykKK3N0YXRp YyB2b2lkIGFtZGdwdV91dmRfZm9yY2VfaW50b191dmRfc2VnbWVudChzdHJ1Y3QgYW1kZ3B1X2Jv ICphYm8pCiB7CiAJaW50IGk7Ci0JZm9yIChpID0gMDsgaSA8IHJiby0+cGxhY2VtZW50Lm51bV9w bGFjZW1lbnQ7ICsraSkgewotCQlyYm8tPnBsYWNlbWVudHNbaV0uZnBmbiA9IDAgPj4gUEFHRV9T SElGVDsKLQkJcmJvLT5wbGFjZW1lbnRzW2ldLmxwZm4gPSAoMjU2ICogMTAyNCAqIDEwMjQpID4+ IFBBR0VfU0hJRlQ7CisJZm9yIChpID0gMDsgaSA8IGFiby0+cGxhY2VtZW50Lm51bV9wbGFjZW1l bnQ7ICsraSkgeworCQlhYm8tPnBsYWNlbWVudHNbaV0uZnBmbiA9IDAgPj4gUEFHRV9TSElGVDsK KwkJYWJvLT5wbGFjZW1lbnRzW2ldLmxwZm4gPSAoMjU2ICogMTAyNCAqIDEwMjQpID4+IFBBR0Vf U0hJRlQ7CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjEwXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCmluZGV4 IDJhZjE2NmUuLjVhZjQxOGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2RjZV92MTBfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5j CkBAIC0yMTAyLDcgKzIxMDIsNyBAQCBzdGF0aWMgaW50IGRjZV92MTBfMF9jcnRjX2RvX3NldF9i YXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlzdHJ1Y3QgYW1kZ3B1X2ZyYW1lYnVmZmVyICph bWRncHVfZmI7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqdGFyZ2V0X2ZiOwogCXN0cnVjdCBk cm1fZ2VtX29iamVjdCAqb2JqOwotCXN0cnVjdCBhbWRncHVfYm8gKnJibzsKKwlzdHJ1Y3QgYW1k Z3B1X2JvICphYm87CiAJdWludDY0X3QgZmJfbG9jYXRpb24sIHRpbGluZ19mbGFnczsKIAl1aW50 MzJfdCBmYl9mb3JtYXQsIGZiX3BpdGNoX3BpeGVsczsKIAl1MzIgZmJfc3dhcCA9IFJFR19TRVRf RklFTEQoMCwgR1JQSF9TV0FQX0NOVEwsIEdSUEhfRU5ESUFOX1NXQVAsIEVORElBTl9OT05FKTsK QEAgLTIxMjksMjMgKzIxMjksMjMgQEAgc3RhdGljIGludCBkY2VfdjEwXzBfY3J0Y19kb19zZXRf YmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJICoganVzdCB1cGRhdGUgYmFzZSBwb2ludGVy cwogCSAqLwogCW9iaiA9IGFtZGdwdV9mYi0+b2JqOwotCXJibyA9IGdlbV90b19hbWRncHVfYm8o b2JqKTsKLQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUocmJvLCBmYWxzZSk7CisJYWJvID0gZ2VtX3Rv X2FtZGdwdV9ibyhvYmopOworCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZShhYm8sIGZhbHNlKTsKIAlp ZiAodW5saWtlbHkociAhPSAwKSkKIAkJcmV0dXJuIHI7CiAKIAlpZiAoYXRvbWljKSB7Ci0JCWZi X2xvY2F0aW9uID0gYW1kZ3B1X2JvX2dwdV9vZmZzZXQocmJvKTsKKwkJZmJfbG9jYXRpb24gPSBh bWRncHVfYm9fZ3B1X29mZnNldChhYm8pOwogCX0gZWxzZSB7Ci0JCXIgPSBhbWRncHVfYm9fcGlu KHJibywgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwgJmZiX2xvY2F0aW9uKTsKKwkJciA9IGFtZGdw dV9ib19waW4oYWJvLCBBTURHUFVfR0VNX0RPTUFJTl9WUkFNLCAmZmJfbG9jYXRpb24pOwogCQlp ZiAodW5saWtlbHkociAhPSAwKSkgewotCQkJYW1kZ3B1X2JvX3VucmVzZXJ2ZShyYm8pOworCQkJ YW1kZ3B1X2JvX3VucmVzZXJ2ZShhYm8pOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAl9CiAK LQlhbWRncHVfYm9fZ2V0X3RpbGluZ19mbGFncyhyYm8sICZ0aWxpbmdfZmxhZ3MpOwotCWFtZGdw dV9ib191bnJlc2VydmUocmJvKTsKKwlhbWRncHVfYm9fZ2V0X3RpbGluZ19mbGFncyhhYm8sICZ0 aWxpbmdfZmxhZ3MpOworCWFtZGdwdV9ib191bnJlc2VydmUoYWJvKTsKIAogCXBpcGVfY29uZmln ID0gQU1ER1BVX1RJTElOR19HRVQodGlsaW5nX2ZsYWdzLCBQSVBFX0NPTkZJRyk7CiAKQEAgLTIz MTksMTIgKzIzMTksMTIgQEAgc3RhdGljIGludCBkY2VfdjEwXzBfY3J0Y19kb19zZXRfYmFzZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIAlpZiAoIWF0b21pYyAmJiBmYiAmJiBmYiAhPSBjcnRj LT5wcmltYXJ5LT5mYikgewogCQlhbWRncHVfZmIgPSB0b19hbWRncHVfZnJhbWVidWZmZXIoZmIp OwotCQlyYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGFtZGdwdV9mYi0+b2JqKTsKLQkJciA9IGFtZGdw dV9ib19yZXNlcnZlKHJibywgZmFsc2UpOworCQlhYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGFtZGdw dV9mYi0+b2JqKTsKKwkJciA9IGFtZGdwdV9ib19yZXNlcnZlKGFibywgZmFsc2UpOwogCQlpZiAo dW5saWtlbHkociAhPSAwKSkKIAkJCXJldHVybiByOwotCQlhbWRncHVfYm9fdW5waW4ocmJvKTsK LQkJYW1kZ3B1X2JvX3VucmVzZXJ2ZShyYm8pOworCQlhbWRncHVfYm9fdW5waW4oYWJvKTsKKwkJ YW1kZ3B1X2JvX3VucmVzZXJ2ZShhYm8pOwogCX0KIAogCS8qIEJ5dGVzIHBlciBwaXhlbCBtYXkg aGF2ZSBjaGFuZ2VkICovCkBAIC0yODAyLDE2ICsyODAyLDE2IEBAIHN0YXRpYyB2b2lkIGRjZV92 MTBfMF9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWlmIChjcnRjLT5wcmlt YXJ5LT5mYikgewogCQlpbnQgcjsKIAkJc3RydWN0IGFtZGdwdV9mcmFtZWJ1ZmZlciAqYW1kZ3B1 X2ZiOwotCQlzdHJ1Y3QgYW1kZ3B1X2JvICpyYm87CisJCXN0cnVjdCBhbWRncHVfYm8gKmFibzsK IAogCQlhbWRncHVfZmIgPSB0b19hbWRncHVfZnJhbWVidWZmZXIoY3J0Yy0+cHJpbWFyeS0+ZmIp OwotCQlyYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGFtZGdwdV9mYi0+b2JqKTsKLQkJciA9IGFtZGdw dV9ib19yZXNlcnZlKHJibywgZmFsc2UpOworCQlhYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGFtZGdw dV9mYi0+b2JqKTsKKwkJciA9IGFtZGdwdV9ib19yZXNlcnZlKGFibywgZmFsc2UpOwogCQlpZiAo dW5saWtlbHkocikpCi0JCQlEUk1fRVJST1IoImZhaWxlZCB0byByZXNlcnZlIHJibyBiZWZvcmUg dW5waW5cbiIpOworCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcmVzZXJ2ZSBhYm8gYmVmb3JlIHVu cGluXG4iKTsKIAkJZWxzZSB7Ci0JCQlhbWRncHVfYm9fdW5waW4ocmJvKTsKLQkJCWFtZGdwdV9i b191bnJlc2VydmUocmJvKTsKKwkJCWFtZGdwdV9ib191bnBpbihhYm8pOworCQkJYW1kZ3B1X2Jv X3VucmVzZXJ2ZShhYm8pOwogCQl9CiAJfQogCS8qIGRpc2FibGUgdGhlIEdSUEggKi8KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKaW5kZXggNjc0N2Y4Zi4uMjU2ZGU0NiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKQEAgLTIwODUsNyArMjA4NSw3IEBA IHN0YXRpYyBpbnQgZGNlX3YxMV8wX2NydGNfZG9fc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpj cnRjLAogCXN0cnVjdCBhbWRncHVfZnJhbWVidWZmZXIgKmFtZGdwdV9mYjsKIAlzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICp0YXJnZXRfZmI7CiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7Ci0J c3RydWN0IGFtZGdwdV9ibyAqcmJvOworCXN0cnVjdCBhbWRncHVfYm8gKmFibzsKIAl1aW50NjRf dCBmYl9sb2NhdGlvbiwgdGlsaW5nX2ZsYWdzOwogCXVpbnQzMl90IGZiX2Zvcm1hdCwgZmJfcGl0 Y2hfcGl4ZWxzOwogCXUzMiBmYl9zd2FwID0gUkVHX1NFVF9GSUVMRCgwLCBHUlBIX1NXQVBfQ05U TCwgR1JQSF9FTkRJQU5fU1dBUCwgRU5ESUFOX05PTkUpOwpAQCAtMjExMiwyMyArMjExMiwyMyBA QCBzdGF0aWMgaW50IGRjZV92MTFfMF9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkgKiBqdXN0IHVwZGF0ZSBiYXNlIHBvaW50ZXJzCiAJICovCiAJb2JqID0gYW1kZ3B1 X2ZiLT5vYmo7Ci0JcmJvID0gZ2VtX3RvX2FtZGdwdV9ibyhvYmopOwotCXIgPSBhbWRncHVfYm9f cmVzZXJ2ZShyYm8sIGZhbHNlKTsKKwlhYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKG9iaik7CisJciA9 IGFtZGdwdV9ib19yZXNlcnZlKGFibywgZmFsc2UpOwogCWlmICh1bmxpa2VseShyICE9IDApKQog CQlyZXR1cm4gcjsKIAogCWlmIChhdG9taWMpIHsKLQkJZmJfbG9jYXRpb24gPSBhbWRncHVfYm9f Z3B1X29mZnNldChyYm8pOworCQlmYl9sb2NhdGlvbiA9IGFtZGdwdV9ib19ncHVfb2Zmc2V0KGFi byk7CiAJfSBlbHNlIHsKLQkJciA9IGFtZGdwdV9ib19waW4ocmJvLCBBTURHUFVfR0VNX0RPTUFJ Tl9WUkFNLCAmZmJfbG9jYXRpb24pOworCQlyID0gYW1kZ3B1X2JvX3BpbihhYm8sIEFNREdQVV9H RU1fRE9NQUlOX1ZSQU0sICZmYl9sb2NhdGlvbik7CiAJCWlmICh1bmxpa2VseShyICE9IDApKSB7 Ci0JCQlhbWRncHVfYm9fdW5yZXNlcnZlKHJibyk7CisJCQlhbWRncHVfYm9fdW5yZXNlcnZlKGFi byk7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCX0KIAotCWFtZGdwdV9ib19nZXRfdGlsaW5n X2ZsYWdzKHJibywgJnRpbGluZ19mbGFncyk7Ci0JYW1kZ3B1X2JvX3VucmVzZXJ2ZShyYm8pOwor CWFtZGdwdV9ib19nZXRfdGlsaW5nX2ZsYWdzKGFibywgJnRpbGluZ19mbGFncyk7CisJYW1kZ3B1 X2JvX3VucmVzZXJ2ZShhYm8pOwogCiAJcGlwZV9jb25maWcgPSBBTURHUFVfVElMSU5HX0dFVCh0 aWxpbmdfZmxhZ3MsIFBJUEVfQ09ORklHKTsKIApAQCAtMjMwMiwxMiArMjMwMiwxMiBAQCBzdGF0 aWMgaW50IGRjZV92MTFfMF9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAogCWlmICghYXRvbWljICYmIGZiICYmIGZiICE9IGNydGMtPnByaW1hcnktPmZiKSB7CiAJCWFt ZGdwdV9mYiA9IHRvX2FtZGdwdV9mcmFtZWJ1ZmZlcihmYik7Ci0JCXJibyA9IGdlbV90b19hbWRn cHVfYm8oYW1kZ3B1X2ZiLT5vYmopOwotCQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUocmJvLCBmYWxz ZSk7CisJCWFibyA9IGdlbV90b19hbWRncHVfYm8oYW1kZ3B1X2ZiLT5vYmopOworCQlyID0gYW1k Z3B1X2JvX3Jlc2VydmUoYWJvLCBmYWxzZSk7CiAJCWlmICh1bmxpa2VseShyICE9IDApKQogCQkJ cmV0dXJuIHI7Ci0JCWFtZGdwdV9ib191bnBpbihyYm8pOwotCQlhbWRncHVfYm9fdW5yZXNlcnZl KHJibyk7CisJCWFtZGdwdV9ib191bnBpbihhYm8pOworCQlhbWRncHVfYm9fdW5yZXNlcnZlKGFi byk7CiAJfQogCiAJLyogQnl0ZXMgcGVyIHBpeGVsIG1heSBoYXZlIGNoYW5nZWQgKi8KQEAgLTI4 MjAsMTYgKzI4MjAsMTYgQEAgc3RhdGljIHZvaWQgZGNlX3YxMV8wX2NydGNfZGlzYWJsZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiAJaWYgKGNydGMtPnByaW1hcnktPmZiKSB7CiAJCWludCByOwog CQlzdHJ1Y3QgYW1kZ3B1X2ZyYW1lYnVmZmVyICphbWRncHVfZmI7Ci0JCXN0cnVjdCBhbWRncHVf Ym8gKnJibzsKKwkJc3RydWN0IGFtZGdwdV9ibyAqYWJvOwogCiAJCWFtZGdwdV9mYiA9IHRvX2Ft ZGdwdV9mcmFtZWJ1ZmZlcihjcnRjLT5wcmltYXJ5LT5mYik7Ci0JCXJibyA9IGdlbV90b19hbWRn cHVfYm8oYW1kZ3B1X2ZiLT5vYmopOwotCQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUocmJvLCBmYWxz ZSk7CisJCWFibyA9IGdlbV90b19hbWRncHVfYm8oYW1kZ3B1X2ZiLT5vYmopOworCQlyID0gYW1k Z3B1X2JvX3Jlc2VydmUoYWJvLCBmYWxzZSk7CiAJCWlmICh1bmxpa2VseShyKSkKLQkJCURSTV9F UlJPUigiZmFpbGVkIHRvIHJlc2VydmUgcmJvIGJlZm9yZSB1bnBpblxuIik7CisJCQlEUk1fRVJS T1IoImZhaWxlZCB0byByZXNlcnZlIGFibyBiZWZvcmUgdW5waW5cbiIpOwogCQllbHNlIHsKLQkJ CWFtZGdwdV9ib191bnBpbihyYm8pOwotCQkJYW1kZ3B1X2JvX3VucmVzZXJ2ZShyYm8pOworCQkJ YW1kZ3B1X2JvX3VucGluKGFibyk7CisJCQlhbWRncHVfYm9fdW5yZXNlcnZlKGFibyk7CiAJCX0K IAl9CiAJLyogZGlzYWJsZSB0aGUgR1JQSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZGNlX3Y2XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 Nl8wLmMKaW5kZXggMGE4MDdkMi4uMGExZGIwMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZGNlX3Y2XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjZfMC5jCkBAIC0xNDkzLDcgKzE0OTMsNyBAQCBzdGF0aWMgaW50IGRjZV92Nl8wX2NydGNf ZG9fc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCXN0cnVjdCBhbWRncHVfZnJhbWVi dWZmZXIgKmFtZGdwdV9mYjsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICp0YXJnZXRfZmI7CiAJ c3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7Ci0Jc3RydWN0IGFtZGdwdV9ibyAqcmJvOworCXN0 cnVjdCBhbWRncHVfYm8gKmFibzsKIAl1aW50NjRfdCBmYl9sb2NhdGlvbiwgdGlsaW5nX2ZsYWdz OwogCXVpbnQzMl90IGZiX2Zvcm1hdCwgZmJfcGl0Y2hfcGl4ZWxzLCBwaXBlX2NvbmZpZzsKIAl1 MzIgZmJfc3dhcCA9IEVWRVJHUkVFTl9HUlBIX0VORElBTl9TV0FQKEVWRVJHUkVFTl9HUlBIX0VO RElBTl9OT05FKTsKQEAgLTE1MjAsMjMgKzE1MjAsMjMgQEAgc3RhdGljIGludCBkY2VfdjZfMF9j cnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkgKiBqdXN0IHVwZGF0ZSBi YXNlIHBvaW50ZXJzCiAJICovCiAJb2JqID0gYW1kZ3B1X2ZiLT5vYmo7Ci0JcmJvID0gZ2VtX3Rv X2FtZGdwdV9ibyhvYmopOwotCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZShyYm8sIGZhbHNlKTsKKwlh Ym8gPSBnZW1fdG9fYW1kZ3B1X2JvKG9iaik7CisJciA9IGFtZGdwdV9ib19yZXNlcnZlKGFibywg ZmFsc2UpOwogCWlmICh1bmxpa2VseShyICE9IDApKQogCQlyZXR1cm4gcjsKIAogCWlmIChhdG9t aWMpCi0JCWZiX2xvY2F0aW9uID0gYW1kZ3B1X2JvX2dwdV9vZmZzZXQocmJvKTsKKwkJZmJfbG9j YXRpb24gPSBhbWRncHVfYm9fZ3B1X29mZnNldChhYm8pOwogCWVsc2UgewotCQlyID0gYW1kZ3B1 X2JvX3BpbihyYm8sIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sICZmYl9sb2NhdGlvbik7CisJCXIg PSBhbWRncHVfYm9fcGluKGFibywgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwgJmZiX2xvY2F0aW9u KTsKIAkJaWYgKHVubGlrZWx5KHIgIT0gMCkpIHsKLQkJCWFtZGdwdV9ib191bnJlc2VydmUocmJv KTsKKwkJCWFtZGdwdV9ib191bnJlc2VydmUoYWJvKTsKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9 CiAJfQogCi0JYW1kZ3B1X2JvX2dldF90aWxpbmdfZmxhZ3MocmJvLCAmdGlsaW5nX2ZsYWdzKTsK LQlhbWRncHVfYm9fdW5yZXNlcnZlKHJibyk7CisJYW1kZ3B1X2JvX2dldF90aWxpbmdfZmxhZ3Mo YWJvLCAmdGlsaW5nX2ZsYWdzKTsKKwlhbWRncHVfYm9fdW5yZXNlcnZlKGFibyk7CiAKIAlzd2l0 Y2ggKHRhcmdldF9mYi0+cGl4ZWxfZm9ybWF0KSB7CiAJY2FzZSBEUk1fRk9STUFUX0M4OgpAQCAt MTY4OCwxMiArMTY4OCwxMiBAQCBzdGF0aWMgaW50IGRjZV92Nl8wX2NydGNfZG9fc2V0X2Jhc2Uo c3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJaWYgKCFhdG9taWMgJiYgZmIgJiYgZmIgIT0gY3J0 Yy0+cHJpbWFyeS0+ZmIpIHsKIAkJYW1kZ3B1X2ZiID0gdG9fYW1kZ3B1X2ZyYW1lYnVmZmVyKGZi KTsKLQkJcmJvID0gZ2VtX3RvX2FtZGdwdV9ibyhhbWRncHVfZmItPm9iaik7Ci0JCXIgPSBhbWRn cHVfYm9fcmVzZXJ2ZShyYm8sIGZhbHNlKTsKKwkJYWJvID0gZ2VtX3RvX2FtZGdwdV9ibyhhbWRn cHVfZmItPm9iaik7CisJCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZShhYm8sIGZhbHNlKTsKIAkJaWYg KHVubGlrZWx5KHIgIT0gMCkpCiAJCQlyZXR1cm4gcjsKLQkJYW1kZ3B1X2JvX3VucGluKHJibyk7 Ci0JCWFtZGdwdV9ib191bnJlc2VydmUocmJvKTsKKwkJYW1kZ3B1X2JvX3VucGluKGFibyk7CisJ CWFtZGdwdV9ib191bnJlc2VydmUoYWJvKTsKIAl9CiAKIAkvKiBCeXRlcyBwZXIgcGl4ZWwgbWF5 IGhhdmUgY2hhbmdlZCAqLwpAQCAtMjEzOSwxNiArMjEzOSwxNiBAQCBzdGF0aWMgdm9pZCBkY2Vf djZfMF9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWlmIChjcnRjLT5wcmlt YXJ5LT5mYikgewogCQlpbnQgcjsKIAkJc3RydWN0IGFtZGdwdV9mcmFtZWJ1ZmZlciAqYW1kZ3B1 X2ZiOwotCQlzdHJ1Y3QgYW1kZ3B1X2JvICpyYm87CisJCXN0cnVjdCBhbWRncHVfYm8gKmFibzsK IAogCQlhbWRncHVfZmIgPSB0b19hbWRncHVfZnJhbWVidWZmZXIoY3J0Yy0+cHJpbWFyeS0+ZmIp OwotCQlyYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGFtZGdwdV9mYi0+b2JqKTsKLQkJciA9IGFtZGdw dV9ib19yZXNlcnZlKHJibywgZmFsc2UpOworCQlhYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKGFtZGdw dV9mYi0+b2JqKTsKKwkJciA9IGFtZGdwdV9ib19yZXNlcnZlKGFibywgZmFsc2UpOwogCQlpZiAo dW5saWtlbHkocikpCi0JCQlEUk1fRVJST1IoImZhaWxlZCB0byByZXNlcnZlIHJibyBiZWZvcmUg dW5waW5cbiIpOworCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcmVzZXJ2ZSBhYm8gYmVmb3JlIHVu cGluXG4iKTsKIAkJZWxzZSB7Ci0JCQlhbWRncHVfYm9fdW5waW4ocmJvKTsKLQkJCWFtZGdwdV9i b191bnJlc2VydmUocmJvKTsKKwkJCWFtZGdwdV9ib191bnBpbihhYm8pOworCQkJYW1kZ3B1X2Jv X3VucmVzZXJ2ZShhYm8pOwogCQl9CiAJfQogCS8qIGRpc2FibGUgdGhlIEdSUEggKi8KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCmluZGV4IDA2ZDgzNmYuLjRkMzEzYWEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwpAQCAtMTk5MCw3ICsxOTkwLDcgQEAgc3Rh dGljIGludCBkY2VfdjhfMF9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAlzdHJ1Y3QgYW1kZ3B1X2ZyYW1lYnVmZmVyICphbWRncHVfZmI7CiAJc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqdGFyZ2V0X2ZiOwogCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwotCXN0cnVj dCBhbWRncHVfYm8gKnJibzsKKwlzdHJ1Y3QgYW1kZ3B1X2JvICphYm87CiAJdWludDY0X3QgZmJf bG9jYXRpb24sIHRpbGluZ19mbGFnczsKIAl1aW50MzJfdCBmYl9mb3JtYXQsIGZiX3BpdGNoX3Bp eGVsczsKIAl1MzIgZmJfc3dhcCA9IChHUlBIX0VORElBTl9OT05FIDw8IEdSUEhfU1dBUF9DTlRM X19HUlBIX0VORElBTl9TV0FQX19TSElGVCk7CkBAIC0yMDE3LDIzICsyMDE3LDIzIEBAIHN0YXRp YyBpbnQgZGNlX3Y4XzBfY3J0Y19kb19zZXRfYmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJ ICoganVzdCB1cGRhdGUgYmFzZSBwb2ludGVycwogCSAqLwogCW9iaiA9IGFtZGdwdV9mYi0+b2Jq OwotCXJibyA9IGdlbV90b19hbWRncHVfYm8ob2JqKTsKLQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUo cmJvLCBmYWxzZSk7CisJYWJvID0gZ2VtX3RvX2FtZGdwdV9ibyhvYmopOworCXIgPSBhbWRncHVf Ym9fcmVzZXJ2ZShhYm8sIGZhbHNlKTsKIAlpZiAodW5saWtlbHkociAhPSAwKSkKIAkJcmV0dXJu IHI7CiAKIAlpZiAoYXRvbWljKSB7Ci0JCWZiX2xvY2F0aW9uID0gYW1kZ3B1X2JvX2dwdV9vZmZz ZXQocmJvKTsKKwkJZmJfbG9jYXRpb24gPSBhbWRncHVfYm9fZ3B1X29mZnNldChhYm8pOwogCX0g ZWxzZSB7Ci0JCXIgPSBhbWRncHVfYm9fcGluKHJibywgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwg JmZiX2xvY2F0aW9uKTsKKwkJciA9IGFtZGdwdV9ib19waW4oYWJvLCBBTURHUFVfR0VNX0RPTUFJ Tl9WUkFNLCAmZmJfbG9jYXRpb24pOwogCQlpZiAodW5saWtlbHkociAhPSAwKSkgewotCQkJYW1k Z3B1X2JvX3VucmVzZXJ2ZShyYm8pOworCQkJYW1kZ3B1X2JvX3VucmVzZXJ2ZShhYm8pOwogCQkJ cmV0dXJuIC1FSU5WQUw7CiAJCX0KIAl9CiAKLQlhbWRncHVfYm9fZ2V0X3RpbGluZ19mbGFncyhy Ym8sICZ0aWxpbmdfZmxhZ3MpOwotCWFtZGdwdV9ib191bnJlc2VydmUocmJvKTsKKwlhbWRncHVf Ym9fZ2V0X3RpbGluZ19mbGFncyhhYm8sICZ0aWxpbmdfZmxhZ3MpOworCWFtZGdwdV9ib191bnJl c2VydmUoYWJvKTsKIAogCXBpcGVfY29uZmlnID0gQU1ER1BVX1RJTElOR19HRVQodGlsaW5nX2Zs YWdzLCBQSVBFX0NPTkZJRyk7CiAKQEAgLTIxODgsMTIgKzIxODgsMTIgQEAgc3RhdGljIGludCBk Y2VfdjhfMF9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAogCWlmICgh YXRvbWljICYmIGZiICYmIGZiICE9IGNydGMtPnByaW1hcnktPmZiKSB7CiAJCWFtZGdwdV9mYiA9 IHRvX2FtZGdwdV9mcmFtZWJ1ZmZlcihmYik7Ci0JCXJibyA9IGdlbV90b19hbWRncHVfYm8oYW1k Z3B1X2ZiLT5vYmopOwotCQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUocmJvLCBmYWxzZSk7CisJCWFi byA9IGdlbV90b19hbWRncHVfYm8oYW1kZ3B1X2ZiLT5vYmopOworCQlyID0gYW1kZ3B1X2JvX3Jl c2VydmUoYWJvLCBmYWxzZSk7CiAJCWlmICh1bmxpa2VseShyICE9IDApKQogCQkJcmV0dXJuIHI7 Ci0JCWFtZGdwdV9ib191bnBpbihyYm8pOwotCQlhbWRncHVfYm9fdW5yZXNlcnZlKHJibyk7CisJ CWFtZGdwdV9ib191bnBpbihhYm8pOworCQlhbWRncHVfYm9fdW5yZXNlcnZlKGFibyk7CiAJfQog CiAJLyogQnl0ZXMgcGVyIHBpeGVsIG1heSBoYXZlIGNoYW5nZWQgKi8KQEAgLTI2NjMsMTYgKzI2 NjMsMTYgQEAgc3RhdGljIHZvaWQgZGNlX3Y4XzBfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKIAlpZiAoY3J0Yy0+cHJpbWFyeS0+ZmIpIHsKIAkJaW50IHI7CiAJCXN0cnVjdCBh bWRncHVfZnJhbWVidWZmZXIgKmFtZGdwdV9mYjsKLQkJc3RydWN0IGFtZGdwdV9ibyAqcmJvOwor CQlzdHJ1Y3QgYW1kZ3B1X2JvICphYm87CiAKIAkJYW1kZ3B1X2ZiID0gdG9fYW1kZ3B1X2ZyYW1l YnVmZmVyKGNydGMtPnByaW1hcnktPmZiKTsKLQkJcmJvID0gZ2VtX3RvX2FtZGdwdV9ibyhhbWRn cHVfZmItPm9iaik7Ci0JCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZShyYm8sIGZhbHNlKTsKKwkJYWJv ID0gZ2VtX3RvX2FtZGdwdV9ibyhhbWRncHVfZmItPm9iaik7CisJCXIgPSBhbWRncHVfYm9fcmVz ZXJ2ZShhYm8sIGZhbHNlKTsKIAkJaWYgKHVubGlrZWx5KHIpKQotCQkJRFJNX0VSUk9SKCJmYWls ZWQgdG8gcmVzZXJ2ZSByYm8gYmVmb3JlIHVucGluXG4iKTsKKwkJCURSTV9FUlJPUigiZmFpbGVk IHRvIHJlc2VydmUgYWJvIGJlZm9yZSB1bnBpblxuIik7CiAJCWVsc2UgewotCQkJYW1kZ3B1X2Jv X3VucGluKHJibyk7Ci0JCQlhbWRncHVfYm9fdW5yZXNlcnZlKHJibyk7CisJCQlhbWRncHVfYm9f dW5waW4oYWJvKTsKKwkJCWFtZGdwdV9ib191bnJlc2VydmUoYWJvKTsKIAkJfQogCX0KIAkvKiBk aXNhYmxlIHRoZSBHUlBIICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9kY2VfdmlydHVhbC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3ZpcnR1YWwu YwppbmRleCA4NWYxNGE2Li5jOTNlMThlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9kY2VfdmlydHVhbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Rj ZV92aXJ0dWFsLmMKQEAgLTIyNywxNiArMjI3LDE2IEBAIHN0YXRpYyB2b2lkIGRjZV92aXJ0dWFs X2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaWYgKGNydGMtPnByaW1hcnkt PmZiKSB7CiAJCWludCByOwogCQlzdHJ1Y3QgYW1kZ3B1X2ZyYW1lYnVmZmVyICphbWRncHVfZmI7 Ci0JCXN0cnVjdCBhbWRncHVfYm8gKnJibzsKKwkJc3RydWN0IGFtZGdwdV9ibyAqYWJvOwogCiAJ CWFtZGdwdV9mYiA9IHRvX2FtZGdwdV9mcmFtZWJ1ZmZlcihjcnRjLT5wcmltYXJ5LT5mYik7Ci0J CXJibyA9IGdlbV90b19hbWRncHVfYm8oYW1kZ3B1X2ZiLT5vYmopOwotCQlyID0gYW1kZ3B1X2Jv X3Jlc2VydmUocmJvLCBmYWxzZSk7CisJCWFibyA9IGdlbV90b19hbWRncHVfYm8oYW1kZ3B1X2Zi LT5vYmopOworCQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUoYWJvLCBmYWxzZSk7CiAJCWlmICh1bmxp a2VseShyKSkKLQkJCURSTV9FUlJPUigiZmFpbGVkIHRvIHJlc2VydmUgcmJvIGJlZm9yZSB1bnBp blxuIik7CisJCQlEUk1fRVJST1IoImZhaWxlZCB0byByZXNlcnZlIGFibyBiZWZvcmUgdW5waW5c biIpOwogCQllbHNlIHsKLQkJCWFtZGdwdV9ib191bnBpbihyYm8pOwotCQkJYW1kZ3B1X2JvX3Vu cmVzZXJ2ZShyYm8pOworCQkJYW1kZ3B1X2JvX3VucGluKGFibyk7CisJCQlhbWRncHVfYm9fdW5y ZXNlcnZlKGFibyk7CiAJCX0KIAl9CiAKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZngK