From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/5] drm/i915: Rename intel_engine_cs struct members Date: Wed, 16 Mar 2016 11:00:38 +0000 Message-ID: <1458126040-33105-3-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1458126040-33105-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 762C46E184 for ; Wed, 16 Mar 2016 11:00:46 +0000 (UTC) In-Reply-To: <1458126040-33105-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkZyb20gcmlu ZyB0byBlbmdpbmUsIGJ5IHRoZSB2aXJ0dWUgb2YgQ29jY2luZWxsZSBwYXRjaApiZWxvdyBhbmQg YSBjb3VwbGUgbWFudWFsIGZpeHVwcy4KCkBACmlkZW50aWZpZXIgSSwgSjsKQEAKc3RydWN0IEkg ewouLi4KLSBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpKOworIHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZTsKLi4uCn0KQEAKaWRlbnRpZmllciBJLCBKOwpAQApzdHJ1Y3QgSSB7Ci4uLgot IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgSjsKKyBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIGVuZ2lu ZTsKLi4uCn0KQEAKc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmQ7CkBACigKLSBkLT5yaW5nCisg ZC0+ZW5naW5lCikKQEAKc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnA7CkBACigKLSBw LT5yaW5nCisgcC0+ZW5naW5lCikKQEAKc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnI7CkBACigK LSByLT5yaW5nCisgci0+ZW5naW5lCikKQEAKc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXE7CkBACigKLSByZXEtPnJpbmcKKyByZXEtPmVuZ2luZQopCgp2MjogU2NyaXB0IG1pc3NlZCB0 aGUgdHJhY2Vwb2ludCBjb2RlIC0gZml4ZWQgdXAgYnkgaGFuZC4KClNpZ25lZC1vZmYtYnk6IFR2 cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kbWEuYyAgICAgICAgICAgICAgfCAgOCArLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgIHwgMTggKysrLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAgfCAzOCArKysrKysrLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jICAgICAgfCAyNCArKysrLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyAgIHwgMjQgKysrKy0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICAgICAgICB8IDE0ICsrLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYyB8ICA2ICstLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyAgICAgICAgfCAxOCArKystLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgICB8ICA5ICsrLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICAgICAgIHwgNDAgKysrKysr Ky0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmggICAgICAgICAgICB8 IDQ2ICsrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgICAgICAgICB8IDE4ICsrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j ICAgICAgICAgICAgIHwgNzYgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jICAgICAgICAgfCAgOCArLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuYyAgICAgIHwgNzQgKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgICB8ICAyICst CiAxOSBmaWxlcyBjaGFuZ2VkLCAyMTUgaW5zZXJ0aW9ucygrKSwgMjE0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggMTY0ZTE0MzJkNDFmLi5hNzFmZmFh ZjM4MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC05ODQsNyArOTg0LDcg QEAgc3RhdGljIGludCBpOTE1X2h3c19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0 YSkKIAljb25zdCB1MzIgKmh3czsKIAlpbnQgaTsKIAotCWVuZ2luZSA9ICZkZXZfcHJpdi0+cmlu Z1sodWludHB0cl90KW5vZGUtPmluZm9fZW50LT5kYXRhXTsKKwllbmdpbmUgPSAmZGV2X3ByaXYt PmVuZ2luZVsodWludHB0cl90KW5vZGUtPmluZm9fZW50LT5kYXRhXTsKIAlod3MgPSBlbmdpbmUt PnN0YXR1c19wYWdlLnBhZ2VfYWRkcjsKIAlpZiAoaHdzID09IE5VTEwpCiAJCXJldHVybiAwOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZG1hLmMKaW5kZXggNGFhM2RiNjFhNTM1Li4xOWY2MDViMGNkNmQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kbWEuYwpAQCAtODcsMTYgKzg3LDE2IEBAIHN0YXRpYyBpbnQgaTkx NV9nZXRwYXJhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQl2YWx1ZSA9 IDE7CiAJCWJyZWFrOwogCWNhc2UgSTkxNV9QQVJBTV9IQVNfQlNEOgotCQl2YWx1ZSA9IGludGVs X3JpbmdfaW5pdGlhbGl6ZWQoJmRldl9wcml2LT5yaW5nW1ZDU10pOworCQl2YWx1ZSA9IGludGVs X3JpbmdfaW5pdGlhbGl6ZWQoJmRldl9wcml2LT5lbmdpbmVbVkNTXSk7CiAJCWJyZWFrOwogCWNh c2UgSTkxNV9QQVJBTV9IQVNfQkxUOgotCQl2YWx1ZSA9IGludGVsX3JpbmdfaW5pdGlhbGl6ZWQo JmRldl9wcml2LT5yaW5nW0JDU10pOworCQl2YWx1ZSA9IGludGVsX3JpbmdfaW5pdGlhbGl6ZWQo JmRldl9wcml2LT5lbmdpbmVbQkNTXSk7CiAJCWJyZWFrOwogCWNhc2UgSTkxNV9QQVJBTV9IQVNf VkVCT1g6Ci0JCXZhbHVlID0gaW50ZWxfcmluZ19pbml0aWFsaXplZCgmZGV2X3ByaXYtPnJpbmdb VkVDU10pOworCQl2YWx1ZSA9IGludGVsX3JpbmdfaW5pdGlhbGl6ZWQoJmRldl9wcml2LT5lbmdp bmVbVkVDU10pOwogCQlicmVhazsKIAljYXNlIEk5MTVfUEFSQU1fSEFTX0JTRDI6Ci0JCXZhbHVl ID0gaW50ZWxfcmluZ19pbml0aWFsaXplZCgmZGV2X3ByaXYtPnJpbmdbVkNTMl0pOworCQl2YWx1 ZSA9IGludGVsX3JpbmdfaW5pdGlhbGl6ZWQoJmRldl9wcml2LT5lbmdpbmVbVkNTMl0pOwogCQli cmVhazsKIAljYXNlIEk5MTVfUEFSQU1fSEFTX1JFTEFYRURfRkVOQ0lORzoKIAkJdmFsdWUgPSAx OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggOGQ4NzI0MmNlNjAxLi4wMTg3YTU2MGFhNTEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTY1Miw3ICsxNjUyLDcgQEAgc3RydWN0IGk5 MTVfZXhlY2J1ZmZlcl9wYXJhbXMgewogCXVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAg ZGlzcGF0Y2hfZmxhZ3M7CiAJdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICBhcmdzX2Jh dGNoX3N0YXJ0X29mZnNldDsKIAl1aW50NjRfdCAgICAgICAgICAgICAgICAgICAgICAgIGJhdGNo X29ial92bV9vZmZzZXQ7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAgICAgICAgICAqcmluZzsK KwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgICAgICAqYmF0Y2hfb2JqOwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICAgICAgICAgICAg KmN0eDsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgICAgICpyZXF1ZXN0OwpAQCAtMTcw NCw3ICsxNzA0LDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCXdhaXRfcXVldWVfaGVh ZF90IGdtYnVzX3dhaXRfcXVldWU7CiAKIAlzdHJ1Y3QgcGNpX2RldiAqYnJpZGdlX2RldjsKLQlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHJpbmdbSTkxNV9OVU1fUklOR1NdOworCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgZW5naW5lW0k5MTVfTlVNX1JJTkdTXTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqc2VtYXBob3JlX29iajsKIAl1aW50MzJfdCBsYXN0X3NlcW5vLCBuZXh0X3NlcW5v OwogCkBAIC0xOTY5LDcgKzE5NjksNyBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpndWNfdG9faTkxNShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAvKiBJdGVyYXRlIG92 ZXIgaW5pdGlhbGlzZWQgcmluZ3MgKi8KICNkZWZpbmUgZm9yX2VhY2hfcmluZyhyaW5nX18sIGRl dl9wcml2X18sIGlfXykgXAogCWZvciAoKGlfXykgPSAwOyAoaV9fKSA8IEk5MTVfTlVNX1JJTkdT OyAoaV9fKSsrKSBcCi0JCWZvcl9lYWNoX2lmICgoKChyaW5nX18pID0gJihkZXZfcHJpdl9fKS0+ cmluZ1soaV9fKV0pLCBpbnRlbF9yaW5nX2luaXRpYWxpemVkKChyaW5nX18pKSkpCisJCWZvcl9l YWNoX2lmICgoKChyaW5nX18pID0gJihkZXZfcHJpdl9fKS0+ZW5naW5lWyhpX18pXSksIGludGVs X3JpbmdfaW5pdGlhbGl6ZWQoKHJpbmdfXykpKSkKIAogZW51bSBoZG1pX2ZvcmNlX2F1ZGlvIHsK IAlIRE1JX0FVRElPX09GRl9EVkkgPSAtMiwJLyogbm8gYXV4IGRhdGEgZm9yIEhETUktRFZJIGNv bnZlcnRlciAqLwpAQCAtMjE4NCw3ICsyMTg0LDcgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0IHsKIAogCS8qKiBPbiBXaGljaCByaW5nIHRoaXMgcmVxdWVzdCB3YXMgZ2VuZXJhdGVkICov CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTU7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAKIAkgLyoqIEdFTSBz ZXF1ZW5jZSBudW1iZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcmV2aW91cyByZXF1ZXN0LAogCSAg KiB3aGVuIHRoZSBIV1MgYnJlYWRjcnVtYiBpcyBlcXVhbCB0byB0aGlzIHRoZSBHUFUgaXMgcHJv Y2Vzc2luZwpAQCAtMjI3OSw3ICsyMjc5LDcgQEAgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8o c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKgogaTkxNV9nZW1fcmVxdWVzdF9nZXRfcmluZyhzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQlyZXR1cm4gcmVxID8gcmVxLT5yaW5nIDogTlVMTDsK KwlyZXR1cm4gcmVxID8gcmVxLT5lbmdpbmUgOiBOVUxMOwogfQogCiBzdGF0aWMgaW5saW5lIHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqCkBAIC0yMjkzLDcgKzIyOTMsNyBAQCBpOTE1X2dl bV9yZXF1ZXN0X3JlZmVyZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHN0 YXRpYyBpbmxpbmUgdm9pZAogaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJnJl cS0+cmluZy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKKwlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQo JnJlcS0+ZW5naW5lLT5kZXYtPnN0cnVjdF9tdXRleCkpOwogCWtyZWZfcHV0KCZyZXEtPnJlZiwg aTkxNV9nZW1fcmVxdWVzdF9mcmVlKTsKIH0KIApAQCAtMjMwNSw3ICsyMzA1LDcgQEAgaTkxNV9n ZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEpCiAJaWYgKCFyZXEpCiAJCXJldHVybjsKIAotCWRldiA9IHJlcS0+cmluZy0+ZGV2 OworCWRldiA9IHJlcS0+ZW5naW5lLT5kZXY7CiAJaWYgKGtyZWZfcHV0X211dGV4KCZyZXEtPnJl ZiwgaTkxNV9nZW1fcmVxdWVzdF9mcmVlLCAmZGV2LT5zdHJ1Y3RfbXV0ZXgpKQogCQltdXRleF91 bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIH0KQEAgLTI5NDksMTQgKzI5NDksMTQgQEAgaTkx NV9zZXFub19wYXNzZWQodWludDMyX3Qgc2VxMSwgdWludDMyX3Qgc2VxMikKIHN0YXRpYyBpbmxp bmUgYm9vbCBpOTE1X2dlbV9yZXF1ZXN0X3N0YXJ0ZWQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEsCiAJCQkJCSAgIGJvb2wgbGF6eV9jb2hlcmVuY3kpCiB7Ci0JdTMyIHNlcW5vID0g cmVxLT5yaW5nLT5nZXRfc2Vxbm8ocmVxLT5yaW5nLCBsYXp5X2NvaGVyZW5jeSk7CisJdTMyIHNl cW5vID0gcmVxLT5lbmdpbmUtPmdldF9zZXFubyhyZXEtPmVuZ2luZSwgbGF6eV9jb2hlcmVuY3kp OwogCXJldHVybiBpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywgcmVxLT5wcmV2aW91c19zZXFubyk7 CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCQkJICAgICAgYm9vbCBsYXp5X2NvaGVy ZW5jeSkKIHsKLQl1MzIgc2Vxbm8gPSByZXEtPnJpbmctPmdldF9zZXFubyhyZXEtPnJpbmcsIGxh enlfY29oZXJlbmN5KTsKKwl1MzIgc2Vxbm8gPSByZXEtPmVuZ2luZS0+Z2V0X3NlcW5vKHJlcS0+ ZW5naW5lLCBsYXp5X2NvaGVyZW5jeSk7CiAJcmV0dXJuIGk5MTVfc2Vxbm9fcGFzc2VkKHNlcW5v LCByZXEtPnNlcW5vKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMTExOWI4ZjQ2 ZjA5Li5jZDY4YTg2NDM3ZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTE5Myw3ICsx MTkzLDcgQEAgc3RhdGljIGludCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxLCBpbnQgc3RhdGUpCiAJICogdGFrZXMgdG8gc2xlZXAgb24gYSByZXF1 ZXN0LCBvbiB0aGUgb3JkZXIgb2YgYSBtaWNyb3NlY29uZC4KIAkgKi8KIAotCWlmIChyZXEtPnJp bmctPmlycV9yZWZjb3VudCkKKwlpZiAocmVxLT5lbmdpbmUtPmlycV9yZWZjb3VudCkKIAkJcmV0 dXJuIC1FQlVTWTsKIAogCS8qIE9ubHkgc3BpbiBpZiB3ZSBrbm93IHRoZSBHUFUgaXMgcHJvY2Vz c2luZyB0aGlzIHJlcXVlc3QgKi8KQEAgLTEzODEsNyArMTM4MSw3IEBAIGludCBpOTE1X2dlbV9y ZXF1ZXN0X2FkZF90b19jbGllbnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJ aWYgKHJlcS0+ZmlsZV9wcml2KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWRldl9wcml2YXRlID0g cmVxLT5yaW5nLT5kZXYtPmRldl9wcml2YXRlOworCWRldl9wcml2YXRlID0gcmVxLT5lbmdpbmUt PmRldi0+ZGV2X3ByaXZhdGU7CiAJZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7CiAKIAlz cGluX2xvY2soJmZpbGVfcHJpdi0+bW0ubG9jayk7CkBAIC0xNDM0LDcgKzE0MzQsNyBAQCBzdGF0 aWMgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X3JldGlyZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcXVlc3QpCiBzdGF0aWMgdm9pZAogX19pOTE1X2dlbV9yZXF1ZXN0X3JldGlyZV9fdXB0 byhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lID0gcmVxLT5lbmdpbmU7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICp0bXA7CiAK IAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZlbmdpbmUtPmRldi0+c3RydWN0X211dGV4KTsKQEAgLTE0 NjYsNyArMTQ2Niw3IEBAIGk5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxKQogCiAJQlVHX09OKHJlcSA9PSBOVUxMKTsKIAotCWRldiA9IHJlcS0+cmluZy0+ ZGV2OworCWRldiA9IHJlcS0+ZW5naW5lLT5kZXY7CiAJZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwogCWludGVycnVwdGlibGUgPSBkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZTsKIApAQCAt MTUwNSw3ICsxNTA1LDcgQEAgaTkxNV9nZW1fb2JqZWN0X3dhaXRfcmVuZGVyaW5nKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQlpZiAocmV0KQogCQkJCXJldHVybiByZXQ7CiAK LQkJCWkgPSBvYmotPmxhc3Rfd3JpdGVfcmVxLT5yaW5nLT5pZDsKKwkJCWkgPSBvYmotPmxhc3Rf d3JpdGVfcmVxLT5lbmdpbmUtPmlkOwogCQkJaWYgKG9iai0+bGFzdF9yZWFkX3JlcVtpXSA9PSBv YmotPmxhc3Rfd3JpdGVfcmVxKQogCQkJCWk5MTVfZ2VtX29iamVjdF9yZXRpcmVfX3JlYWQob2Jq LCBpKTsKIAkJCWVsc2UKQEAgLTE1MzIsNyArMTUzMiw3IEBAIHN0YXRpYyB2b2lkCiBpOTE1X2dl bV9vYmplY3RfcmV0aXJlX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwK IAkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQlpbnQgcmlu ZyA9IHJlcS0+cmluZy0+aWQ7CisJaW50IHJpbmcgPSByZXEtPmVuZ2luZS0+aWQ7CiAKIAlpZiAo b2JqLT5sYXN0X3JlYWRfcmVxW3JpbmddID09IHJlcSkKIAkJaTkxNV9nZW1fb2JqZWN0X3JldGly ZV9fcmVhZChvYmosIHJpbmcpOwpAQCAtMjQyMyw3ICsyNDIzLDcgQEAgc3RhdGljIHZvaWQKIGk5 MTVfZ2VtX29iamVjdF9yZXRpcmVfX3dyaXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmopCiB7CiAJUlFfQlVHX09OKG9iai0+bGFzdF93cml0ZV9yZXEgPT0gTlVMTCk7Ci0JUlFfQlVH X09OKCEob2JqLT5hY3RpdmUgJiBpbnRlbF9yaW5nX2ZsYWcob2JqLT5sYXN0X3dyaXRlX3JlcS0+ cmluZykpKTsKKwlSUV9CVUdfT04oIShvYmotPmFjdGl2ZSAmIGludGVsX3JpbmdfZmxhZyhvYmot Pmxhc3Rfd3JpdGVfcmVxLT5lbmdpbmUpKSk7CiAKIAlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigm b2JqLT5sYXN0X3dyaXRlX3JlcSwgTlVMTCk7CiAJaW50ZWxfZmJfb2JqX2ZsdXNoKG9iaiwgdHJ1 ZSwgT1JJR0lOX0NTKTsKQEAgLTI0NDAsNyArMjQ0MCw3IEBAIGk5MTVfZ2VtX29iamVjdF9yZXRp cmVfX3JlYWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgaW50IHJpbmcpCiAJbGlz dF9kZWxfaW5pdCgmb2JqLT5yaW5nX2xpc3RbcmluZ10pOwogCWk5MTVfZ2VtX3JlcXVlc3RfYXNz aWduKCZvYmotPmxhc3RfcmVhZF9yZXFbcmluZ10sIE5VTEwpOwogCi0JaWYgKG9iai0+bGFzdF93 cml0ZV9yZXEgJiYgb2JqLT5sYXN0X3dyaXRlX3JlcS0+cmluZy0+aWQgPT0gcmluZykKKwlpZiAo b2JqLT5sYXN0X3dyaXRlX3JlcSAmJiBvYmotPmxhc3Rfd3JpdGVfcmVxLT5lbmdpbmUtPmlkID09 IHJpbmcpCiAJCWk5MTVfZ2VtX29iamVjdF9yZXRpcmVfX3dyaXRlKG9iaik7CiAKIAlvYmotPmFj dGl2ZSAmPSB+KDEgPDwgcmluZyk7CkBAIC0yNTUxLDcgKzI1NTEsNyBAQCB2b2lkIF9faTkxNV9h ZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsCiAJaWYgKFdB Uk5fT04ocmVxdWVzdCA9PSBOVUxMKSkKIAkJcmV0dXJuOwogCi0JZW5naW5lID0gcmVxdWVzdC0+ cmluZzsKKwllbmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7CiAJZGV2X3ByaXYgPSBlbmdpbmUtPmRl di0+ZGV2X3ByaXZhdGU7CiAJcmluZ2J1ZiA9IHJlcXVlc3QtPnJpbmdidWY7CiAKQEAgLTI2ODAs NyArMjY4MCw3IEBAIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVmICpyZXFf cmVmKQogCiAJaWYgKGN0eCkgewogCQlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzICYmIGN0eCAh PSByZXEtPmk5MTUtPmtlcm5lbF9jb250ZXh0KQotCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihj dHgsIHJlcS0+cmluZyk7CisJCQlpbnRlbF9scl9jb250ZXh0X3VucGluKGN0eCwgcmVxLT5lbmdp bmUpOwogCiAJCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsKIAl9CkBAIC0yNzEy LDcgKzI3MTIsNyBAQCBfX2k5MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lLAogCiAJa3JlZl9pbml0KCZyZXEtPnJlZik7CiAJcmVxLT5pOTE1ID0gZGV2 X3ByaXY7Ci0JcmVxLT5yaW5nID0gZW5naW5lOworCXJlcS0+ZW5naW5lID0gZW5naW5lOwogCXJl cS0+Y3R4ICA9IGN0eDsKIAlpOTE1X2dlbV9jb250ZXh0X3JlZmVyZW5jZShyZXEtPmN0eCk7CiAK QEAgLTQzNjQsMTAgKzQzNjQsMTAgQEAgaTkxNV9nZW1fYnVzeV9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAogCiAJCQlyZXEgPSBvYmotPmxhc3RfcmVhZF9yZXFbaV07 CiAJCQlpZiAocmVxKQotCQkJCWFyZ3MtPmJ1c3kgfD0gMSA8PCAoMTYgKyByZXEtPnJpbmctPmV4 ZWNfaWQpOworCQkJCWFyZ3MtPmJ1c3kgfD0gMSA8PCAoMTYgKyByZXEtPmVuZ2luZS0+ZXhlY19p ZCk7CiAJCX0KIAkJaWYgKG9iai0+bGFzdF93cml0ZV9yZXEpCi0JCQlhcmdzLT5idXN5IHw9IG9i ai0+bGFzdF93cml0ZV9yZXEtPnJpbmctPmV4ZWNfaWQ7CisJCQlhcmdzLT5idXN5IHw9IG9iai0+ bGFzdF93cml0ZV9yZXEtPmVuZ2luZS0+ZXhlY19pZDsKIAl9CiAKIHVucmVmOgpAQCAtNDY5Nyw3 ICs0Njk3LDcgQEAgZXJyOgogCiBpbnQgaTkxNV9nZW1fbDNfcmVtYXAoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEsIGludCBzbGljZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0g cmVxLT5lbmdpbmU7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuZ2luZS0+ZGV2OwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJdTMy ICpyZW1hcF9pbmZvID0gZGV2X3ByaXYtPmwzX3Bhcml0eS5yZW1hcF9pbmZvW3NsaWNlXTsKQEAg LTQ4MTQsMTMgKzQ4MTQsMTMgQEAgaW50IGk5MTVfZ2VtX2luaXRfcmluZ3Moc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAlyZXR1cm4gMDsKIAogY2xlYW51cF92ZWJveF9yaW5nOgotCWludGVsX2Ns ZWFudXBfcmluZ19idWZmZXIoJmRldl9wcml2LT5yaW5nW1ZFQ1NdKTsKKwlpbnRlbF9jbGVhbnVw X3JpbmdfYnVmZmVyKCZkZXZfcHJpdi0+ZW5naW5lW1ZFQ1NdKTsKIGNsZWFudXBfYmx0X3Jpbmc6 Ci0JaW50ZWxfY2xlYW51cF9yaW5nX2J1ZmZlcigmZGV2X3ByaXYtPnJpbmdbQkNTXSk7CisJaW50 ZWxfY2xlYW51cF9yaW5nX2J1ZmZlcigmZGV2X3ByaXYtPmVuZ2luZVtCQ1NdKTsKIGNsZWFudXBf YnNkX3Jpbmc6Ci0JaW50ZWxfY2xlYW51cF9yaW5nX2J1ZmZlcigmZGV2X3ByaXYtPnJpbmdbVkNT XSk7CisJaW50ZWxfY2xlYW51cF9yaW5nX2J1ZmZlcigmZGV2X3ByaXYtPmVuZ2luZVtWQ1NdKTsK IGNsZWFudXBfcmVuZGVyX3Jpbmc6Ci0JaW50ZWxfY2xlYW51cF9yaW5nX2J1ZmZlcigmZGV2X3By aXYtPnJpbmdbUkNTXSk7CisJaW50ZWxfY2xlYW51cF9yaW5nX2J1ZmZlcigmZGV2X3ByaXYtPmVu Z2luZVtSQ1NdKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC01MDU2LDcgKzUwNTYsNyBAQCBpOTE1 X2dlbV9sb2FkX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlJTklUX0xJU1RfSEVBRCgm ZGV2X3ByaXYtPm1tLmJvdW5kX2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZkZXZfcHJpdi0+bW0u ZmVuY2VfbGlzdCk7CiAJZm9yIChpID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyBpKyspCi0JCWlu aXRfcmluZ19saXN0cygmZGV2X3ByaXYtPnJpbmdbaV0pOworCQlpbml0X3JpbmdfbGlzdHMoJmRl dl9wcml2LT5lbmdpbmVbaV0pOwogCWZvciAoaSA9IDA7IGkgPCBJOTE1X01BWF9OVU1fRkVOQ0VT OyBpKyspCiAJCUlOSVRfTElTVF9IRUFEKCZkZXZfcHJpdi0+ZmVuY2VfcmVnc1tpXS5scnVfbGlz dCk7CiAJSU5JVF9ERUxBWUVEX1dPUksoJmRldl9wcml2LT5tbS5yZXRpcmVfd29yaywKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCA0NGY1ODI5ODgwOTQuLjZjMzI1 ZTRjNzU1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMzQ2 LDcgKzM0Niw3IEBAIHZvaWQgaTkxNV9nZW1fY29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBJOTE1X05VTV9SSU5HUzsgaSsrKSB7Ci0J CXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9ICZkZXZfcHJpdi0+cmluZ1tpXTsKKwkJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gJmRldl9wcml2LT5lbmdpbmVbaV07CiAK IAkJaWYgKGVuZ2luZS0+bGFzdF9jb250ZXh0KSB7CiAJCQlpOTE1X2dlbV9jb250ZXh0X3VucGlu KGVuZ2luZS0+bGFzdF9jb250ZXh0LCBlbmdpbmUpOwpAQCAtNDIxLDEzICs0MjEsMTMgQEAgdm9p ZCBpOTE1X2dlbV9jb250ZXh0X2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJICogdG8g ZGVmYXVsdCBjb250ZXh0LiBTbyB3ZSBuZWVkIHRvIHVucmVmZXJlbmNlIHRoZSBiYXNlIG9iamVj dCBvbmNlCiAJCSAqIHRvIG9mZnNldCB0aGUgZG9fc3dpdGNoIHBhcnQsIHNvIHRoYXQgaTkxNV9n ZW1fY29udGV4dF91bnJlZmVyZW5jZSgpCiAJCSAqIGNhbiB0aGVuIGZyZWUgdGhlIGJhc2Ugb2Jq ZWN0IGNvcnJlY3RseS4gKi8KLQkJV0FSTl9PTighZGV2X3ByaXYtPnJpbmdbUkNTXS5sYXN0X2Nv bnRleHQpOworCQlXQVJOX09OKCFkZXZfcHJpdi0+ZW5naW5lW1JDU10ubGFzdF9jb250ZXh0KTsK IAogCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihkY3R4LT5sZWdhY3lfaHdfY3R4LnJjc19z dGF0ZSk7CiAJfQogCiAJZm9yIChpID0gSTkxNV9OVU1fUklOR1M7IC0taSA+PSAwOykgewotCQlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbaV07CisJCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9ICZkZXZfcHJpdi0+ZW5naW5lW2ldOwogCiAJ CWlmIChlbmdpbmUtPmxhc3RfY29udGV4dCkgewogCQkJaTkxNV9nZW1fY29udGV4dF91bnBpbihl bmdpbmUtPmxhc3RfY29udGV4dCwgZW5naW5lKTsKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2b2lkIGk5 MTVfZ2VtX2NvbnRleHRfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiBpbnQgaTkxNV9n ZW1fY29udGV4dF9lbmFibGUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7Ci0J c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCWludCByZXQ7CiAKIAlpZiAoaTkx NS5lbmFibGVfZXhlY2xpc3RzKSB7CkBAIC01MTAsNyArNTEwLDcgQEAgaTkxNV9nZW1fY29udGV4 dF9nZXQoc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2LCB1MzIgaWQpCiBz dGF0aWMgaW5saW5lIGludAogbWlfc2V0X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEsIHUzMiBod19mbGFncykKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5l bmdpbmU7CiAJdTMyIGZsYWdzID0gaHdfZmxhZ3MgfCBNSV9NTV9TUEFDRV9HVFQ7CiAJY29uc3Qg aW50IG51bV9yaW5ncyA9CiAJCS8qIFVzZSBhbiBleHRlbmRlZCB3L2Egb24gaXZiKyBpZiBzaWdu YWxsaW5nIGZyb20gb3RoZXIgcmluZ3MgKi8KQEAgLTYyNSw3ICs2MjUsNyBAQCBuZWVkc19wZF9s b2FkX3ByZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpbnRlbF9jb250 ZXh0ICp0bykKIAlpZiAoSU5URUxfSU5GTyhlbmdpbmUtPmRldiktPmdlbiA8IDgpCiAJCXJldHVy biB0cnVlOwogCi0JaWYgKGVuZ2luZSAhPSAmZGV2X3ByaXYtPnJpbmdbUkNTXSkKKwlpZiAoZW5n aW5lICE9ICZkZXZfcHJpdi0+ZW5naW5lW1JDU10pCiAJCXJldHVybiB0cnVlOwogCiAJcmV0dXJu IGZhbHNlOwpAQCAtNjQzLDcgKzY0Myw3IEBAIG5lZWRzX3BkX2xvYWRfcG9zdChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpbnRlbF9jb250ZXh0ICp0bywKIAlpZiAoIUlT X0dFTjgoZW5naW5lLT5kZXYpKQogCQlyZXR1cm4gZmFsc2U7CiAKLQlpZiAoZW5naW5lICE9ICZk ZXZfcHJpdi0+cmluZ1tSQ1NdKQorCWlmIChlbmdpbmUgIT0gJmRldl9wcml2LT5lbmdpbmVbUkNT XSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKGh3X2ZsYWdzICYgTUlfUkVTVE9SRV9JTkhJQklU KQpAQCAtNjU1LDE0ICs2NTUsMTQgQEAgbmVlZHNfcGRfbG9hZF9wb3N0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0IGludGVsX2NvbnRleHQgKnRvLAogc3RhdGljIGludCBk b19zd2l0Y2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7CiAJc3RydWN0IGlu dGVsX2NvbnRleHQgKnRvID0gcmVxLT5jdHg7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ ZW5naW5lOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+ZGV2 LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqZnJvbSA9IGVuZ2luZS0+bGFz dF9jb250ZXh0OwogCXUzMiBod19mbGFncyA9IDA7CiAJYm9vbCB1bmluaXRpYWxpemVkID0gZmFs c2U7CiAJaW50IHJldCwgaTsKIAotCWlmIChmcm9tICE9IE5VTEwgJiYgZW5naW5lID09ICZkZXZf cHJpdi0+cmluZ1tSQ1NdKSB7CisJaWYgKGZyb20gIT0gTlVMTCAmJiBlbmdpbmUgPT0gJmRldl9w cml2LT5lbmdpbmVbUkNTXSkgewogCQlCVUdfT04oZnJvbS0+bGVnYWN5X2h3X2N0eC5yY3Nfc3Rh dGUgPT0gTlVMTCk7CiAJCUJVR19PTighaTkxNV9nZW1fb2JqX2lzX3Bpbm5lZChmcm9tLT5sZWdh Y3lfaHdfY3R4LnJjc19zdGF0ZSkpOwogCX0KQEAgLTY3MSw3ICs2NzEsNyBAQCBzdGF0aWMgaW50 IGRvX3N3aXRjaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAkJcmV0dXJuIDA7 CiAKIAkvKiBUcnlpbmcgdG8gcGluIGZpcnN0IG1ha2VzIGVycm9yIGhhbmRsaW5nIGVhc2llci4g Ki8KLQlpZiAoZW5naW5lID09ICZkZXZfcHJpdi0+cmluZ1tSQ1NdKSB7CisJaWYgKGVuZ2luZSA9 PSAmZGV2X3ByaXYtPmVuZ2luZVtSQ1NdKSB7CiAJCXJldCA9IGk5MTVfZ2VtX29ial9nZ3R0X3Bp bih0by0+bGVnYWN5X2h3X2N0eC5yY3Nfc3RhdGUsCiAJCQkJCSAgICBnZXRfY29udGV4dF9hbGln bm1lbnQoZW5naW5lLT5kZXYpLAogCQkJCQkgICAgMCk7CkBAIC03MDAsNyArNzAwLDcgQEAgc3Rh dGljIGludCBkb19zd2l0Y2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJCXRv LT5wcGd0dC0+cGRfZGlydHlfcmluZ3MgJj0gfmludGVsX3JpbmdfZmxhZyhlbmdpbmUpOwogCX0K IAotCWlmIChlbmdpbmUgIT0gJmRldl9wcml2LT5yaW5nW1JDU10pIHsKKwlpZiAoZW5naW5lICE9 ICZkZXZfcHJpdi0+ZW5naW5lW1JDU10pIHsKIAkJaWYgKGZyb20pCiAJCQlpOTE1X2dlbV9jb250 ZXh0X3VucmVmZXJlbmNlKGZyb20pOwogCQlnb3RvIGRvbmU7CkBAIC04MjgsNyArODI4LDcgQEAg dW5waW5fb3V0OgogICovCiBpbnQgaTkxNV9zd2l0Y2hfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBy ZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5naW5lLT5kZXYtPmRldl9w cml2YXRlOwogCiAJV0FSTl9PTihpOTE1LmVuYWJsZV9leGVjbGlzdHMpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IGY5NGQ3NTY4MjhlOC4uYmIxZWQ4 YzRiY2I0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBA IC05NDIsNyArOTQyLDcgQEAgc3RhdGljIGludAogaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3Rv X2dwdShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCQlzdHJ1Y3QgbGlzdF9o ZWFkICp2bWFzKQogewotCWNvbnN0IHVuc2lnbmVkIG90aGVyX3JpbmdzID0gfmludGVsX3Jpbmdf ZmxhZyhyZXEtPnJpbmcpOworCWNvbnN0IHVuc2lnbmVkIG90aGVyX3JpbmdzID0gfmludGVsX3Jp bmdfZmxhZyhyZXEtPmVuZ2luZSk7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdWludDMyX3Qg Zmx1c2hfZG9tYWlucyA9IDA7CiAJYm9vbCBmbHVzaF9jaGlwc2V0ID0gZmFsc2U7CkBAIC05NTIs NyArOTUyLDcgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2dwdShzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9 IHZtYS0+b2JqOwogCiAJCWlmIChvYmotPmFjdGl2ZSAmIG90aGVyX3JpbmdzKSB7Ci0JCQlyZXQg PSBpOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+cmluZywgJnJlcSk7CisJCQlyZXQgPSBp OTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+ZW5naW5lLCAmcmVxKTsKIAkJCWlmIChyZXQp CiAJCQkJcmV0dXJuIHJldDsKIAkJfQpAQCAtOTY0LDcgKzk2NCw3IEBAIGk5MTVfZ2VtX2V4ZWNi dWZmZXJfbW92ZV90b19ncHUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJfQog CiAJaWYgKGZsdXNoX2NoaXBzZXQpCi0JCWk5MTVfZ2VtX2NoaXBzZXRfZmx1c2gocmVxLT5yaW5n LT5kZXYpOworCQlpOTE1X2dlbV9jaGlwc2V0X2ZsdXNoKHJlcS0+ZW5naW5lLT5kZXYpOwogCiAJ aWYgKGZsdXNoX2RvbWFpbnMgJiBJOTE1X0dFTV9ET01BSU5fR1RUKQogCQl3bWIoKTsKQEAgLTEx NDAsNyArMTE0MCw3IEBAIHZvaWQKIGk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRz KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMpCiB7CiAJLyogVW5jb25kaXRp b25hbGx5IGZvcmNlIGFkZF9yZXF1ZXN0IHRvIGVtaXQgYSBmdWxsIGZsdXNoLiAqLwotCXBhcmFt cy0+cmluZy0+Z3B1X2NhY2hlc19kaXJ0eSA9IHRydWU7CisJcGFyYW1zLT5lbmdpbmUtPmdwdV9j YWNoZXNfZGlydHkgPSB0cnVlOwogCiAJLyogQWRkIGEgYnJlYWRjcnVtYiBmb3IgdGhlIGNvbXBs ZXRpb24gb2YgdGhlIGJhdGNoIGJ1ZmZlciAqLwogCV9faTkxNV9hZGRfcmVxdWVzdChwYXJhbXMt PnJlcXVlc3QsIHBhcmFtcy0+YmF0Y2hfb2JqLCB0cnVlKTsKQEAgLTExNTAsMTEgKzExNTAsMTEg QEAgc3RhdGljIGludAogaTkxNV9yZXNldF9nZW43X3NvbF9vZmZzZXRzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJCQkgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7Ci0J c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJaW50IHJldCwgaTsKIAotCWlmICgh SVNfR0VONyhkZXYpIHx8IGVuZ2luZSAhPSAmZGV2X3ByaXYtPnJpbmdbUkNTXSkgeworCWlmICgh SVNfR0VONyhkZXYpIHx8IGVuZ2luZSAhPSAmZGV2X3ByaXYtPmVuZ2luZVtSQ1NdKSB7CiAJCURS TV9ERUJVRygic29sIHJlc2V0IGlzIGdlbjcvcmNzIG9ubHlcbiIpOwogCQlyZXR1cm4gLUVJTlZB TDsKIAl9CkBAIC0xMjMzLDcgKzEyMzMsNyBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Np b24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKIAkJCSAgICAgICBzdHJ1 Y3QgbGlzdF9oZWFkICp2bWFzKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwYXJhbXMt PmRldjsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBwYXJhbXMtPnJpbmc7CisJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcGFyYW1zLT5lbmdpbmU7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAl1NjQgZXhl Y19zdGFydCwgZXhlY19sZW47CiAJaW50IGluc3RwX21vZGU7CkBAIC0xMjU3LDcgKzEyNTcsNyBA QCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9w YXJhbXMgKnBhcmFtcywKIAljYXNlIEk5MTVfRVhFQ19DT05TVEFOVFNfUkVMX0dFTkVSQUw6CiAJ Y2FzZSBJOTE1X0VYRUNfQ09OU1RBTlRTX0FCU09MVVRFOgogCWNhc2UgSTkxNV9FWEVDX0NPTlNU QU5UU19SRUxfU1VSRkFDRToKLQkJaWYgKGluc3RwX21vZGUgIT0gMCAmJiBlbmdpbmUgIT0gJmRl dl9wcml2LT5yaW5nW1JDU10pIHsKKwkJaWYgKGluc3RwX21vZGUgIT0gMCAmJiBlbmdpbmUgIT0g JmRldl9wcml2LT5lbmdpbmVbUkNTXSkgewogCQkJRFJNX0RFQlVHKCJub24tMCByZWwgY29uc3Rh bnRzIG1vZGUgb24gbm9uLVJDU1xuIik7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQpAQCAtMTI4 NCw3ICsxMjg0LDcgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBpOTE1 X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWlm IChlbmdpbmUgPT0gJmRldl9wcml2LT5yaW5nW1JDU10gJiYKKwlpZiAoZW5naW5lID09ICZkZXZf cHJpdi0+ZW5naW5lW1JDU10gJiYKIAkgICAgaW5zdHBfbW9kZSAhPSBkZXZfcHJpdi0+cmVsYXRp dmVfY29uc3RhbnRzX21vZGUpIHsKIAkJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihwYXJhbXMtPnJl cXVlc3QsIDQpOwogCQlpZiAocmV0KQpAQCAtMTQxMiw5ICsxNDEyLDkgQEAgZWJfc2VsZWN0X3Jp bmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJcmV0dXJuIC1FSU5WQUw7 CiAJCX0KIAotCQkqcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tfVkNTKGJzZF9pZHgpXTsKKwkJKnJp bmcgPSAmZGV2X3ByaXYtPmVuZ2luZVtfVkNTKGJzZF9pZHgpXTsKIAl9IGVsc2UgewotCQkqcmlu ZyA9ICZkZXZfcHJpdi0+cmluZ1t1c2VyX3JpbmdfbWFwW3VzZXJfcmluZ19pZF1dOworCQkqcmlu ZyA9ICZkZXZfcHJpdi0+ZW5naW5lW3VzZXJfcmluZ19tYXBbdXNlcl9yaW5nX2lkXV07CiAJfQog CiAJaWYgKCFpbnRlbF9yaW5nX2luaXRpYWxpemVkKCpyaW5nKSkgewpAQCAtMTYzMiw3ICsxNjMy LDcgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAogCSAqLwogCXBhcmFtcy0+ZGV2ICAgICAgICAgICAgICAgICAgICAgPSBkZXY7CiAJ cGFyYW1zLT5maWxlICAgICAgICAgICAgICAgICAgICA9IGZpbGU7Ci0JcGFyYW1zLT5yaW5nICAg ICAgICAgICAgICAgICAgICA9IGVuZ2luZTsKKwlwYXJhbXMtPmVuZ2luZSAgICAgICAgICAgICAg ICAgICAgPSBlbmdpbmU7CiAJcGFyYW1zLT5kaXNwYXRjaF9mbGFncyAgICAgICAgICA9IGRpc3Bh dGNoX2ZsYWdzOwogCXBhcmFtcy0+YmF0Y2hfb2JqICAgICAgICAgICAgICAgPSBiYXRjaF9vYmo7 CiAJcGFyYW1zLT5jdHggICAgICAgICAgICAgICAgICAgICA9IGN0eDsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmMKaW5kZXggMWJjNzc3OTFiYzk2Li5hYjU0Mzk2MDI5Y2EgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC02NTgsNyArNjU4LDcgQEAgc3RhdGljIGludCBn ZW44X3dyaXRlX3BkcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCSAgdW5z aWduZWQgZW50cnksCiAJCQkgIGRtYV9hZGRyX3QgYWRkcikKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lID0gcmVxLT5lbmdpbmU7CiAJaW50IHJldDsKIAogCUJVR19PTihlbnRyeSA+PSA0KTsKQEAg LTE2NTAsNyArMTY1MCw3IEBAIHN0YXRpYyB1aW50MzJfdCBnZXRfcGRfb2Zmc2V0KHN0cnVjdCBp OTE1X2h3X3BwZ3R0ICpwcGd0dCkKIHN0YXRpYyBpbnQgaHN3X21tX3N3aXRjaChzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQsCiAJCQkgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEp CiB7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCWludCByZXQ7CiAKIAkv KiBOQjogVExCcyBtdXN0IGJlIGZsdXNoZWQgYW5kIGludmFsaWRhdGVkIGJlZm9yZSBhIHN3aXRj aCAqLwpAQCAtMTY3Niw3ICsxNjc2LDcgQEAgc3RhdGljIGludCBoc3dfbW1fc3dpdGNoKHN0cnVj dCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwKIHN0YXRpYyBpbnQgdmdwdV9tbV9zd2l0Y2goc3RydWN0 IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAogCQkJICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwcGd0dC0+YmFzZS5kZXYpOwogCiAJ STkxNV9XUklURShSSU5HX1BQX0RJUl9EQ0xWKGVuZ2luZSksIFBQX0RJUl9EQ0xWXzJHKTsKQEAg LTE2ODcsNyArMTY4Nyw3IEBAIHN0YXRpYyBpbnQgdmdwdV9tbV9zd2l0Y2goc3RydWN0IGk5MTVf aHdfcHBndHQgKnBwZ3R0LAogc3RhdGljIGludCBnZW43X21tX3N3aXRjaChzdHJ1Y3QgaTkxNV9o d19wcGd0dCAqcHBndHQsCiAJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQog ewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmluZzsKKwlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlpbnQgcmV0OwogCiAJLyog TkI6IFRMQnMgbXVzdCBiZSBmbHVzaGVkIGFuZCBpbnZhbGlkYXRlZCBiZWZvcmUgYSBzd2l0Y2gg Ki8KQEAgLTE3MjAsNyArMTcyMCw3IEBAIHN0YXRpYyBpbnQgZ2VuN19tbV9zd2l0Y2goc3RydWN0 IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAogc3RhdGljIGludCBnZW42X21tX3N3aXRjaChzdHJ1Y3Qg aTkxNV9od19wcGd0dCAqcHBndHQsCiAJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmluZzsKKwlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gcHBndHQtPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKQEAgLTIxOTIsNyArMjE5Miw3IEBAIGlu dCBpOTE1X3BwZ3R0X2luaXRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogaW50IGk5MTVf cHBndHRfaW5pdF9yaW5nKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogewotCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJlcS0+cmluZy0+ZGV2LT5kZXZfcHJp dmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSByZXEtPmVuZ2luZS0+ ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSBkZXZfcHJp di0+bW0uYWxpYXNpbmdfcHBndHQ7CiAKIAlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKQpAQCAt MjMwOSw3ICsyMzA5LDcgQEAgdm9pZCBpOTE1X2NoZWNrX2FuZF9jbGVhcl9mYXVsdHMoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAkJCQkgICBmYXVsdF9yZWcgJiB+UklOR19GQVVMVF9WQUxJRCk7 CiAJCX0KIAl9Ci0JUE9TVElOR19SRUFEKFJJTkdfRkFVTFRfUkVHKCZkZXZfcHJpdi0+cmluZ1tS Q1NdKSk7CisJUE9TVElOR19SRUFEKFJJTkdfRkFVTFRfUkVHKCZkZXZfcHJpdi0+ZW5naW5lW1JD U10pKTsKIH0KIAogc3RhdGljIHZvaWQgaTkxNV9nZ3R0X2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3JlbmRlcl9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVy X3N0YXRlLmMKaW5kZXggYjIxZjcyZWM4OTVjLi43MTYxMWJmMjFmY2EgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCkBAIC0xOTgsMjEgKzE5OCwyMSBA QCBpbnQgaTkxNV9nZW1fcmVuZGVyX3N0YXRlX2luaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEpCiAJc3RydWN0IHJlbmRlcl9zdGF0ZSBzbzsKIAlpbnQgcmV0OwogCi0JcmV0ID0g aTkxNV9nZW1fcmVuZGVyX3N0YXRlX3ByZXBhcmUocmVxLT5yaW5nLCAmc28pOworCXJldCA9IGk5 MTVfZ2VtX3JlbmRlcl9zdGF0ZV9wcmVwYXJlKHJlcS0+ZW5naW5lLCAmc28pOwogCWlmIChyZXQp CiAJCXJldHVybiByZXQ7CiAKIAlpZiAoc28ucm9kYXRhID09IE5VTEwpCiAJCXJldHVybiAwOwog Ci0JcmV0ID0gcmVxLT5yaW5nLT5kaXNwYXRjaF9leGVjYnVmZmVyKHJlcSwgc28uZ2d0dF9vZmZz ZXQsCisJcmV0ID0gcmVxLT5lbmdpbmUtPmRpc3BhdGNoX2V4ZWNidWZmZXIocmVxLCBzby5nZ3R0 X29mZnNldCwKIAkJCQkJICAgICBzby5yb2RhdGEtPmJhdGNoX2l0ZW1zICogNCwKIAkJCQkJICAg ICBJOTE1X0RJU1BBVENIX1NFQ1VSRSk7CiAJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKIAlpZiAo c28uYXV4X2JhdGNoX3NpemUgPiA4KSB7Ci0JCXJldCA9IHJlcS0+cmluZy0+ZGlzcGF0Y2hfZXhl Y2J1ZmZlcihyZXEsCisJCXJldCA9IHJlcS0+ZW5naW5lLT5kaXNwYXRjaF9leGVjYnVmZmVyKHJl cSwKIAkJCQkJCSAgICAgKHNvLmdndHRfb2Zmc2V0ICsKIAkJCQkJCSAgICAgIHNvLmF1eF9iYXRj aF9vZmZzZXQpLAogCQkJCQkJICAgICBzby5hdXhfYmF0Y2hfc2l6ZSwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dwdV9lcnJvci5jCmluZGV4IDAyOWVkNDAzMWVkZi4uYTczZjcwNTdlODc1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKQEAgLTQzMSw3ICs0MzEsNyBAQCBpbnQg aTkxNV9lcnJvcl9zdGF0ZV90b19zdHIoc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiAq bSwKIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShlcnJvci0+cmluZyk7IGkrKykgewogCQlv YmogPSBlcnJvci0+cmluZ1tpXS5iYXRjaGJ1ZmZlcjsKIAkJaWYgKG9iaikgewotCQkJZXJyX3B1 dHMobSwgZGV2X3ByaXYtPnJpbmdbaV0ubmFtZSk7CisJCQllcnJfcHV0cyhtLCBkZXZfcHJpdi0+ ZW5naW5lW2ldLm5hbWUpOwogCQkJaWYgKGVycm9yLT5yaW5nW2ldLnBpZCAhPSAtMSkKIAkJCQll cnJfcHJpbnRmKG0sICIgKHN1Ym1pdHRlZCBieSAlcyBbJWRdKSIsCiAJCQkJCSAgIGVycm9yLT5y aW5nW2ldLmNvbW0sCkBAIC00NDUsMTQgKzQ0NSwxNCBAQCBpbnQgaTkxNV9lcnJvcl9zdGF0ZV90 b19zdHIoc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiAqbSwKIAkJb2JqID0gZXJyb3It PnJpbmdbaV0ud2FfYmF0Y2hidWZmZXI7CiAJCWlmIChvYmopIHsKIAkJCWVycl9wcmludGYobSwg IiVzICh3L2EpIC0tLSBndHRfb2Zmc2V0ID0gMHglMDh4XG4iLAotCQkJCSAgIGRldl9wcml2LT5y aW5nW2ldLm5hbWUsCisJCQkJICAgZGV2X3ByaXYtPmVuZ2luZVtpXS5uYW1lLAogCQkJCSAgIGxv d2VyXzMyX2JpdHMob2JqLT5ndHRfb2Zmc2V0KSk7CiAJCQlwcmludF9lcnJvcl9vYmoobSwgb2Jq KTsKIAkJfQogCiAJCWlmIChlcnJvci0+cmluZ1tpXS5udW1fcmVxdWVzdHMpIHsKIAkJCWVycl9w cmludGYobSwgIiVzIC0tLSAlZCByZXF1ZXN0c1xuIiwKLQkJCQkgICBkZXZfcHJpdi0+cmluZ1tp XS5uYW1lLAorCQkJCSAgIGRldl9wcml2LT5lbmdpbmVbaV0ubmFtZSwKIAkJCQkgICBlcnJvci0+ cmluZ1tpXS5udW1fcmVxdWVzdHMpOwogCQkJZm9yIChqID0gMDsgaiA8IGVycm9yLT5yaW5nW2ld Lm51bV9yZXF1ZXN0czsgaisrKSB7CiAJCQkJZXJyX3ByaW50ZihtLCAiICBzZXFubyAweCUwOHgs IGVtaXR0ZWQgJWxkLCB0YWlsIDB4JTA4eFxuIiwKQEAgLTQ2NCw3ICs0NjQsNyBAQCBpbnQgaTkx NV9lcnJvcl9zdGF0ZV90b19zdHIoc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiAqbSwK IAogCQlpZiAoKG9iaiA9IGVycm9yLT5yaW5nW2ldLnJpbmdidWZmZXIpKSB7CiAJCQllcnJfcHJp bnRmKG0sICIlcyAtLS0gcmluZ2J1ZmZlciA9IDB4JTA4eFxuIiwKLQkJCQkgICBkZXZfcHJpdi0+ cmluZ1tpXS5uYW1lLAorCQkJCSAgIGRldl9wcml2LT5lbmdpbmVbaV0ubmFtZSwKIAkJCQkgICBs b3dlcl8zMl9iaXRzKG9iai0+Z3R0X29mZnNldCkpOwogCQkJcHJpbnRfZXJyb3Jfb2JqKG0sIG9i aik7CiAJCX0KQEAgLTQ3OCw3ICs0NzgsNyBAQCBpbnQgaTkxNV9lcnJvcl9zdGF0ZV90b19zdHIo c3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiAqbSwKIAkJCQlod3NfcGFnZSA9ICZvYmot PnBhZ2VzW0xSQ19QUEhXU1BfUE5dWzBdOwogCQkJfQogCQkJZXJyX3ByaW50ZihtLCAiJXMgLS0t IEhXIFN0YXR1cyA9IDB4JTA4bGx4XG4iLAotCQkJCSAgIGRldl9wcml2LT5yaW5nW2ldLm5hbWUs IGh3c19vZmZzZXQpOworCQkJCSAgIGRldl9wcml2LT5lbmdpbmVbaV0ubmFtZSwgaHdzX29mZnNl dCk7CiAJCQlvZmZzZXQgPSAwOwogCQkJZm9yIChlbHQgPSAwOyBlbHQgPCBQQUdFX1NJWkUvMTY7 IGVsdCArPSA0KSB7CiAJCQkJZXJyX3ByaW50ZihtLCAiWyUwNHhdICUwOHggJTA4eCAlMDh4ICUw OHhcbiIsCkBAIC00OTUsMTIgKzQ5NSwxMiBAQCBpbnQgaTkxNV9lcnJvcl9zdGF0ZV90b19zdHIo c3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiAqbSwKIAkJaWYgKG9iaikgewogCQkJdTY0 IHdhX2N0eF9vZmZzZXQgPSBvYmotPmd0dF9vZmZzZXQ7CiAJCQl1MzIgKndhX2N0eF9wYWdlID0g Jm9iai0+cGFnZXNbMF1bMF07Ci0JCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAm ZGV2X3ByaXYtPnJpbmdbUkNTXTsKKwkJCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9 ICZkZXZfcHJpdi0+ZW5naW5lW1JDU107CiAJCQl1MzIgd2FfY3R4X3NpemUgPSAoZW5naW5lLT53 YV9jdHguaW5kaXJlY3RfY3R4LnNpemUgKwogCQkJCQkgICBlbmdpbmUtPndhX2N0eC5wZXJfY3R4 LnNpemUpOwogCiAJCQllcnJfcHJpbnRmKG0sICIlcyAtLS0gV0EgY3R4IGJhdGNoIGJ1ZmZlciA9 IDB4JTA4bGx4XG4iLAotCQkJCSAgIGRldl9wcml2LT5yaW5nW2ldLm5hbWUsIHdhX2N0eF9vZmZz ZXQpOworCQkJCSAgIGRldl9wcml2LT5lbmdpbmVbaV0ubmFtZSwgd2FfY3R4X29mZnNldCk7CiAJ CQlvZmZzZXQgPSAwOwogCQkJZm9yIChlbHQgPSAwOyBlbHQgPCB3YV9jdHhfc2l6ZTsgZWx0ICs9 IDQpIHsKIAkJCQllcnJfcHJpbnRmKG0sICJbJTA0eF0gJTA4eCAlMDh4ICUwOHggJTA4eFxuIiwK QEAgLTUxNSw3ICs1MTUsNyBAQCBpbnQgaTkxNV9lcnJvcl9zdGF0ZV90b19zdHIoc3RydWN0IGRy bV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiAqbSwKIAogCQlpZiAoKG9iaiA9IGVycm9yLT5yaW5nW2ld LmN0eCkpIHsKIAkJCWVycl9wcmludGYobSwgIiVzIC0tLSBIVyBDb250ZXh0ID0gMHglMDh4XG4i LAotCQkJCSAgIGRldl9wcml2LT5yaW5nW2ldLm5hbWUsCisJCQkJICAgZGV2X3ByaXYtPmVuZ2lu ZVtpXS5uYW1lLAogCQkJCSAgIGxvd2VyXzMyX2JpdHMob2JqLT5ndHRfb2Zmc2V0KSk7CiAJCQlw cmludF9lcnJvcl9vYmoobSwgb2JqKTsKIAkJfQpAQCAtMTAyMCw3ICsxMDIwLDcgQEAgc3RhdGlj IHZvaWQgaTkxNV9nZW1fcmVjb3JkX3JpbmdzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaW50 IGksIGNvdW50OwogCiAJZm9yIChpID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyBpKyspIHsKLQkJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gJmRldl9wcml2LT5yaW5nW2ldOworCQlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtpXTsKIAkJ c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJidWY7CiAKIAkJZXJyb3ItPnJpbmdbaV0ucGlkID0g LTE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9u LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKaW5kZXggMTVh NGJlYjM4N2Q0Li5lZDRmMDc2MmIyNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1 Y19zdWJtaXNzaW9uLmMKQEAgLTU0MiwxMSArNTQyLDEyIEBAIHN0YXRpYyBpbnQgZ3VjX2FkZF93 b3JrcXVldWVfaXRlbShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYywKIAl3cV9sZW4gPSBzaXpl b2Yoc3RydWN0IGd1Y193cV9pdGVtKSAvIHNpemVvZih1MzIpIC0gMTsKIAl3cWktPmhlYWRlciA9 IFdRX1RZUEVfSU5PUkRFUiB8CiAJCQkod3FfbGVuIDw8IFdRX0xFTl9TSElGVCkgfAotCQkJKHJx LT5yaW5nLT5ndWNfaWQgPDwgV1FfVEFSR0VUX1NISUZUKSB8CisJCQkocnEtPmVuZ2luZS0+Z3Vj X2lkIDw8IFdRX1RBUkdFVF9TSElGVCkgfAogCQkJV1FfTk9fV0NGTFVTSF9XQUlUOwogCiAJLyog VGhlIEd1QyB3YW50cyBvbmx5IHRoZSBsb3ctb3JkZXIgd29yZCBvZiB0aGUgY29udGV4dCBkZXNj cmlwdG9yICovCi0Jd3FpLT5jb250ZXh0X2Rlc2MgPSAodTMyKWludGVsX2xyX2NvbnRleHRfZGVz Y3JpcHRvcihycS0+Y3R4LCBycS0+cmluZyk7CisJd3FpLT5jb250ZXh0X2Rlc2MgPSAodTMyKWlu dGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcihycS0+Y3R4LAorCQkJCQkJCSAgICAgcnEtPmVuZ2lu ZSk7CiAKIAkvKiBUaGUgR3VDIGZpcm13YXJlIHdhbnRzIHRoZSB0YWlsIGluZGV4IGluIFFXb3Jk cywgbm90IGJ5dGVzICovCiAJdGFpbCA9IHJxLT5yaW5nYnVmLT50YWlsID4+IDM7CkBAIC01Njks NyArNTcwLDcgQEAgaW50IGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpj bGllbnQsCiAJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQogewogCXN0cnVj dCBpbnRlbF9ndWMgKmd1YyA9IGNsaWVudC0+Z3VjOwotCXVuc2lnbmVkIGludCBlbmdpbmVfaWQg PSBycS0+cmluZy0+Z3VjX2lkOworCXVuc2lnbmVkIGludCBlbmdpbmVfaWQgPSBycS0+ZW5naW5l LT5ndWNfaWQ7CiAJaW50IHFfcmV0LCBiX3JldDsKIAogCXFfcmV0ID0gZ3VjX2FkZF93b3JrcXVl dWVfaXRlbShjbGllbnQsIHJxKTsKQEAgLTg2Nyw3ICs4NjgsNyBAQCBzdGF0aWMgdm9pZCBndWNf Y3JlYXRlX2FkcyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAJICogc28gaXRzIGFkZHJlc3Mgd29u J3QgY2hhbmdlIGFmdGVyIHdlJ3ZlIHRvbGQgdGhlIEd1QyB3aGVyZQogCSAqIHRvIGZpbmQgaXQu CiAJICovCi0JZW5naW5lID0gJmRldl9wcml2LT5yaW5nW1JDU107CisJZW5naW5lID0gJmRldl9w cml2LT5lbmdpbmVbUkNTXTsKIAlhZHMtPmdvbGRlbl9jb250ZXh0X2xyY2EgPSBlbmdpbmUtPnN0 YXR1c19wYWdlLmdmeF9hZGRyOwogCiAJZm9yX2VhY2hfcmluZyhlbmdpbmUsIGRldl9wcml2LCBp KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggNjQ2NTg5NjFhN2U1Li42YjdiZWU1OWUwYzcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtMTI5MSw5ICsxMjkxLDkgQEAgc3RhdGljIHZv aWQgaWxrX2d0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB7CiAJaWYgKGd0 X2lpciAmCiAJICAgIChHVF9SRU5ERVJfVVNFUl9JTlRFUlJVUFQgfCBHVF9SRU5ERVJfUElQRUNU TF9OT1RJRllfSU5URVJSVVBUKSkKLQkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5yaW5nW1JDU10p OworCQlub3RpZnlfcmluZygmZGV2X3ByaXYtPmVuZ2luZVtSQ1NdKTsKIAlpZiAoZ3RfaWlyICYg SUxLX0JTRF9VU0VSX0lOVEVSUlVQVCkKLQkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5yaW5nW1ZD U10pOworCQlub3RpZnlfcmluZygmZGV2X3ByaXYtPmVuZ2luZVtWQ1NdKTsKIH0KIAogc3RhdGlj IHZvaWQgc25iX2d0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCkBAIC0xMzAz LDExICsxMzAzLDExIEBAIHN0YXRpYyB2b2lkIHNuYl9ndF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogCiAJaWYgKGd0X2lpciAmCiAJICAgIChHVF9SRU5ERVJfVVNFUl9JTlRF UlJVUFQgfCBHVF9SRU5ERVJfUElQRUNUTF9OT1RJRllfSU5URVJSVVBUKSkKLQkJbm90aWZ5X3Jp bmcoJmRldl9wcml2LT5yaW5nW1JDU10pOworCQlub3RpZnlfcmluZygmZGV2X3ByaXYtPmVuZ2lu ZVtSQ1NdKTsKIAlpZiAoZ3RfaWlyICYgR1RfQlNEX1VTRVJfSU5URVJSVVBUKQotCQlub3RpZnlf cmluZygmZGV2X3ByaXYtPnJpbmdbVkNTXSk7CisJCW5vdGlmeV9yaW5nKCZkZXZfcHJpdi0+ZW5n aW5lW1ZDU10pOwogCWlmIChndF9paXIgJiBHVF9CTFRfVVNFUl9JTlRFUlJVUFQpCi0JCW5vdGlm eV9yaW5nKCZkZXZfcHJpdi0+cmluZ1tCQ1NdKTsKKwkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5l bmdpbmVbQkNTXSk7CiAKIAlpZiAoZ3RfaWlyICYgKEdUX0JMVF9DU19FUlJPUl9JTlRFUlJVUFQg fAogCQkgICAgICBHVF9CU0RfQ1NfRVJST1JfSU5URVJSVVBUIHwKQEAgLTEzMzgsMTEgKzEzMzgs MTEgQEAgc3RhdGljIGlycXJldHVybl90IGdlbjhfZ3RfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJSTkxNV9XUklURV9GVyhHRU44X0dUX0lJUigwKSwg aWlyKTsKIAkJCXJldCA9IElSUV9IQU5ETEVEOwogCi0JCQlnZW44X2NzX2lycV9oYW5kbGVyKCZk ZXZfcHJpdi0+cmluZ1tSQ1NdLAotCQkJCQlpaXIsIEdFTjhfUkNTX0lSUV9TSElGVCk7CisJCQln ZW44X2NzX2lycV9oYW5kbGVyKCZkZXZfcHJpdi0+ZW5naW5lW1JDU10sCisJCQkJCSAgICBpaXIs IEdFTjhfUkNTX0lSUV9TSElGVCk7CiAKLQkJCWdlbjhfY3NfaXJxX2hhbmRsZXIoJmRldl9wcml2 LT5yaW5nW0JDU10sCi0JCQkJCWlpciwgR0VOOF9CQ1NfSVJRX1NISUZUKTsKKwkJCWdlbjhfY3Nf aXJxX2hhbmRsZXIoJmRldl9wcml2LT5lbmdpbmVbQkNTXSwKKwkJCQkJICAgIGlpciwgR0VOOF9C Q1NfSVJRX1NISUZUKTsKIAkJfSBlbHNlCiAJCQlEUk1fRVJST1IoIlRoZSBtYXN0ZXIgY29udHJv bCBpbnRlcnJ1cHQgbGllZCAoR1QwKSFcbiIpOwogCX0KQEAgLTEzNTMsMTEgKzEzNTMsMTEgQEAg c3RhdGljIGlycXJldHVybl90IGdlbjhfZ3RfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogCQkJSTkxNV9XUklURV9GVyhHRU44X0dUX0lJUigxKSwgaWlyKTsK IAkJCXJldCA9IElSUV9IQU5ETEVEOwogCi0JCQlnZW44X2NzX2lycV9oYW5kbGVyKCZkZXZfcHJp di0+cmluZ1tWQ1NdLAotCQkJCQlpaXIsIEdFTjhfVkNTMV9JUlFfU0hJRlQpOworCQkJZ2VuOF9j c19pcnFfaGFuZGxlcigmZGV2X3ByaXYtPmVuZ2luZVtWQ1NdLAorCQkJCQkgICAgaWlyLCBHRU44 X1ZDUzFfSVJRX1NISUZUKTsKIAotCQkJZ2VuOF9jc19pcnFfaGFuZGxlcigmZGV2X3ByaXYtPnJp bmdbVkNTMl0sCi0JCQkJCWlpciwgR0VOOF9WQ1MyX0lSUV9TSElGVCk7CisJCQlnZW44X2NzX2ly cV9oYW5kbGVyKCZkZXZfcHJpdi0+ZW5naW5lW1ZDUzJdLAorCQkJCQkgICAgaWlyLCBHRU44X1ZD UzJfSVJRX1NISUZUKTsKIAkJfSBlbHNlCiAJCQlEUk1fRVJST1IoIlRoZSBtYXN0ZXIgY29udHJv bCBpbnRlcnJ1cHQgbGllZCAoR1QxKSFcbiIpOwogCX0KQEAgLTEzNjgsOCArMTM2OCw4IEBAIHN0 YXRpYyBpcnFyZXR1cm5fdCBnZW44X2d0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAkJCUk5MTVfV1JJVEVfRlcoR0VOOF9HVF9JSVIoMyksIGlpcik7CiAJ CQlyZXQgPSBJUlFfSEFORExFRDsKIAotCQkJZ2VuOF9jc19pcnFfaGFuZGxlcigmZGV2X3ByaXYt PnJpbmdbVkVDU10sCi0JCQkJCWlpciwgR0VOOF9WRUNTX0lSUV9TSElGVCk7CisJCQlnZW44X2Nz X2lycV9oYW5kbGVyKCZkZXZfcHJpdi0+ZW5naW5lW1ZFQ1NdLAorCQkJCQkgICAgaWlyLCBHRU44 X1ZFQ1NfSVJRX1NISUZUKTsKIAkJfSBlbHNlCiAJCQlEUk1fRVJST1IoIlRoZSBtYXN0ZXIgY29u dHJvbCBpbnRlcnJ1cHQgbGllZCAoR1QzKSFcbiIpOwogCX0KQEAgLTE2MjksNyArMTYyOSw3IEBA IHN0YXRpYyB2b2lkIGdlbjZfcnBzX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTMyIHBtX2lpcikKIAogCWlmIChIQVNfVkVCT1goZGV2X3ByaXYtPmRldikp IHsKIAkJaWYgKHBtX2lpciAmIFBNX1ZFQk9YX1VTRVJfSU5URVJSVVBUKQotCQkJbm90aWZ5X3Jp bmcoJmRldl9wcml2LT5yaW5nW1ZFQ1NdKTsKKwkJCW5vdGlmeV9yaW5nKCZkZXZfcHJpdi0+ZW5n aW5lW1ZFQ1NdKTsKIAogCQlpZiAocG1faWlyICYgUE1fVkVCT1hfQ1NfRVJST1JfSU5URVJSVVBU KQogCQkJRFJNX0RFQlVHKCJDb21tYW5kIHBhcnNlciBlcnJvciwgcG1faWlyIDB4JTA4eFxuIiwg cG1faWlyKTsKQEAgLTQwNDIsNyArNDA0Miw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpOHh4X2ly cV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKIAkJbmV3X2lpciA9IEk5MTVfUkVBRDE2KElJ Uik7IC8qIEZsdXNoIHBvc3RlZCB3cml0ZXMgKi8KIAogCQlpZiAoaWlyICYgSTkxNV9VU0VSX0lO VEVSUlVQVCkKLQkJCW5vdGlmeV9yaW5nKCZkZXZfcHJpdi0+cmluZ1tSQ1NdKTsKKwkJCW5vdGlm eV9yaW5nKCZkZXZfcHJpdi0+ZW5naW5lW1JDU10pOwogCiAJCWZvcl9lYWNoX3BpcGUoZGV2X3By aXYsIHBpcGUpIHsKIAkJCWludCBwbGFuZSA9IHBpcGU7CkBAIC00MjM4LDcgKzQyMzgsNyBAQCBz dGF0aWMgaXJxcmV0dXJuX3QgaTkxNV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcpCiAJ CW5ld19paXIgPSBJOTE1X1JFQUQoSUlSKTsgLyogRmx1c2ggcG9zdGVkIHdyaXRlcyAqLwogCiAJ CWlmIChpaXIgJiBJOTE1X1VTRVJfSU5URVJSVVBUKQotCQkJbm90aWZ5X3JpbmcoJmRldl9wcml2 LT5yaW5nW1JDU10pOworCQkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5lbmdpbmVbUkNTXSk7CiAK IAkJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlwZSkgewogCQkJaW50IHBsYW5lID0gcGlwZTsK QEAgLTQ0NjgsOSArNDQ2OCw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpOTY1X2lycV9oYW5kbGVy KGludCBpcnEsIHZvaWQgKmFyZykKIAkJbmV3X2lpciA9IEk5MTVfUkVBRChJSVIpOyAvKiBGbHVz aCBwb3N0ZWQgd3JpdGVzICovCiAKIAkJaWYgKGlpciAmIEk5MTVfVVNFUl9JTlRFUlJVUFQpCi0J CQlub3RpZnlfcmluZygmZGV2X3ByaXYtPnJpbmdbUkNTXSk7CisJCQlub3RpZnlfcmluZygmZGV2 X3ByaXYtPmVuZ2luZVtSQ1NdKTsKIAkJaWYgKGlpciAmIEk5MTVfQlNEX1VTRVJfSU5URVJSVVBU KQotCQkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5yaW5nW1ZDU10pOworCQkJbm90aWZ5X3Jpbmco JmRldl9wcml2LT5lbmdpbmVbVkNTXSk7CiAKIAkJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlw ZSkgewogCQkJaWYgKHBpcGVfc3RhdHNbcGlwZV0gJiBQSVBFX1NUQVJUX1ZCTEFOS19JTlRFUlJV UFRfU1RBVFVTICYmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNl LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKaW5kZXggZmEwOWU1NTgxMTM3 Li45MjNjZjZlNGQ4YjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJh Y2UuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKQEAgLTQ2NCw3ICs0 NjQsNyBAQCBUUkFDRV9FVkVOVChpOTE1X2dlbV9yaW5nX3N5bmNfdG8sCiAJICAgIFRQX2Zhc3Rf YXNzaWduKAogCQkJICAgX19lbnRyeS0+ZGV2ID0gZnJvbS0+ZGV2LT5wcmltYXJ5LT5pbmRleDsK IAkJCSAgIF9fZW50cnktPnN5bmNfZnJvbSA9IGZyb20tPmlkOwotCQkJICAgX19lbnRyeS0+c3lu Y190byA9IHRvX3JlcS0+cmluZy0+aWQ7CisJCQkgICBfX2VudHJ5LT5zeW5jX3RvID0gdG9fcmVx LT5lbmdpbmUtPmlkOwogCQkJICAgX19lbnRyeS0+c2Vxbm8gPSBpOTE1X2dlbV9yZXF1ZXN0X2dl dF9zZXFubyhyZXEpOwogCQkJICAgKSwKIApAQCAtNDg2LDEzICs0ODYsMTMgQEAgVFJBQ0VfRVZF TlQoaTkxNV9nZW1fcmluZ19kaXNwYXRjaCwKIAkJCSAgICAgKSwKIAogCSAgICBUUF9mYXN0X2Fz c2lnbigKLQkJCSAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPQorCQkJICAgc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0KIAkJCQkJCWk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Jp bmcocmVxKTsKLQkJCSAgIF9fZW50cnktPmRldiA9IHJpbmctPmRldi0+cHJpbWFyeS0+aW5kZXg7 Ci0JCQkgICBfX2VudHJ5LT5yaW5nID0gcmluZy0+aWQ7CisJCQkgICBfX2VudHJ5LT5kZXYgPSBl bmdpbmUtPmRldi0+cHJpbWFyeS0+aW5kZXg7CisJCQkgICBfX2VudHJ5LT5yaW5nID0gZW5naW5l LT5pZDsKIAkJCSAgIF9fZW50cnktPnNlcW5vID0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8o cmVxKTsKIAkJCSAgIF9fZW50cnktPmZsYWdzID0gZmxhZ3M7Ci0JCQkgICBpOTE1X3RyYWNlX2ly cV9nZXQocmluZywgcmVxKTsKKwkJCSAgIGk5MTVfdHJhY2VfaXJxX2dldChlbmdpbmUsIHJlcSk7 CiAJCQkgICApLAogCiAJICAgIFRQX3ByaW50aygiZGV2PSV1LCByaW5nPSV1LCBzZXFubz0ldSwg ZmxhZ3M9JXgiLApAQCAtNTExLDggKzUxMSw4IEBAIFRSQUNFX0VWRU5UKGk5MTVfZ2VtX3Jpbmdf Zmx1c2gsCiAJCQkgICAgICksCiAKIAkgICAgVFBfZmFzdF9hc3NpZ24oCi0JCQkgICBfX2VudHJ5 LT5kZXYgPSByZXEtPnJpbmctPmRldi0+cHJpbWFyeS0+aW5kZXg7Ci0JCQkgICBfX2VudHJ5LT5y aW5nID0gcmVxLT5yaW5nLT5pZDsKKwkJCSAgIF9fZW50cnktPmRldiA9IHJlcS0+ZW5naW5lLT5k ZXYtPnByaW1hcnktPmluZGV4OworCQkJICAgX19lbnRyeS0+cmluZyA9IHJlcS0+ZW5naW5lLT5p ZDsKIAkJCSAgIF9fZW50cnktPmludmFsaWRhdGUgPSBpbnZhbGlkYXRlOwogCQkJICAgX19lbnRy eS0+Zmx1c2ggPSBmbHVzaDsKIAkJCSAgICksCkBAIC01MzMsMTAgKzUzMywxMCBAQCBERUNMQVJF X0VWRU5UX0NMQVNTKGk5MTVfZ2VtX3JlcXVlc3QsCiAJCQkgICAgICksCiAKIAkgICAgVFBfZmFz dF9hc3NpZ24oCi0JCQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0KKwkJCSAgIHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9CiAJCQkJCQlpOTE1X2dlbV9yZXF1ZXN0X2dl dF9yaW5nKHJlcSk7Ci0JCQkgICBfX2VudHJ5LT5kZXYgPSByaW5nLT5kZXYtPnByaW1hcnktPmlu ZGV4OwotCQkJICAgX19lbnRyeS0+cmluZyA9IHJpbmctPmlkOworCQkJICAgX19lbnRyeS0+ZGV2 ID0gZW5naW5lLT5kZXYtPnByaW1hcnktPmluZGV4OworCQkJICAgX19lbnRyeS0+cmluZyA9IGVu Z2luZS0+aWQ7CiAJCQkgICBfX2VudHJ5LT5zZXFubyA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Nl cW5vKHJlcSk7CiAJCQkgICApLAogCkBAIC01NTAsOCArNTUwLDggQEAgREVGSU5FX0VWRU5UKGk5 MTVfZ2VtX3JlcXVlc3QsIGk5MTVfZ2VtX3JlcXVlc3RfYWRkLAogKTsKIAogVFJBQ0VfRVZFTlQo aTkxNV9nZW1fcmVxdWVzdF9ub3RpZnksCi0JICAgIFRQX1BST1RPKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpLAotCSAgICBUUF9BUkdTKHJpbmcpLAorCSAgICBUUF9QUk9UTyhzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpLAorCSAgICBUUF9BUkdTKGVuZ2luZSksCiAKIAkgICAg VFBfU1RSVUNUX19lbnRyeSgKIAkJCSAgICAgX19maWVsZCh1MzIsIGRldikKQEAgLTU2MCw5ICs1 NjAsOSBAQCBUUkFDRV9FVkVOVChpOTE1X2dlbV9yZXF1ZXN0X25vdGlmeSwKIAkJCSAgICAgKSwK IAogCSAgICBUUF9mYXN0X2Fzc2lnbigKLQkJCSAgIF9fZW50cnktPmRldiA9IHJpbmctPmRldi0+ cHJpbWFyeS0+aW5kZXg7Ci0JCQkgICBfX2VudHJ5LT5yaW5nID0gcmluZy0+aWQ7Ci0JCQkgICBf X2VudHJ5LT5zZXFubyA9IHJpbmctPmdldF9zZXFubyhyaW5nLCBmYWxzZSk7CisJCQkgICBfX2Vu dHJ5LT5kZXYgPSBlbmdpbmUtPmRldi0+cHJpbWFyeS0+aW5kZXg7CisJCQkgICBfX2VudHJ5LT5y aW5nID0gZW5naW5lLT5pZDsKKwkJCSAgIF9fZW50cnktPnNlcW5vID0gZW5naW5lLT5nZXRfc2Vx bm8oZW5naW5lLCBmYWxzZSk7CiAJCQkgICApLAogCiAJICAgIFRQX3ByaW50aygiZGV2PSV1LCBy aW5nPSV1LCBzZXFubz0ldSIsCkBAIC01OTcsMTMgKzU5NywxMyBAQCBUUkFDRV9FVkVOVChpOTE1 X2dlbV9yZXF1ZXN0X3dhaXRfYmVnaW4sCiAJICAgICAqIGxlc3MgZGVzaXJhYmxlLgogCSAgICAg Ki8KIAkgICAgVFBfZmFzdF9hc3NpZ24oCi0JCQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nID0KKwkJCSAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9CiAJCQkJCQlpOTE1 X2dlbV9yZXF1ZXN0X2dldF9yaW5nKHJlcSk7Ci0JCQkgICBfX2VudHJ5LT5kZXYgPSByaW5nLT5k ZXYtPnByaW1hcnktPmluZGV4OwotCQkJICAgX19lbnRyeS0+cmluZyA9IHJpbmctPmlkOworCQkJ ICAgX19lbnRyeS0+ZGV2ID0gZW5naW5lLT5kZXYtPnByaW1hcnktPmluZGV4OworCQkJICAgX19l bnRyeS0+cmluZyA9IGVuZ2luZS0+aWQ7CiAJCQkgICBfX2VudHJ5LT5zZXFubyA9IGk5MTVfZ2Vt X3JlcXVlc3RfZ2V0X3NlcW5vKHJlcSk7CiAJCQkgICBfX2VudHJ5LT5ibG9ja2luZyA9Ci0JCQkJ ICAgICBtdXRleF9pc19sb2NrZWQoJnJpbmctPmRldi0+c3RydWN0X211dGV4KTsKKwkJCQkgICAg IG11dGV4X2lzX2xvY2tlZCgmZW5naW5lLT5kZXYtPnN0cnVjdF9tdXRleCk7CiAJCQkgICApLAog CiAJICAgIFRQX3ByaW50aygiZGV2PSV1LCByaW5nPSV1LCBzZXFubz0ldSwgYmxvY2tpbmc9JXMi LApAQCAtNzc3LDkgKzc3Nyw5IEBAIERFRklORV9FVkVOVChpOTE1X2NvbnRleHQsIGk5MTVfY29u dGV4dF9mcmVlLAogICogY2FsbGVkIG9ubHkgaWYgZnVsbCBwcGd0dCBpcyBlbmFibGVkLgogICov CiBUUkFDRV9FVkVOVChzd2l0Y2hfbW0sCi0JVFBfUFJPVE8oc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywgc3RydWN0IGludGVsX2NvbnRleHQgKnRvKSwKKwlUUF9QUk9UTyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpbnRlbF9jb250ZXh0ICp0byksCiAKLQlUUF9B UkdTKHJpbmcsIHRvKSwKKwlUUF9BUkdTKGVuZ2luZSwgdG8pLAogCiAJVFBfU1RSVUNUX19lbnRy eSgKIAkJCV9fZmllbGQodTMyLCByaW5nKQpAQCAtNzg5LDEwICs3ODksMTAgQEAgVFJBQ0VfRVZF TlQoc3dpdGNoX21tLAogCSksCiAKIAlUUF9mYXN0X2Fzc2lnbigKLQkJCV9fZW50cnktPnJpbmcg PSByaW5nLT5pZDsKKwkJCV9fZW50cnktPnJpbmcgPSBlbmdpbmUtPmlkOwogCQkJX19lbnRyeS0+ dG8gPSB0bzsKIAkJCV9fZW50cnktPnZtID0gdG8tPnBwZ3R0PyAmdG8tPnBwZ3R0LT5iYXNlIDog TlVMTDsKLQkJCV9fZW50cnktPmRldiA9IHJpbmctPmRldi0+cHJpbWFyeS0+aW5kZXg7CisJCQlf X2VudHJ5LT5kZXYgPSBlbmdpbmUtPmRldi0+cHJpbWFyeS0+aW5kZXg7CiAJKSwKIAogCVRQX3By aW50aygiZGV2PSV1LCByaW5nPSV1LCBjdHg9JXAsIGN0eF92bT0lcCIsCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggNDA2MmMxZjQ2YzdkLi42NTZjZTlmYjg1MTAgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTEwOTc2LDcgKzEwOTc2LDcgQEAgc3Rh dGljIGludCBpbnRlbF9nZW4yX3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJ CQkgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCQkJIHVpbnQzMl90IGZsYWdz KQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmluZzsKKwlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJdTMyIGZsaXBfbWFzazsK IAlpbnQgcmV0OwpAQCAtMTEwMTEsNyArMTEwMTEsNyBAQCBzdGF0aWMgaW50IGludGVsX2dlbjNf cXVldWVfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSwKIAkJCQkgdWludDMyX3QgZmxhZ3MpCiB7Ci0Jc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKIAl1MzIgZmxpcF9tYXNrOwogCWludCByZXQ7CkBAIC0xMTA0 Myw3ICsxMTA0Myw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuNF9xdWV1ZV9mbGlwKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAog CQkJCSB1aW50MzJfdCBmbGFncykKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUg PSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdp bmU7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7 CiAJdWludDMyX3QgcGYsIHBpcGVzcmM7CkBAIC0xMTA4Miw3ICsxMTA4Miw3IEBAIHN0YXRpYyBp bnQgaW50ZWxfZ2VuNl9xdWV1ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJIHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQkJCSB1aW50MzJfdCBmbGFncykKIHsK LQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAq aW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJdWludDMyX3QgcGYsIHBpcGVzcmM7 CkBAIC0xMTExOCw3ICsxMTExOCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuN19xdWV1ZV9mbGlw KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLAogCQkJCSB1aW50MzJfdCBmbGFncykKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0g cmVxLT5lbmdpbmU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGNydGMpOwogCXVpbnQzMl90IHBsYW5lX2JpdCA9IDA7CiAJaW50IGxlbiwgcmV0OwpAQCAt MTE1NjcsMTggKzExNTY3LDE4IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19wYWdlX2ZsaXAoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCQl3b3JrLT5mbGlwX2NvdW50ID0gSTkxNV9SRUFEKFBJUEVf RkxJUENPVU5UX0c0WChwaXBlKSkgKyAxOwogCiAJaWYgKElTX1ZBTExFWVZJRVcoZGV2KSB8fCBJ U19DSEVSUllWSUVXKGRldikpIHsKLQkJZW5naW5lID0gJmRldl9wcml2LT5yaW5nW0JDU107CisJ CWVuZ2luZSA9ICZkZXZfcHJpdi0+ZW5naW5lW0JDU107CiAJCWlmIChvYmotPnRpbGluZ19tb2Rl ICE9IGludGVsX2ZiX29iaih3b3JrLT5vbGRfZmIpLT50aWxpbmdfbW9kZSkKIAkJCS8qIHZsdjog RElTUExBWV9GTElQIGZhaWxzIHRvIGNoYW5nZSB0aWxpbmcgKi8KIAkJCWVuZ2luZSA9IE5VTEw7 CiAJfSBlbHNlIGlmIChJU19JVllCUklER0UoZGV2KSB8fCBJU19IQVNXRUxMKGRldikpIHsKLQkJ ZW5naW5lID0gJmRldl9wcml2LT5yaW5nW0JDU107CisJCWVuZ2luZSA9ICZkZXZfcHJpdi0+ZW5n aW5lW0JDU107CiAJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA3KSB7CiAJCWVu Z2luZSA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Jpbmcob2JqLT5sYXN0X3dyaXRlX3JlcSk7CiAJ CWlmIChlbmdpbmUgPT0gTlVMTCB8fCBlbmdpbmUtPmlkICE9IFJDUykKLQkJCWVuZ2luZSA9ICZk ZXZfcHJpdi0+cmluZ1tCQ1NdOworCQkJZW5naW5lID0gJmRldl9wcml2LT5lbmdpbmVbQkNTXTsK IAl9IGVsc2UgewotCQllbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbUkNTXTsKKwkJZW5naW5lID0g JmRldl9wcml2LT5lbmdpbmVbUkNTXTsKIAl9CiAKIAltbWlvX2ZsaXAgPSB1c2VfbW1pb19mbGlw KGVuZ2luZSwgb2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMjU1MTRlOTE0Nzlh Li5iYmNjMzFmNGIxNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0zNjAsMTkgKzM2 MCwxOSBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfZWxzcF93cml0ZShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJxMCwKIAkJCQkgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycTEp CiB7CiAKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBycTAtPnJpbmc7CisJc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEwLT5lbmdpbmU7CiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGVuZ2luZS0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJdWludDY0X3QgZGVzY1syXTsKIAogCWlmIChycTEp IHsKLQkJZGVzY1sxXSA9IGludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcihycTEtPmN0eCwgcnEx LT5yaW5nKTsKKwkJZGVzY1sxXSA9IGludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcihycTEtPmN0 eCwgcnExLT5lbmdpbmUpOwogCQlycTEtPmVsc3Bfc3VibWl0dGVkKys7CiAJfSBlbHNlIHsKIAkJ ZGVzY1sxXSA9IDA7CiAJfQogCi0JZGVzY1swXSA9IGludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRv cihycTAtPmN0eCwgcnEwLT5yaW5nKTsKKwlkZXNjWzBdID0gaW50ZWxfbHJfY29udGV4dF9kZXNj cmlwdG9yKHJxMC0+Y3R4LCBycTAtPmVuZ2luZSk7CiAJcnEwLT5lbHNwX3N1Ym1pdHRlZCsrOwog CiAJLyogWW91IG11c3QgYWx3YXlzIHdyaXRlIGJvdGggZGVzY3JpcHRvcnMgaW4gdGhlIG9yZGVy IGJlbG93LiAqLwpAQCAtMzk4LDcgKzM5OCw3IEBAIGV4ZWNsaXN0c191cGRhdGVfY29udGV4dF9w ZHBzKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwgdTMyICpyZWdfc3RhdGUpCiAKIHN0YXRp YyB2b2lkIGV4ZWNsaXN0c191cGRhdGVfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJxKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJxLT5yaW5nOwor CXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJxLT5lbmdpbmU7CiAJc3RydWN0IGk5 MTVfaHdfcHBndHQgKnBwZ3R0ID0gcnEtPmN0eC0+cHBndHQ7CiAJdWludDMyX3QgKnJlZ19zdGF0 ZSA9IHJxLT5jdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5scmNfcmVnX3N0YXRlOwogCkBAIC02MTEs NyArNjExLDcgQEAgdm9pZCBpbnRlbF9scmNfaXJxX2hhbmRsZXIoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKQogCiBzdGF0aWMgdm9pZCBleGVjbGlzdHNfY29udGV4dF9xdWV1ZShzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCiB7Ci0Jc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lID0gcmVxdWVzdC0+cmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpj dXJzb3I7CiAJaW50IG51bV9lbGVtZW50cyA9IDA7CiAKQEAgLTY1MCw3ICs2NTAsNyBAQCBzdGF0 aWMgdm9pZCBleGVjbGlzdHNfY29udGV4dF9xdWV1ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcXVlc3QpCiAKIHN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2ludmFsaWRhdGVfYWxsX2Nh Y2hlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJdWludDMyX3QgZmx1c2hfZG9tYWluczsKIAlpbnQgcmV0 OwogCkBAIC02NjksNyArNjY5LDcgQEAgc3RhdGljIGludCBsb2dpY2FsX3JpbmdfaW52YWxpZGF0 ZV9hbGxfY2FjaGVzKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogc3RhdGljIGlu dCBleGVjbGlzdHNfbW92ZV90b19ncHUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEs CiAJCQkJIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMpCiB7Ci0JY29uc3QgdW5zaWduZWQgb3RoZXJf cmluZ3MgPSB+aW50ZWxfcmluZ19mbGFnKHJlcS0+cmluZyk7CisJY29uc3QgdW5zaWduZWQgb3Ro ZXJfcmluZ3MgPSB+aW50ZWxfcmluZ19mbGFnKHJlcS0+ZW5naW5lKTsKIAlzdHJ1Y3QgaTkxNV92 bWEgKnZtYTsKIAl1aW50MzJfdCBmbHVzaF9kb21haW5zID0gMDsKIAlib29sIGZsdXNoX2NoaXBz ZXQgPSBmYWxzZTsKQEAgLTY3OSw3ICs2NzksNyBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19tb3Zl X3RvX2dwdShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiA9IHZtYS0+b2JqOwogCiAJCWlmIChvYmotPmFjdGl2ZSAmIG90 aGVyX3JpbmdzKSB7Ci0JCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+cmlu ZywgJnJlcSk7CisJCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+ZW5naW5l LCAmcmVxKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJfQpAQCAtNzAzLDcgKzcw Myw3IEBAIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVzdF9leHRyYXMoc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0CiB7CiAJaW50IHJldCA9IDA7CiAKLQlyZXF1 ZXN0LT5yaW5nYnVmID0gcmVxdWVzdC0+Y3R4LT5lbmdpbmVbcmVxdWVzdC0+cmluZy0+aWRdLnJp bmdidWY7CisJcmVxdWVzdC0+cmluZ2J1ZiA9IHJlcXVlc3QtPmN0eC0+ZW5naW5lW3JlcXVlc3Qt PmVuZ2luZS0+aWRdLnJpbmdidWY7CiAKIAlpZiAoaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24p IHsKIAkJLyoKQEAgLTcxOSw3ICs3MTksNyBAQCBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9j X3JlcXVlc3RfZXh0cmFzKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdAogCX0K IAogCWlmIChyZXF1ZXN0LT5jdHggIT0gcmVxdWVzdC0+aTkxNS0+a2VybmVsX2NvbnRleHQpCi0J CXJldCA9IGludGVsX2xyX2NvbnRleHRfcGluKHJlcXVlc3QtPmN0eCwgcmVxdWVzdC0+cmluZyk7 CisJCXJldCA9IGludGVsX2xyX2NvbnRleHRfcGluKHJlcXVlc3QtPmN0eCwgcmVxdWVzdC0+ZW5n aW5lKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC03MjgsNyArNzI4LDcgQEAgc3RhdGljIGludCBs b2dpY2FsX3Jpbmdfd2FpdF9mb3Jfc3BhY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEsCiAJCQkJICAgICAgIGludCBieXRlcykKIHsKIAlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAq cmluZ2J1ZiA9IHJlcS0+cmluZ2J1ZjsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUg PSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdp bmU7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICp0YXJnZXQ7CiAJdW5zaWduZWQgc3Bh Y2U7CiAJaW50IHJldDsKQEAgLTc4MCw3ICs3ODAsNyBAQCBpbnRlbF9sb2dpY2FsX3JpbmdfYWR2 YW5jZV9hbmRfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIHsK IAlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHJlcXVlc3QtPnJpbmdidWY7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmVxdWVzdC0+aTkxNTsKLQlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXF1ZXN0LT5yaW5nOworCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcXVlc3QtPmVuZ2luZTsKIAogCWludGVsX2xvZ2ljYWxf cmluZ19hZHZhbmNlKHJpbmdidWYpOwogCXJlcXVlc3QtPnRhaWwgPSByaW5nYnVmLT50YWlsOwpA QCAtODk3LDcgKzg5Nyw3IEBAIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4oc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIGludCBudW1fZHdvcmRzKQogCWludCByZXQ7CiAKIAlX QVJOX09OKHJlcSA9PSBOVUxMKTsKLQlkZXZfcHJpdiA9IHJlcS0+cmluZy0+ZGV2LT5kZXZfcHJp dmF0ZTsKKwlkZXZfcHJpdiA9IHJlcS0+ZW5naW5lLT5kZXYtPmRldl9wcml2YXRlOwogCiAJcmV0 ID0gaTkxNV9nZW1fY2hlY2tfd2VkZ2UoJmRldl9wcml2LT5ncHVfZXJyb3IsCiAJCQkJICAgZGV2 X3ByaXYtPm1tLmludGVycnVwdGlibGUpOwpAQCAtOTQ5LDcgKzk0OSw3IEBAIGludCBpbnRlbF9l eGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1z LAogCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMpCiB7CiAJc3RydWN0IGRybV9kZXZp Y2UgICAgICAgKmRldiA9IHBhcmFtcy0+ZGV2OwotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSA9IHBhcmFtcy0+cmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBw YXJhbXMtPmVuZ2luZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gcGFyYW1z LT5jdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5yaW5nYnVmOwogCXU2NCBleGVjX3N0YXJ0OwpAQCAt OTYzLDcgKzk2Myw3IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgaTkx NV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCWNhc2UgSTkxNV9FWEVDX0NPTlNUQU5UU19S RUxfR0VORVJBTDoKIAljYXNlIEk5MTVfRVhFQ19DT05TVEFOVFNfQUJTT0xVVEU6CiAJY2FzZSBJ OTE1X0VYRUNfQ09OU1RBTlRTX1JFTF9TVVJGQUNFOgotCQlpZiAoaW5zdHBfbW9kZSAhPSAwICYm IGVuZ2luZSAhPSAmZGV2X3ByaXYtPnJpbmdbUkNTXSkgeworCQlpZiAoaW5zdHBfbW9kZSAhPSAw ICYmIGVuZ2luZSAhPSAmZGV2X3ByaXYtPmVuZ2luZVtSQ1NdKSB7CiAJCQlEUk1fREVCVUcoIm5v bi0wIHJlbCBjb25zdGFudHMgbW9kZSBvbiBub24tUkNTXG4iKTsKIAkJCXJldHVybiAtRUlOVkFM OwogCQl9CkBAIC05OTIsNyArOTkyLDcgQEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9u KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJaWYgKHJldCkKIAkJcmV0 dXJuIHJldDsKIAotCWlmIChlbmdpbmUgPT0gJmRldl9wcml2LT5yaW5nW1JDU10gJiYKKwlpZiAo ZW5naW5lID09ICZkZXZfcHJpdi0+ZW5naW5lW1JDU10gJiYKIAkgICAgaW5zdHBfbW9kZSAhPSBk ZXZfcHJpdi0+cmVsYXRpdmVfY29uc3RhbnRzX21vZGUpIHsKIAkJcmV0ID0gaW50ZWxfbG9naWNh bF9yaW5nX2JlZ2luKHBhcmFtcy0+cmVxdWVzdCwgNCk7CiAJCWlmIChyZXQpCkBAIC0xMDczLDcg KzEwNzMsNyBAQCB2b2lkIGludGVsX2xvZ2ljYWxfcmluZ19zdG9wKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKIAogaW50IGxvZ2ljYWxfcmluZ19mbHVzaF9hbGxfY2FjaGVzKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSA9IHJlcS0+cmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBy ZXEtPmVuZ2luZTsKIAlpbnQgcmV0OwogCiAJaWYgKCFlbmdpbmUtPmdwdV9jYWNoZXNfZGlydHkp CkBAIC0xMTc0LDcgKzExNzQsNyBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eCwKIHN0YXRpYyBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX3dvcmth cm91bmRzX2VtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7CiAJaW50IHJl dCwgaTsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJc3RydWN0IGludGVs X3JpbmdidWZmZXIgKnJpbmdidWYgPSByZXEtPnJpbmdidWY7CiAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGVuZ2luZS0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7CkBAIC0xNjQ3LDcgKzE2NDcsNyBAQCBzdGF0aWMgaW50IGdlbjlf aW5pdF9yZW5kZXJfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiBzdGF0aWMg aW50IGludGVsX2xvZ2ljYWxfcmluZ19lbWl0X3BkcHMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEpCiB7CiAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0gcmVxLT5jdHgtPnBw Z3R0OwotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmluZzsKKwlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlzdHJ1Y3QgaW50ZWxf cmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHJlcS0+cmluZ2J1ZjsKIAljb25zdCBpbnQgbnVtX2xyaV9j bWRzID0gR0VOOF9MRUdBQ1lfUERQRVMgKiAyOwogCWludCBpLCByZXQ7CkBAIC0xNjg4LDcgKzE2 ODgsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9iYl9zdGFydChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKIAkgKiBub3QgaWRsZSkuIFBNTDQgaXMgYWxsb2NhdGVkIGR1cmluZyBw cGd0dCBpbml0IHNvIHRoaXMgaXMKIAkgKiBub3QgbmVlZGVkIGluIDQ4LWJpdC4qLwogCWlmIChy ZXEtPmN0eC0+cHBndHQgJiYKLQkgICAgKGludGVsX3JpbmdfZmxhZyhyZXEtPnJpbmcpICYgcmVx LT5jdHgtPnBwZ3R0LT5wZF9kaXJ0eV9yaW5ncykpIHsKKwkgICAgKGludGVsX3JpbmdfZmxhZyhy ZXEtPmVuZ2luZSkgJiByZXEtPmN0eC0+cHBndHQtPnBkX2RpcnR5X3JpbmdzKSkgewogCQlpZiAo IVVTRVNfRlVMTF80OEJJVF9QUEdUVChyZXEtPmk5MTUpICYmCiAJCSAgICAhaW50ZWxfdmdwdV9h Y3RpdmUocmVxLT5pOTE1LT5kZXYpKSB7CiAJCQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfZW1p dF9wZHBzKHJlcSk7CkBAIC0xNjk2LDcgKzE2OTYsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9i Yl9zdGFydChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCQlyZXR1cm4gcmV0 OwogCQl9CiAKLQkJcmVxLT5jdHgtPnBwZ3R0LT5wZF9kaXJ0eV9yaW5ncyAmPSB+aW50ZWxfcmlu Z19mbGFnKHJlcS0+cmluZyk7CisJCXJlcS0+Y3R4LT5wcGd0dC0+cGRfZGlydHlfcmluZ3MgJj0g fmludGVsX3JpbmdfZmxhZyhyZXEtPmVuZ2luZSk7CiAJfQogCiAJcmV0ID0gaW50ZWxfbG9naWNh bF9yaW5nX2JlZ2luKHJlcSwgNCk7CkBAIC0xNzU1LDcgKzE3NTUsNyBAQCBzdGF0aWMgaW50IGdl bjhfZW1pdF9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsCiAJCQkg ICB1MzIgdW51c2VkKQogewogCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gcmVx dWVzdC0+cmluZ2J1ZjsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByaW5nYnVm LT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJpbmdidWYtPmVuZ2lu ZTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5naW5lLT5kZXY7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAl1aW50MzJfdCBjbWQ7 CkBAIC0xNzc2LDcgKzE3NzYsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9mbHVzaChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsCiAKIAlpZiAoaW52YWxpZGF0ZV9kb21haW5z ICYgSTkxNV9HRU1fR1BVX0RPTUFJTlMpIHsKIAkJY21kIHw9IE1JX0lOVkFMSURBVEVfVExCOwot CQlpZiAoZW5naW5lID09ICZkZXZfcHJpdi0+cmluZ1tWQ1NdKQorCQlpZiAoZW5naW5lID09ICZk ZXZfcHJpdi0+ZW5naW5lW1ZDU10pCiAJCQljbWQgfD0gTUlfSU5WQUxJREFURV9CU0Q7CiAJfQog CkBAIC0xNzk2LDcgKzE3OTYsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9mbHVzaF9yZW5kZXIo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAogCQkJCSAgdTMyIGZsdXNoX2Rv bWFpbnMpCiB7CiAJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSByZXF1ZXN0LT5y aW5nYnVmOwotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJpbmdidWYtPnJpbmc7 CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmluZ2J1Zi0+ZW5naW5lOwogCXUz MiBzY3JhdGNoX2FkZHIgPSBlbmdpbmUtPnNjcmF0Y2guZ3R0X29mZnNldCArIDIgKiBDQUNIRUxJ TkVfQllURVM7CiAJYm9vbCB2Zl9mbHVzaF93YSA9IGZhbHNlOwogCXUzMiBmbGFncyA9IDA7CkBA IC0xOTE5LDcgKzE5MTksNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9yZXF1ZXN0KHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChy aW5nYnVmLAogCQkJCShNSV9GTFVTSF9EVyArIDEpIHwgTUlfRkxVU0hfRFdfT1BfU1RPUkVEVyk7 CiAJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwKLQkJCQlod3Nfc2Vxbm9fYWRkcmVz cyhyZXF1ZXN0LT5yaW5nKSB8CisJCQkJaHdzX3NlcW5vX2FkZHJlc3MocmVxdWVzdC0+ZW5naW5l KSB8CiAJCQkJTUlfRkxVU0hfRFdfVVNFX0dUVCk7CiAJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQo cmluZ2J1ZiwgMCk7CiAJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgaTkxNV9nZW1f cmVxdWVzdF9nZXRfc2Vxbm8ocmVxdWVzdCkpOwpAQCAtMTk0Niw3ICsxOTQ2LDcgQEAgc3RhdGlj IGludCBnZW44X2VtaXRfcmVxdWVzdF9yZW5kZXIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXF1ZXN0KQogCQkJCShQSVBFX0NPTlRST0xfR0xPQkFMX0dUVF9JVkIgfAogCQkJCSBQSVBF X0NPTlRST0xfQ1NfU1RBTEwgfAogCQkJCSBQSVBFX0NPTlRST0xfUVdfV1JJVEUpKTsKLQlpbnRl bF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBod3Nfc2Vxbm9fYWRkcmVzcyhyZXF1ZXN0LT5y aW5nKSk7CisJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgaHdzX3NlcW5vX2FkZHJl c3MocmVxdWVzdC0+ZW5naW5lKSk7CiAJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1Ziwg MCk7CiAJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgaTkxNV9nZW1fcmVxdWVzdF9n ZXRfc2Vxbm8ocmVxdWVzdCkpOwogCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1J X1VTRVJfSU5URVJSVVBUKTsKQEAgLTE5NTgsMTkgKzE5NTgsMTkgQEAgc3RhdGljIGludCBpbnRl bF9scl9jb250ZXh0X3JlbmRlcl9zdGF0ZV9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxKQogCXN0cnVjdCByZW5kZXJfc3RhdGUgc287CiAJaW50IHJldDsKIAotCXJldCA9IGk5 MTVfZ2VtX3JlbmRlcl9zdGF0ZV9wcmVwYXJlKHJlcS0+cmluZywgJnNvKTsKKwlyZXQgPSBpOTE1 X2dlbV9yZW5kZXJfc3RhdGVfcHJlcGFyZShyZXEtPmVuZ2luZSwgJnNvKTsKIAlpZiAocmV0KQog CQlyZXR1cm4gcmV0OwogCiAJaWYgKHNvLnJvZGF0YSA9PSBOVUxMKQogCQlyZXR1cm4gMDsKIAot CXJldCA9IHJlcS0+cmluZy0+ZW1pdF9iYl9zdGFydChyZXEsIHNvLmdndHRfb2Zmc2V0LAorCXJl dCA9IHJlcS0+ZW5naW5lLT5lbWl0X2JiX3N0YXJ0KHJlcSwgc28uZ2d0dF9vZmZzZXQsCiAJCQkJ ICAgICAgIEk5MTVfRElTUEFUQ0hfU0VDVVJFKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIAot CXJldCA9IHJlcS0+cmluZy0+ZW1pdF9iYl9zdGFydChyZXEsCisJcmV0ID0gcmVxLT5lbmdpbmUt PmVtaXRfYmJfc3RhcnQocmVxLAogCQkJCSAgICAgICAoc28uZ2d0dF9vZmZzZXQgKyBzby5hdXhf YmF0Y2hfb2Zmc2V0KSwKIAkJCQkgICAgICAgSTkxNV9ESVNQQVRDSF9TRUNVUkUpOwogCWlmIChy ZXQpCkBAIC0yMTE3LDcgKzIxMTcsNyBAQCBlcnJvcjoKIHN0YXRpYyBpbnQgbG9naWNhbF9yZW5k ZXJfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbUkNTXTsKKwlzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtSQ1NdOwogCWludCByZXQ7CiAKIAll bmdpbmUtPm5hbWUgPSAicmVuZGVyIHJpbmciOwpAQCAtMjE3MCw3ICsyMTcwLDcgQEAgc3RhdGlj IGludCBsb2dpY2FsX3JlbmRlcl9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHN0 YXRpYyBpbnQgbG9naWNhbF9ic2RfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK LQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbVkNTXTsK KwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtWQ1Nd OwogCiAJZW5naW5lLT5uYW1lID0gImJzZCByaW5nIjsKIAllbmdpbmUtPmlkID0gVkNTOwpAQCAt MjE4Nyw3ICsyMTg3LDcgQEAgc3RhdGljIGludCBsb2dpY2FsX2JzZF9yaW5nX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIHN0YXRpYyBpbnQgbG9naWNhbF9ic2QyX3JpbmdfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0g JmRldl9wcml2LT5yaW5nW1ZDUzJdOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9 ICZkZXZfcHJpdi0+ZW5naW5lW1ZDUzJdOwogCiAJZW5naW5lLT5uYW1lID0gImJzZDIgcmluZyI7 CiAJZW5naW5lLT5pZCA9IFZDUzI7CkBAIC0yMjA0LDcgKzIyMDQsNyBAQCBzdGF0aWMgaW50IGxv Z2ljYWxfYnNkMl9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHN0YXRpYyBpbnQg bG9naWNhbF9ibHRfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbQkNTXTsKKwlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtCQ1NdOwogCiAJZW5n aW5lLT5uYW1lID0gImJsaXR0ZXIgcmluZyI7CiAJZW5naW5lLT5pZCA9IEJDUzsKQEAgLTIyMjEs NyArMjIyMSw3IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9ibHRfcmluZ19pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiBzdGF0aWMgaW50IGxvZ2ljYWxfdmVib3hfcmluZ19pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2 X3ByaXYtPnJpbmdbVkVDU107CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gJmRl dl9wcml2LT5lbmdpbmVbVkVDU107CiAKIAllbmdpbmUtPm5hbWUgPSAidmlkZW8gZW5oYW5jZW1l bnQgcmluZyI7CiAJZW5naW5lLT5pZCA9IFZFQ1M7CkBAIC0yMjgxLDEzICsyMjgxLDEzIEBAIGlu dCBpbnRlbF9sb2dpY2FsX3JpbmdzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlyZXR1 cm4gMDsKIAogY2xlYW51cF92ZWJveF9yaW5nOgotCWludGVsX2xvZ2ljYWxfcmluZ19jbGVhbnVw KCZkZXZfcHJpdi0+cmluZ1tWRUNTXSk7CisJaW50ZWxfbG9naWNhbF9yaW5nX2NsZWFudXAoJmRl dl9wcml2LT5lbmdpbmVbVkVDU10pOwogY2xlYW51cF9ibHRfcmluZzoKLQlpbnRlbF9sb2dpY2Fs X3JpbmdfY2xlYW51cCgmZGV2X3ByaXYtPnJpbmdbQkNTXSk7CisJaW50ZWxfbG9naWNhbF9yaW5n X2NsZWFudXAoJmRldl9wcml2LT5lbmdpbmVbQkNTXSk7CiBjbGVhbnVwX2JzZF9yaW5nOgotCWlu dGVsX2xvZ2ljYWxfcmluZ19jbGVhbnVwKCZkZXZfcHJpdi0+cmluZ1tWQ1NdKTsKKwlpbnRlbF9s b2dpY2FsX3JpbmdfY2xlYW51cCgmZGV2X3ByaXYtPmVuZ2luZVtWQ1NdKTsKIGNsZWFudXBfcmVu ZGVyX3Jpbmc6Ci0JaW50ZWxfbG9naWNhbF9yaW5nX2NsZWFudXAoJmRldl9wcml2LT5yaW5nW1JD U10pOworCWludGVsX2xvZ2ljYWxfcmluZ19jbGVhbnVwKCZkZXZfcHJpdi0+ZW5naW5lW1JDU10p OwogCiAJcmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX21vY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYwppbmRleCBkNTU5 MjU5ODdlYmYuLjJjODk1NjM3YWI1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbW9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYwpAQCAt MzIyLDcgKzMyMiw3IEBAIGludCBpbnRlbF9yY3NfY29udGV4dF9pbml0X21vY3Moc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJc3RydWN0IGRybV9pOTE1X21vY3NfdGFibGUgdDsK IAlpbnQgcmV0OwogCi0JaWYgKGdldF9tb2NzX3NldHRpbmdzKHJlcS0+cmluZy0+ZGV2LCAmdCkp IHsKKwlpZiAoZ2V0X21vY3Nfc2V0dGluZ3MocmVxLT5lbmdpbmUtPmRldiwgJnQpKSB7CiAJCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJlcS0+aTkxNTsKIAkJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lOwogCQllbnVtIGludGVsX3JpbmdfaWQgcmluZ19pZDsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwppbmRleCAxM2IyNzYzMjYzNmUuLjEzZTIyZjUy NjY2YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwpAQCAtMjMzLDcgKzIzMyw3 IEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9vbihzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3Zl cmxheSkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gb3ZlcmxheS0+ZGV2OwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gJmRldl9wcml2LT5yaW5nW1JDU107CisJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gJmRldl9wcml2LT5lbmdpbmVbUkNTXTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKIAlpbnQgcmV0OwogCkBAIC0yNjcsNyArMjY3 LDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2NvbnRpbnVlKHN0cnVjdCBpbnRlbF9vdmVy bGF5ICpvdmVybGF5LAogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvdmVybGF5LT5kZXY7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK LQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbUkNTXTsK KwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtSQ1Nd OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwogCXUzMiBmbGlwX2FkZHIgPSBv dmVybGF5LT5mbGlwX2FkZHI7CiAJdTMyIHRtcDsKQEAgLTMzNiw3ICszMzYsNyBAQCBzdGF0aWMg aW50IGludGVsX292ZXJsYXlfb2ZmKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogewog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvdmVybGF5LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbUkNTXTsKKwlzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtSQ1NdOwogCXN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxOwogCXUzMiBmbGlwX2FkZHIgPSBvdmVybGF5LT5mbGlwX2FkZHI7 CiAJaW50IHJldDsKQEAgLTQwOSw3ICs0MDksNyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlf cmVsZWFzZV9vbGRfdmlkKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogewogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBvdmVybGF5LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbUkNTXTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtSQ1NdOwogCWludCByZXQ7CiAKIAlXQVJOX09O KCFtdXRleF9pc19sb2NrZWQoJmRldi0+c3RydWN0X211dGV4KSk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cG0uYwppbmRleCBjNTRhN2RmN2MyYzkuLmU1MWMyODQ4NzY5NiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jCkBAIC03MzY1LDcgKzczNjUsNyBAQCBzdGF0aWMgdm9pZCBfX2ludGVsX3Jwc19ib29z dF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSA9IGJvb3N0LT5yZXE7CiAKIAlpZiAoIWk5MTVfZ2VtX3JlcXVlc3RfY29tcGxl dGVkKHJlcSwgdHJ1ZSkpCi0JCWdlbjZfcnBzX2Jvb3N0KHRvX2k5MTUocmVxLT5yaW5nLT5kZXYp LCBOVUxMLAorCQlnZW42X3Jwc19ib29zdCh0b19pOTE1KHJlcS0+ZW5naW5lLT5kZXYpLCBOVUxM LAogCQkJICAgICAgIHJlcS0+ZW1pdHRlZF9qaWZmaWVzKTsKIAogCWk5MTVfZ2VtX3JlcXVlc3Rf dW5yZWZlcmVuY2VfX3VubG9ja2VkKHJlcSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmMKaW5kZXggNTMyMzc2MTZjZTE5Li43MDc1YjkzYThmYzkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTc5LDcgKzc5LDcgQEAgZ2VuMl9yZW5kZXJf cmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJICAgICAgIHUz MglpbnZhbGlkYXRlX2RvbWFpbnMsCiAJCSAgICAgICB1MzIJZmx1c2hfZG9tYWlucykKIHsKLQlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJdTMyIGNtZDsKIAlpbnQgcmV0Owog CkBAIC0xMDYsNyArMTA2LDcgQEAgZ2VuNF9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJICAgICAgIHUzMglpbnZhbGlkYXRlX2RvbWFpbnMsCiAJ CSAgICAgICB1MzIJZmx1c2hfZG9tYWlucykKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVx LT5lbmdpbmU7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuZ2luZS0+ZGV2OwogCXUzMiBj bWQ7CiAJaW50IHJldDsKQEAgLTIwMCw3ICsyMDAsNyBAQCBnZW40X3JlbmRlcl9yaW5nX2ZsdXNo KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogc3RhdGljIGludAogaW50ZWxfZW1p dF9wb3N0X3N5bmNfbm9uemVyb19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJdTMyIHNjcmF0Y2hf YWRkciA9IGVuZ2luZS0+c2NyYXRjaC5ndHRfb2Zmc2V0ICsgMiAqIENBQ0hFTElORV9CWVRFUzsK IAlpbnQgcmV0OwogCkBAIC0yMzYsNyArMjM2LDcgQEAgc3RhdGljIGludAogZ2VuNl9yZW5kZXJf cmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJICAgICAgIHUz MiBpbnZhbGlkYXRlX2RvbWFpbnMsIHUzMiBmbHVzaF9kb21haW5zKQogewotCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAl1MzIgZmxhZ3MgPSAwOwogCXUzMiBzY3JhdGNoX2Fk ZHIgPSBlbmdpbmUtPnNjcmF0Y2guZ3R0X29mZnNldCArIDIgKiBDQUNIRUxJTkVfQllURVM7CiAJ aW50IHJldDsKQEAgLTI4OCw3ICsyODgsNyBAQCBnZW42X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogc3RhdGljIGludAogZ2VuN19yZW5kZXJfcmlu Z19jc19zdGFsbF93YShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJaW50IHJldDsKIAogCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmVxLCA0KTsKQEAgLTMwOSw3ICszMDksNyBAQCBzdGF0aWMgaW50CiBnZW43 X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQkg ICAgICAgdTMyIGludmFsaWRhdGVfZG9tYWlucywgdTMyIGZsdXNoX2RvbWFpbnMpCiB7Ci0Jc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCXUzMiBmbGFncyA9IDA7CiAJdTMyIHNj cmF0Y2hfYWRkciA9IGVuZ2luZS0+c2NyYXRjaC5ndHRfb2Zmc2V0ICsgMiAqIENBQ0hFTElORV9C WVRFUzsKIAlpbnQgcmV0OwpAQCAtMzczLDcgKzM3Myw3IEBAIHN0YXRpYyBpbnQKIGdlbjhfZW1p dF9waXBlX2NvbnRyb2woc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCSAgICAg ICB1MzIgZmxhZ3MsIHUzMiBzY3JhdGNoX2FkZHIpCiB7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9 IHJlcS0+ZW5naW5lOwogCWludCByZXQ7CiAKIAlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwg Nik7CkBAIC0zOTYsNyArMzk2LDcgQEAgZ2VuOF9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJICAgICAgIHUzMiBpbnZhbGlkYXRlX2RvbWFpbnMs IHUzMiBmbHVzaF9kb21haW5zKQogewogCXUzMiBmbGFncyA9IDA7Ci0JdTMyIHNjcmF0Y2hfYWRk ciA9IHJlcS0+cmluZy0+c2NyYXRjaC5ndHRfb2Zmc2V0ICsgMiAqIENBQ0hFTElORV9CWVRFUzsK Kwl1MzIgc2NyYXRjaF9hZGRyID0gcmVxLT5lbmdpbmUtPnNjcmF0Y2guZ3R0X29mZnNldCArIDIg KiBDQUNIRUxJTkVfQllURVM7CiAJaW50IHJldDsKIAogCWZsYWdzIHw9IFBJUEVfQ09OVFJPTF9D U19TVEFMTDsKQEAgLTcwNCw3ICs3MDQsNyBAQCBlcnI6CiBzdGF0aWMgaW50IGludGVsX3Jpbmdf d29ya2Fyb3VuZHNfZW1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKIAlp bnQgcmV0LCBpOwotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmluZzsK KwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gZW5naW5lLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaTkxNV93b3JrYXJvdW5kcyAq dyA9ICZkZXZfcHJpdi0+d29ya2Fyb3VuZHM7CkBAIC0xMjY5LDcgKzEyNjksNyBAQCBzdGF0aWMg aW50IGdlbjhfcmNzX3NpZ25hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnNpZ25hbGxl cl9yZXEsCiAJCQkgICB1bnNpZ25lZCBpbnQgbnVtX2R3b3JkcykKIHsKICNkZWZpbmUgTUJPWF9V UERBVEVfRFdPUkRTIDgKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpzaWduYWxsZXIgPSBzaWdu YWxsZXJfcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnNpZ25hbGxlciA9IHNp Z25hbGxlcl9yZXEtPmVuZ2luZTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gc2lnbmFsbGVy LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICp3YWl0ZXI7CkBAIC0xMzEwLDcgKzEzMTAs NyBAQCBzdGF0aWMgaW50IGdlbjhfeGNzX3NpZ25hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnNpZ25hbGxlcl9yZXEsCiAJCQkgICB1bnNpZ25lZCBpbnQgbnVtX2R3b3JkcykKIHsKICNk ZWZpbmUgTUJPWF9VUERBVEVfRFdPUkRTIDYKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpzaWdu YWxsZXIgPSBzaWduYWxsZXJfcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnNp Z25hbGxlciA9IHNpZ25hbGxlcl9yZXEtPmVuZ2luZTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gc2lnbmFsbGVyLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICp3YWl0ZXI7CkBAIC0x MzQ4LDcgKzEzNDgsNyBAQCBzdGF0aWMgaW50IGdlbjhfeGNzX3NpZ25hbChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnNpZ25hbGxlcl9yZXEsCiBzdGF0aWMgaW50IGdlbjZfc2lnbmFsKHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqc2lnbmFsbGVyX3JlcSwKIAkJICAgICAgIHVuc2ln bmVkIGludCBudW1fZHdvcmRzKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnNpZ25hbGxl ciA9IHNpZ25hbGxlcl9yZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqc2lnbmFs bGVyID0gc2lnbmFsbGVyX3JlcS0+ZW5naW5lOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBz aWduYWxsZXItPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnVzZWxlc3M7CkBAIC0xMzkz LDcgKzEzOTMsNyBAQCBzdGF0aWMgaW50IGdlbjZfc2lnbmFsKHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqc2lnbmFsbGVyX3JlcSwKIHN0YXRpYyBpbnQKIGdlbjZfYWRkX3JlcXVlc3Qoc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9 IHJlcS0+ZW5naW5lOwogCWludCByZXQ7CiAKIAlpZiAoZW5naW5lLT5zZW1hcGhvcmUuc2lnbmFs KQpAQCAtMTQzNCw3ICsxNDM0LDcgQEAgZ2VuOF9yaW5nX3N5bmMoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICp3YWl0ZXJfcmVxLAogCSAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpz aWduYWxsZXIsCiAJICAgICAgIHUzMiBzZXFubykKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICp3YWl0ZXIgPSB3YWl0ZXJfcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKndh aXRlciA9IHdhaXRlcl9yZXEtPmVuZ2luZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB3YWl0ZXItPmRldi0+ZGV2X3ByaXZhdGU7CiAJaW50IHJldDsKIApAQCAtMTQ2MCw3 ICsxNDYwLDcgQEAgZ2VuNl9yaW5nX3N5bmMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICp3 YWl0ZXJfcmVxLAogCSAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpzaWduYWxsZXIsCiAJ ICAgICAgIHUzMiBzZXFubykKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICp3YWl0ZXIgPSB3 YWl0ZXJfcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKndhaXRlciA9IHdhaXRl cl9yZXEtPmVuZ2luZTsKIAl1MzIgZHcxID0gTUlfU0VNQVBIT1JFX01CT1ggfAogCQkgIE1JX1NF TUFQSE9SRV9DT01QQVJFIHwKIAkJICBNSV9TRU1BUEhPUkVfUkVHSVNURVI7CkBAIC0xNTA4LDcg KzE1MDgsNyBAQCBkbyB7CQkJCQkJCQkJXAogc3RhdGljIGludAogcGNfcmVuZGVyX2FkZF9yZXF1 ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogewotCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUgPSByZXEtPmVuZ2luZTsKIAl1MzIgc2NyYXRjaF9hZGRyID0gZW5naW5lLT5zY3JhdGNo Lmd0dF9vZmZzZXQgKyAyICogQ0FDSEVMSU5FX0JZVEVTOwogCWludCByZXQ7CiAKQEAgLTE3MDYs NyArMTcwNiw3IEBAIGJzZF9yaW5nX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxLAogCSAgICAgICB1MzIgICAgIGludmFsaWRhdGVfZG9tYWlucywKIAkgICAgICAgdTMyICAg ICBmbHVzaF9kb21haW5zKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJl cS0+cmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsK IAlpbnQgcmV0OwogCiAJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDIpOwpAQCAtMTcyMiw3 ICsxNzIyLDcgQEAgYnNkX3JpbmdfZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEsCiBzdGF0aWMgaW50CiBpOXh4X2FkZF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmlu ZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlpbnQg cmV0OwogCiAJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDQpOwpAQCAtMTg2OCw3ICsxODY4 LDcgQEAgaTk2NV9kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLAogCQkJIHU2NCBvZmZzZXQsIHUzMiBsZW5ndGgsCiAJCQkgdW5zaWduZWQgZGlzcGF0 Y2hfZmxhZ3MpCiB7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5n OworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCWludCBy ZXQ7CiAKIAlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgMik7CkBAIC0xODk1LDcgKzE4OTUs NyBAQCBpODMwX2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEsCiAJCQkgdTY0IG9mZnNldCwgdTMyIGxlbiwKIAkJCSB1bnNpZ25lZCBkaXNwYXRjaF9m bGFncykKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPnJpbmc7CisJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJdTMyIGNzX29m ZnNldCA9IGVuZ2luZS0+c2NyYXRjaC5ndHRfb2Zmc2V0OwogCWludCByZXQ7CiAKQEAgLTE5NTcs NyArMTk1Nyw3IEBAIGk5MTVfZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKIAkJCSB1NjQgb2Zmc2V0LCB1MzIgbGVuLAogCQkJIHVuc2lnbmVkIGRp c3BhdGNoX2ZsYWdzKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ cmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlp bnQgcmV0OwogCiAJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDIpOwpAQCAtMjE4Nyw3ICsy MTg3LDcgQEAgaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwgaW50IHNpemUpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCX0K IAotCXJpbmctPnJpbmcgPSBlbmdpbmU7CisJcmluZy0+ZW5naW5lID0gZW5naW5lOwogCWxpc3Rf YWRkKCZyaW5nLT5saW5rLCAmZW5naW5lLT5idWZmZXJzKTsKIAogCXJpbmctPnNpemUgPSBzaXpl OwpAQCAtMjM3Nyw3ICsyMzc3LDcgQEAgaW50IGludGVsX3JpbmdfaWRsZShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpCiAKIGludCBpbnRlbF9yaW5nX2FsbG9jX3JlcXVlc3RfZXh0cmFz KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIHsKLQlyZXF1ZXN0LT5yaW5n YnVmID0gcmVxdWVzdC0+cmluZy0+YnVmZmVyOworCXJlcXVlc3QtPnJpbmdidWYgPSByZXF1ZXN0 LT5lbmdpbmUtPmJ1ZmZlcjsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjQ5OCw3ICsyNDk4LDcgQEAg aW50IGludGVsX3JpbmdfYmVnaW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJ aW50IHJldDsKIAogCVdBUk5fT04ocmVxID09IE5VTEwpOwotCWVuZ2luZSA9IHJlcS0+cmluZzsK KwllbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlkZXZfcHJpdiA9IGVuZ2luZS0+ZGV2LT5kZXZfcHJp dmF0ZTsKIAogCXJldCA9IGk5MTVfZ2VtX2NoZWNrX3dlZGdlKCZkZXZfcHJpdi0+Z3B1X2Vycm9y LApAQCAtMjUxNyw3ICsyNTE3LDcgQEAgaW50IGludGVsX3JpbmdfYmVnaW4oc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAvKiBBbGlnbiB0aGUgcmluZyB0YWlsIHRvIGEgY2FjaGVs aW5lIGJvdW5kYXJ5ICovCiBpbnQgaW50ZWxfcmluZ19jYWNoZWxpbmVfYWxpZ24oc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ ZW5naW5lOwogCWludCBudW1fZHdvcmRzID0gKGVuZ2luZS0+YnVmZmVyLT50YWlsICYgKENBQ0hF TElORV9CWVRFUyAtIDEpKSAvIHNpemVvZih1aW50MzJfdCk7CiAJaW50IHJldDsKIApAQCAtMjU4 OSw3ICsyNTg5LDcgQEAgc3RhdGljIHZvaWQgZ2VuNl9ic2RfcmluZ193cml0ZV90YWlsKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIHN0YXRpYyBpbnQgZ2VuNl9ic2RfcmluZ19mbHVz aChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCSAgICAgICB1MzIgaW52YWxp ZGF0ZSwgdTMyIGZsdXNoKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJl cS0+cmluZzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsK IAl1aW50MzJfdCBjbWQ7CiAJaW50IHJldDsKIApAQCAtMjYzNiw3ICsyNjM2LDcgQEAgZ2VuOF9y aW5nX2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEs CiAJCQkgICAgICB1NjQgb2Zmc2V0LCB1MzIgbGVuLAogCQkJICAgICAgdW5zaWduZWQgZGlzcGF0 Y2hfZmxhZ3MpCiB7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5n OworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCWJvb2wg cHBndHQgPSBVU0VTX1BQR1RUKGVuZ2luZS0+ZGV2KSAmJgogCQkJIShkaXNwYXRjaF9mbGFncyAm IEk5MTVfRElTUEFUQ0hfU0VDVVJFKTsKIAlpbnQgcmV0OwpAQCAtMjY2Miw3ICsyNjYyLDcgQEAg aHN3X3JpbmdfZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcSwKIAkJCSAgICAgdTY0IG9mZnNldCwgdTMyIGxlbiwKIAkJCSAgICAgdW5zaWduZWQgZGlz cGF0Y2hfZmxhZ3MpCiB7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5y aW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCWlu dCByZXQ7CiAKIAlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgMik7CkBAIC0yNjg3LDcgKzI2 ODcsNyBAQCBnZW42X3JpbmdfZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKIAkJCSAgICAgIHU2NCBvZmZzZXQsIHUzMiBsZW4sCiAJCQkgICAgICB1 bnNpZ25lZCBkaXNwYXRjaF9mbGFncykKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUgPSByZXEtPnJpbmc7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5l bmdpbmU7CiAJaW50IHJldDsKIAogCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCAyKTsKQEAg LTI3MTAsNyArMjcxMCw3IEBAIGdlbjZfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogc3RhdGljIGludCBnZW42X3JpbmdfZmx1c2goc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCQkgICB1MzIgaW52YWxpZGF0ZSwgdTMy IGZsdXNoKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+cmluZzsK KwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gZW5naW5lLT5kZXY7CiAJdWludDMyX3QgY21kOwogCWludCByZXQ7 CkBAIC0yNzU2LDcgKzI3NTYsNyBAQCBzdGF0aWMgaW50IGdlbjZfcmluZ19mbHVzaChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIGludCBpbnRlbF9pbml0X3JlbmRlcl9yaW5nX2J1 ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lID0gJmRldl9wcml2LT5yaW5nW1JDU107CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lID0gJmRldl9wcml2LT5lbmdpbmVbUkNTXTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqOwogCWludCByZXQ7CiAKQEAgLTI5MDcsNyArMjkwNyw3IEBAIGludCBpbnRlbF9p bml0X3JlbmRlcl9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogaW50IGludGVs X2luaXRfYnNkX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbVkNTXTsKKwlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPmVuZ2luZVtWQ1NdOwogCiAJZW5n aW5lLT5uYW1lID0gImJzZCByaW5nIjsKIAllbmdpbmUtPmlkID0gVkNTOwpAQCAtMjk4NCw3ICsy OTg0LDcgQEAgaW50IGludGVsX2luaXRfYnNkX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiBpbnQgaW50ZWxfaW5pdF9ic2QyX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJp bmdbVkNTMl07CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gJmRldl9wcml2LT5l bmdpbmVbVkNTMl07CiAKIAllbmdpbmUtPm5hbWUgPSAiYnNkMiByaW5nIjsKIAllbmdpbmUtPmlk ID0gVkNTMjsKQEAgLTMwMTUsNyArMzAxNSw3IEBAIGludCBpbnRlbF9pbml0X2JzZDJfcmluZ19i dWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIGludCBpbnRlbF9pbml0X2JsdF9yaW5nX2J1 ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lID0gJmRldl9wcml2LT5yaW5nW0JDU107CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lID0gJmRldl9wcml2LT5lbmdpbmVbQkNTXTsKIAogCWVuZ2luZS0+bmFtZSA9ICJibGl0 dGVyIHJpbmciOwogCWVuZ2luZS0+aWQgPSBCQ1M7CkBAIC0zMDczLDcgKzMwNzMsNyBAQCBpbnQg aW50ZWxfaW5pdF9ibHRfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIGludCBp bnRlbF9pbml0X3ZlYm94X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSAmZGV2X3ByaXYtPnJpbmdbVkVDU107CisJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gJmRldl9wcml2LT5lbmdpbmVbVkVDU107 CiAKIAllbmdpbmUtPm5hbWUgPSAidmlkZW8gZW5oYW5jZW1lbnQgcmluZyI7CiAJZW5naW5lLT5p ZCA9IFZFQ1M7CkBAIC0zMTI1LDcgKzMxMjUsNyBAQCBpbnQgaW50ZWxfaW5pdF92ZWJveF9yaW5n X2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogaW50CiBpbnRlbF9yaW5nX2ZsdXNoX2Fs bF9jYWNoZXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7Ci0Jc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCWludCByZXQ7CiAKIAlpZiAoIWVuZ2luZS0+Z3B1 X2NhY2hlc19kaXJ0eSkKQEAgLTMxNDQsNyArMzE0NCw3IEBAIGludGVsX3JpbmdfZmx1c2hfYWxs X2NhY2hlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIGludAogaW50ZWxfcmlu Z19pbnZhbGlkYXRlX2FsbF9jYWNoZXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEp CiB7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5nOworCXN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwogCXVpbnQzMl90IGZsdXNo X2RvbWFpbnM7CiAJaW50IHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oCmluZGV4IDQ4NDg0NjM5YzlkYS4uNGIwMTE0ZTNjNDY3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC05OSw3ICs5OSw3IEBAIHN0cnVjdCBpbnRlbF9yaW5n YnVmZmVyIHsKIAl2b2lkIF9faW9tZW0gKnZpcnR1YWxfc3RhcnQ7CiAJc3RydWN0IGk5MTVfdm1h ICp2bWE7CiAKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOworCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CiAKIAl1MzIgaGVhZDsK LS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK