From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [V3,1/2] mm: Replace all open encodings for NUMA_NO_NODE From: Anshuman Khandual Message-Id: <1545127933-10711-2-git-send-email-anshuman.khandual@arm.com> Date: Tue, 18 Dec 2018 15:42:12 +0530 To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: ocfs2-devel@oss.oracle.com, linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-media@vger.kernel.org, iommu@lists.linux-foundation.org, linux-rdma@vger.kernel.org, dmaengine@vger.kernel.org, linux-block@vger.kernel.org, sparclinux@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-ia64@vger.kernel.org, linux-alpha@vger.kernel.org, akpm@linux-foundation.org, jiangqi903@gmail.com, hverkuil@xs4all.nl, vkoul@kernel.org, sfr@canb.auug.org.au, dledford@redhat.com, mpe@ellerman.id.au, axboe@kernel.dk, jeffrey.t.kirsher@intel.com, david@redhat.com List-ID: QXQgcHJlc2VudCB0aGVyZSBhcmUgbXVsdGlwbGUgcGxhY2VzIHdoZXJlIGludmFsaWQgbm9kZSBu dW1iZXIgaXMgZW5jb2RlZAphcyAtMS4gRXZlbiB0aG91Z2ggaW1wbGljaXRseSB1bmRlcnN0b29k IGl0IGlzIGFsd2F5cyBiZXR0ZXIgdG8gaGF2ZSBtYWNyb3MKaW4gdGhlcmUuIFJlcGxhY2UgdGhl c2Ugb3BlbiBlbmNvZGluZ3MgZm9yIGFuIGludmFsaWQgbm9kZSBudW1iZXIgd2l0aCB0aGUKZ2xv YmFsIG1hY3JvIE5VTUFfTk9fTk9ERS4gVGhpcyBoZWxwcyByZW1vdmUgTlVNQSByZWxhdGVkIGFz c3VtcHRpb25zIGxpa2UKJ2ludmFsaWQgbm9kZScgZnJvbSB2YXJpb3VzIHBsYWNlcyByZWRpcmVj dGluZyB0aGVtIHRvIGEgY29tbW9uIGRlZmluaXRpb24uCgpSZXZpZXdlZC1ieTogRGF2aWQgSGls ZGVuYnJhbmQgPGRhdmlkQHJlZGhhdC5jb20+CkFja2VkLWJ5OiBKZWZmIEtpcnNoZXIgPGplZmZy ZXkudC5raXJzaGVyQGludGVsLmNvbT4JW2l4Z2JlXQpBY2tlZC1ieTogSmVucyBBeGJvZSA8YXhi b2VAa2VybmVsLmRrPgkJCVttdGlwMzJ4eF0KQWNrZWQtYnk6IFZpbm9kIEtvdWwgPHZrb3VsQGtl cm5lbC5vcmc+CQkJW2RtYWVuZ2luZS5jXQpBY2tlZC1ieTogTWljaGFlbCBFbGxlcm1hbiA8bXBl QGVsbGVybWFuLmlkLmF1PgkJW3Bvd2VycGNdCkFja2VkLWJ5OiBEb3VnIExlZGZvcmQgPGRsZWRm b3JkQHJlZGhhdC5jb20+CQlbZHJpdmVycy9pbmZpbmliYW5kXQpTaWduZWQtb2ZmLWJ5OiBBbnNo dW1hbiBLaGFuZHVhbCA8YW5zaHVtYW4ua2hhbmR1YWxAYXJtLmNvbT4KLS0tCiBhcmNoL2FscGhh L2luY2x1ZGUvYXNtL3RvcG9sb2d5LmggICAgICAgICAgICAgfCAgMyArKy0KIGFyY2gvaWE2NC9r ZXJuZWwvbnVtYS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL2lhNjQvbW0v ZGlzY29udGlnLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIGFyY2gvcG93ZXJw Yy9pbmNsdWRlL2FzbS9wY2ktYnJpZGdlLmggICAgICAgICB8ICAzICsrLQogYXJjaC9wb3dlcnBj L2tlcm5lbC9wYWNhLmMgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiBhcmNoL3Bvd2VycGMv a2VybmVsL3BjaS1jb21tb24uYyAgICAgICAgICAgICAgfCAgMyArKy0KIGFyY2gvcG93ZXJwYy9t bS9udW1hLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCiBhcmNo L3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybnYvbWVtdHJhY2UuYyAgICAgfCAgNSArKystLQogYXJj aC9zcGFyYy9rZXJuZWwvcGNpX2ZpcmUuYyAgICAgICAgICAgICAgICAgIHwgIDMgKystCiBhcmNo L3NwYXJjL2tlcm5lbC9wY2lfc2NoaXpvLmMgICAgICAgICAgICAgICAgfCAgMyArKy0KIGFyY2gv c3BhcmMva2VybmVsL3BzeWNob19jb21tb24uYyAgICAgICAgICAgICB8ICAzICsrLQogYXJjaC9z cGFyYy9rZXJuZWwvc2J1cy5jICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiBhcmNoL3Nw YXJjL21tL2luaXRfNjQuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIGFyY2gv eDg2L2luY2x1ZGUvYXNtL3BjaS5oICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQogYXJjaC94 ODYva2VybmVsL2FwaWMveDJhcGljX3V2X3guYyAgICAgICAgICAgIHwgIDcgKysrKy0tLQogYXJj aC94ODYva2VybmVsL3NtcGJvb3QuYyAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiBkcml2 ZXJzL2Jsb2NrL210aXAzMnh4L210aXAzMnh4LmMgICAgICAgICAgICAgfCAgNSArKystLQogZHJp dmVycy9kbWEvZG1hZW5naW5lLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrLQogZHJp dmVycy9pbmZpbmliYW5kL2h3L2hmaTEvYWZmaW5pdHkuYyAgICAgICAgIHwgIDMgKystCiBkcml2 ZXJzL2luZmluaWJhbmQvaHcvaGZpMS9pbml0LmMgICAgICAgICAgICAgfCAgMyArKy0KIGRyaXZl cnMvaW9tbXUvZG1hci5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrKy0tCiBkcml2 ZXJzL2lvbW11L2ludGVsLWlvbW11LmMgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KIGRyaXZl cnMvbWlzYy9zZ2kteHAveHBjX3V2LmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQogZHJpdmVy cy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmUvaXhnYmVfbWFpbi5jIHwgIDUgKysrLS0KIGluY2x1 ZGUvbGludXgvZGV2aWNlLmggICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBpbml0L2lu aXRfdGFzay5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KIGtlcm5lbC9r dGhyZWFkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQoga2VybmVsL3Nj aGVkL2ZhaXIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTUgKysrKysrKystLS0tLS0t CiBsaWIvY3B1bWFzay5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0K IG1tL2h1Z2VfbWVtb3J5LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysr KystLS0tLS0KIG1tL2h1Z2V0bGIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAzICsrLQogbW0va3NtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIG1tL21lbW9yeS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3 ICsrKystLS0KIG1tL21lbW9yeV9ob3RwbHVnLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDEyICsrKysrKy0tLS0tLQogbW0vbWVtcG9saWN5LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIG1tL3BhZ2VfYWxsb2MuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA0ICsrLS0KIG1tL3BhZ2VfZXh0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBuZXQvY29yZS9wa3RnZW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMyArKy0KIG5ldC9xcnRyL3FydHIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAzICsrLQogMzkgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDc0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEvaW5jbHVkZS9hc20vdG9wb2xvZ3kuaCBi L2FyY2gvYWxwaGEvaW5jbHVkZS9hc20vdG9wb2xvZ3kuaAppbmRleCBlNmUxM2E4Li41YTc3YTQw IDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2luY2x1ZGUvYXNtL3RvcG9sb2d5LmgKKysrIGIvYXJj aC9hbHBoYS9pbmNsdWRlL2FzbS90b3BvbG9neS5oCkBAIC00LDYgKzQsNyBAQAogCiAjaW5jbHVk ZSA8bGludXgvc21wLmg+CiAjaW5jbHVkZSA8bGludXgvdGhyZWFkcy5oPgorI2luY2x1ZGUgPGxp bnV4L251bWEuaD4KICNpbmNsdWRlIDxhc20vbWFjaHZlYy5oPgogCiAjaWZkZWYgQ09ORklHX05V TUEKQEAgLTI5LDcgKzMwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpjcHVtYXNr X29mX25vZGUoaW50IG5vZGUpCiB7CiAJaW50IGNwdTsKIAotCWlmIChub2RlID09IC0xKQorCWlm IChub2RlID09IE5VTUFfTk9fTk9ERSkKIAkJcmV0dXJuIGNwdV9hbGxfbWFzazsKIAogCWNwdW1h c2tfY2xlYXIoJm5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV0pOwpkaWZmIC0tZ2l0IGEvYXJjaC9p YTY0L2tlcm5lbC9udW1hLmMgYi9hcmNoL2lhNjQva2VybmVsL251bWEuYwppbmRleCA5MmMzNzYy Li4xMzE1ZGE2IDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL251bWEuYworKysgYi9hcmNo L2lhNjQva2VybmVsL251bWEuYwpAQCAtNzQsNyArNzQsNyBAQCB2b2lkIF9faW5pdCBidWlsZF9j cHVfdG9fbm9kZV9tYXAodm9pZCkKIAkJY3B1bWFza19jbGVhcigmbm9kZV90b19jcHVfbWFza1tu b2RlXSk7CiAKIAlmb3JfZWFjaF9wb3NzaWJsZV9lYXJseV9jcHUoY3B1KSB7Ci0JCW5vZGUgPSAt MTsKKwkJbm9kZSA9IE5VTUFfTk9fTk9ERTsKIAkJZm9yIChpID0gMDsgaSA8IE5SX0NQVVM7ICsr aSkKIAkJCWlmIChjcHVfcGh5c2ljYWxfaWQoY3B1KSA9PSBub2RlX2NwdWlkW2ldLnBoeXNfaWQp IHsKIAkJCQlub2RlID0gbm9kZV9jcHVpZFtpXS5uaWQ7CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQv bW0vZGlzY29udGlnLmMgYi9hcmNoL2lhNjQvbW0vZGlzY29udGlnLmMKaW5kZXggOGE5NjU3OC4u ZjljMzY3NSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L21tL2Rpc2NvbnRpZy5jCisrKyBiL2FyY2gv aWE2NC9tbS9kaXNjb250aWcuYwpAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgX19pbml0IHNldHVw X3Blcl9jcHVfYXJlYXModm9pZCkKIAkgKiBDUFVzIGFyZSBwdXQgaW50byBncm91cHMgYWNjb3Jk aW5nIHRvIG5vZGUuICBXYWxrIGNwdV9tYXAKIAkgKiBhbmQgY3JlYXRlIG5ldyBncm91cHMgYXQg bm9kZSBib3VuZGFyaWVzLgogCSAqLwotCXByZXZfbm9kZSA9IC0xOworCXByZXZfbm9kZSA9IE5V TUFfTk9fTk9ERTsKIAlhaS0+bnJfZ3JvdXBzID0gMDsKIAlmb3IgKHVuaXQgPSAwOyB1bml0IDwg bnJfdW5pdHM7IHVuaXQrKykgewogCQljcHUgPSBjcHVfbWFwW3VuaXRdOwpAQCAtNDM1LDcgKzQz NSw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCAqbWVtb3J5X2xlc3Nfbm9kZV9hbGxvYyhpbnQgbmlk LCB1bnNpZ25lZCBsb25nIHBlcm5vZGVzaXplKQogewogCXZvaWQgKnB0ciA9IE5VTEw7CiAJdTgg YmVzdCA9IDB4ZmY7Ci0JaW50IGJlc3Rub2RlID0gLTEsIG5vZGUsIGFueW5vZGUgPSAwOworCWlu dCBiZXN0bm9kZSA9IE5VTUFfTk9fTk9ERSwgbm9kZSwgYW55bm9kZSA9IDA7CiAKIAlmb3JfZWFj aF9vbmxpbmVfbm9kZShub2RlKSB7CiAJCWlmIChub2RlX2lzc2V0KG5vZGUsIG1lbW9yeV9sZXNz X21hc2spKQpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCAqbWVtb3J5X2xl c3Nfbm9kZV9hbGxvYyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHBlcm5vZGVzaXplKQogCQlhbnlu b2RlID0gbm9kZTsKIAl9CiAKLQlpZiAoYmVzdG5vZGUgPT0gLTEpCisJaWYgKGJlc3Rub2RlID09 IE5VTUFfTk9fTk9ERSkKIAkJYmVzdG5vZGUgPSBhbnlub2RlOwogCiAJcHRyID0gbWVtYmxvY2tf YWxsb2NfdHJ5X25pZChwZXJub2Rlc2l6ZSwgUEVSQ1BVX1BBR0VfU0laRSwKZGlmZiAtLWdpdCBh L2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9wY2ktYnJpZGdlLmggYi9hcmNoL3Bvd2VycGMvaW5j bHVkZS9hc20vcGNpLWJyaWRnZS5oCmluZGV4IDk0ZDQ0OTAuLjk3YmY0YjEgMTAwNjQ0Ci0tLSBh L2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9wY2ktYnJpZGdlLmgKKysrIGIvYXJjaC9wb3dlcnBj L2luY2x1ZGUvYXNtL3BjaS1icmlkZ2UuaApAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxp bnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9pb3Bv cnQuaD4KKyNpbmNsdWRlIDxsaW51eC9udW1hLmg+CiAKIHN0cnVjdCBkZXZpY2Vfbm9kZTsKIApA QCAtMjY0LDcgKzI2NSw3IEBAIGV4dGVybiBpbnQgcGNpYmlvc19tYXBfaW9fc3BhY2Uoc3RydWN0 IHBjaV9idXMgKmJ1cyk7CiAjaWZkZWYgQ09ORklHX05VTUEKICNkZWZpbmUgUEhCX1NFVF9OT0RF KFBIQiwgTk9ERSkJCSgoUEhCKS0+bm9kZSA9IChOT0RFKSkKICNlbHNlCi0jZGVmaW5lIFBIQl9T RVRfTk9ERShQSEIsIE5PREUpCQkoKFBIQiktPm5vZGUgPSAtMSkKKyNkZWZpbmUgUEhCX1NFVF9O T0RFKFBIQiwgTk9ERSkJCSgoUEhCKS0+bm9kZSA9IE5VTUFfTk9fTk9ERSkKICNlbmRpZgogCiAj ZW5kaWYJLyogQ09ORklHX1BQQzY0ICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVs L3BhY2EuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcGFjYS5jCmluZGV4IDkxM2JmY2EuLmI4NDgw MTIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvcGFjYS5jCisrKyBiL2FyY2gvcG93 ZXJwYy9rZXJuZWwvcGFjYS5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXhw b3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWVtYmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zY2hl ZC90YXNrLmg+CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgogCiAjaW5jbHVkZSA8YXNtL2xwcGFj YS5oPgogI2luY2x1ZGUgPGFzbS9wYWNhLmg+CkBAIC0zNiw3ICszNyw3IEBAIHN0YXRpYyB2b2lk ICpfX2luaXQgYWxsb2NfcGFjYV9kYXRhKHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9u ZyBhbGlnbiwKIAkgKiB3aGljaCB3aWxsIHB1dCBpdHMgcGFjYSBpbiB0aGUgcmlnaHQgcGxhY2Uu CiAJICovCiAJaWYgKGNwdSA9PSBib290X2NwdWlkKSB7Ci0JCW5pZCA9IC0xOworCQluaWQgPSBO VU1BX05PX05PREU7CiAJCW1lbWJsb2NrX3NldF9ib3R0b21fdXAodHJ1ZSk7CiAJfSBlbHNlIHsK IAkJbmlkID0gZWFybHlfY3B1X3RvX25vZGUoY3B1KTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJw Yy9rZXJuZWwvcGNpLWNvbW1vbi5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9wY2ktY29tbW9uLmMK aW5kZXggODhlNGY2OS4uNDUzOGU4ZCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9w Y2ktY29tbW9uLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9wY2ktY29tbW9uLmMKQEAgLTMy LDYgKzMyLDcgQEAKICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAjaW5jbHVkZSA8bGludXgv c2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZnYWFyYi5oPgorI2luY2x1ZGUgPGxpbnV4L251bWEu aD4KIAogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAg LTEzMiw3ICsxMzMsNyBAQCBzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgKnBjaWJpb3NfYWxsb2NfY29u dHJvbGxlcihzdHJ1Y3QgZGV2aWNlX25vZGUgKmRldikKIAkJaW50IG5pZCA9IG9mX25vZGVfdG9f bmlkKGRldik7CiAKIAkJaWYgKG5pZCA8IDAgfHwgIW5vZGVfb25saW5lKG5pZCkpCi0JCQluaWQg PSAtMTsKKwkJCW5pZCA9IE5VTUFfTk9fTk9ERTsKIAogCQlQSEJfU0VUX05PREUocGhiLCBuaWQp OwogCX0KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9tbS9udW1hLmMgYi9hcmNoL3Bvd2VycGMv bW0vbnVtYS5jCmluZGV4IGNlMjhhZTUuLjg0YWQ4YzkgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJw Yy9tbS9udW1hLmMKKysrIGIvYXJjaC9wb3dlcnBjL21tL251bWEuYwpAQCAtMjE1LDcgKzIxNSw3 IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVfZGlzdGFuY2VfbG9va3VwX3RhYmxlKGludCBuaWQs CiAgKi8KIHN0YXRpYyBpbnQgYXNzb2NpYXRpdml0eV90b19uaWQoY29uc3QgX19iZTMyICphc3Nv Y2lhdGl2aXR5KQogewotCWludCBuaWQgPSAtMTsKKwlpbnQgbmlkID0gTlVNQV9OT19OT0RFOwog CiAJaWYgKG1pbl9jb21tb25fZGVwdGggPT0gLTEpCiAJCWdvdG8gb3V0OwpAQCAtMjI1LDcgKzIy NSw3IEBAIHN0YXRpYyBpbnQgYXNzb2NpYXRpdml0eV90b19uaWQoY29uc3QgX19iZTMyICphc3Nv Y2lhdGl2aXR5KQogCiAJLyogUE9XRVI0IExQQVIgdXNlcyAweGZmZmYgYXMgaW52YWxpZCBub2Rl ICovCiAJaWYgKG5pZCA9PSAweGZmZmYgfHwgbmlkID49IE1BWF9OVU1OT0RFUykKLQkJbmlkID0g LTE7CisJCW5pZCA9IE5VTUFfTk9fTk9ERTsKIAogCWlmIChuaWQgPiAwICYmCiAJCW9mX3JlYWRf bnVtYmVyKGFzc29jaWF0aXZpdHksIDEpID49IGRpc3RhbmNlX3JlZl9wb2ludHNfZGVwdGgpIHsK QEAgLTI0NCw3ICsyNDQsNyBAQCBzdGF0aWMgaW50IGFzc29jaWF0aXZpdHlfdG9fbmlkKGNvbnN0 IF9fYmUzMiAqYXNzb2NpYXRpdml0eSkKICAqLwogc3RhdGljIGludCBvZl9ub2RlX3RvX25pZF9z aW5nbGUoc3RydWN0IGRldmljZV9ub2RlICpkZXZpY2UpCiB7Ci0JaW50IG5pZCA9IC0xOworCWlu dCBuaWQgPSBOVU1BX05PX05PREU7CiAJY29uc3QgX19iZTMyICp0bXA7CiAKIAl0bXAgPSBvZl9n ZXRfYXNzb2NpYXRpdml0eShkZXZpY2UpOwpAQCAtMjU2LDcgKzI1Niw3IEBAIHN0YXRpYyBpbnQg b2Zfbm9kZV90b19uaWRfc2luZ2xlKHN0cnVjdCBkZXZpY2Vfbm9kZSAqZGV2aWNlKQogLyogV2Fs ayB0aGUgZGV2aWNlIHRyZWUgdXB3YXJkcywgbG9va2luZyBmb3IgYW4gYXNzb2NpYXRpdml0eSBp ZCAqLwogaW50IG9mX25vZGVfdG9fbmlkKHN0cnVjdCBkZXZpY2Vfbm9kZSAqZGV2aWNlKQogewot CWludCBuaWQgPSAtMTsKKwlpbnQgbmlkID0gTlVNQV9OT19OT0RFOwogCiAJb2Zfbm9kZV9nZXQo ZGV2aWNlKTsKIAl3aGlsZSAoZGV2aWNlKSB7CkBAIC00NTQsNyArNDU0LDcgQEAgc3RhdGljIGlu dCBvZl9kcmNvbmZfdG9fbmlkX3NpbmdsZShzdHJ1Y3QgZHJtZW1fbG1iICpsbWIpCiAgKi8KIHN0 YXRpYyBpbnQgbnVtYV9zZXR1cF9jcHUodW5zaWduZWQgbG9uZyBsY3B1KQogewotCWludCBuaWQg PSAtMTsKKwlpbnQgbmlkID0gTlVNQV9OT19OT0RFOwogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqY3B1 OwogCiAJLyoKQEAgLTkzMCw3ICs5MzAsNyBAQCBzdGF0aWMgaW50IGhvdF9hZGRfZHJjb25mX3Nj bl90b19uaWQodW5zaWduZWQgbG9uZyBzY25fYWRkcikKIHsKIAlzdHJ1Y3QgZHJtZW1fbG1iICps bWI7CiAJdW5zaWduZWQgbG9uZyBsbWJfc2l6ZTsKLQlpbnQgbmlkID0gLTE7CisJaW50IG5pZCA9 IE5VTUFfTk9fTk9ERTsKIAogCWxtYl9zaXplID0gZHJtZW1fbG1iX3NpemUoKTsKIApAQCAtOTYw LDcgKzk2MCw3IEBAIHN0YXRpYyBpbnQgaG90X2FkZF9kcmNvbmZfc2NuX3RvX25pZCh1bnNpZ25l ZCBsb25nIHNjbl9hZGRyKQogc3RhdGljIGludCBob3RfYWRkX25vZGVfc2NuX3RvX25pZCh1bnNp Z25lZCBsb25nIHNjbl9hZGRyKQogewogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbWVtb3J5OwotCWlu dCBuaWQgPSAtMTsKKwlpbnQgbmlkID0gTlVNQV9OT19OT0RFOwogCiAJZm9yX2VhY2hfbm9kZV9i eV90eXBlKG1lbW9yeSwgIm1lbW9yeSIpIHsKIAkJdW5zaWduZWQgbG9uZyBzdGFydCwgc2l6ZTsK ZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9tZW10cmFjZS5jIGIv YXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm52L21lbXRyYWNlLmMKaW5kZXggODRkMDM4ZS4u MjQ4YTM4YSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm52L21lbXRy YWNlLmMKKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm52L21lbXRyYWNlLmMKQEAg LTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgv bWVtb3J5Lmg+CiAjaW5jbHVkZSA8bGludXgvbWVtb3J5X2hvdHBsdWcuaD4KKyNpbmNsdWRlIDxs aW51eC9udW1hLmg+CiAjaW5jbHVkZSA8YXNtL21hY2hkZXAuaD4KICNpbmNsdWRlIDxhc20vZGVi dWdmcy5oPgogCkBAIC0yMjMsNyArMjI0LDcgQEAgc3RhdGljIGludCBtZW10cmFjZV9vbmxpbmUo dm9pZCkKIAkJZW50ID0gJm1lbXRyYWNlX2FycmF5W2ldOwogCiAJCS8qIFdlIGhhdmUgb25saW5l ZCB0aGlzIGNodW5rIHByZXZpb3VzbHkgKi8KLQkJaWYgKGVudC0+bmlkID09IC0xKQorCQlpZiAo ZW50LT5uaWQgPT0gTlVNQV9OT19OT0RFKQogCQkJY29udGludWU7CiAKIAkJLyogUmVtb3ZlIGZy b20gaW8gbWFwcGluZ3MgKi8KQEAgLTI1Nyw3ICsyNTgsNyBAQCBzdGF0aWMgaW50IG1lbXRyYWNl X29ubGluZSh2b2lkKQogCQkgKi8KIAkJZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKGVudC0+ZGly KTsKIAkJcHJfaW5mbygiQWRkZWQgdHJhY2UgbWVtb3J5IGJhY2sgdG8gbm9kZSAlZFxuIiwgZW50 LT5uaWQpOwotCQllbnQtPnNpemUgPSBlbnQtPnN0YXJ0ID0gZW50LT5uaWQgPSAtMTsKKwkJZW50 LT5zaXplID0gZW50LT5zdGFydCA9IGVudC0+bmlkID0gTlVNQV9OT19OT0RFOwogCX0KIAlpZiAo cmV0KQogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9rZXJuZWwvcGNpX2Zp cmUuYyBiL2FyY2gvc3BhcmMva2VybmVsL3BjaV9maXJlLmMKaW5kZXggYmU3MWFlMC4uMGNhMDhk NCAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYy9rZXJuZWwvcGNpX2ZpcmUuYworKysgYi9hcmNoL3Nw YXJjL2tlcm5lbC9wY2lfZmlyZS5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgv ZXhwb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfZGV2 aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgogCiAjaW5jbHVkZSA8YXNtL3Byb20uaD4K ICNpbmNsdWRlIDxhc20vaXJxLmg+CkBAIC00MTYsNyArNDE3LDcgQEAgc3RhdGljIGludCBwY2lf ZmlyZV9wYm1faW5pdChzdHJ1Y3QgcGNpX3BibV9pbmZvICpwYm0sCiAJc3RydWN0IGRldmljZV9u b2RlICpkcCA9IG9wLT5kZXYub2Zfbm9kZTsKIAlpbnQgZXJyOwogCi0JcGJtLT5udW1hX25vZGUg PSAtMTsKKwlwYm0tPm51bWFfbm9kZSA9IE5VTUFfTk9fTk9ERTsKIAogCXBibS0+cGNpX29wcyA9 ICZzdW40dV9wY2lfb3BzOwogCXBibS0+Y29uZmlnX3NwYWNlX3JlZ19iaXRzID0gMTI7CmRpZmYg LS1naXQgYS9hcmNoL3NwYXJjL2tlcm5lbC9wY2lfc2NoaXpvLmMgYi9hcmNoL3NwYXJjL2tlcm5l bC9wY2lfc2NoaXpvLmMKaW5kZXggOTM0Yjk3Yy4uNDIxYWJhMCAxMDA2NDQKLS0tIGEvYXJjaC9z cGFyYy9rZXJuZWwvcGNpX3NjaGl6by5jCisrKyBiL2FyY2gvc3BhcmMva2VybmVsL3BjaV9zY2hp em8uYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgogI2luY2x1 ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgorI2lu Y2x1ZGUgPGxpbnV4L251bWEuaD4KIAogI2luY2x1ZGUgPGFzbS9pb21tdS5oPgogI2luY2x1ZGUg PGFzbS9pcnEuaD4KQEAgLTEzNDcsNyArMTM0OCw3IEBAIHN0YXRpYyBpbnQgc2NoaXpvX3BibV9p bml0KHN0cnVjdCBwY2lfcGJtX2luZm8gKnBibSwKIAlwYm0tPm5leHQgPSBwY2lfcGJtX3Jvb3Q7 CiAJcGNpX3BibV9yb290ID0gcGJtOwogCi0JcGJtLT5udW1hX25vZGUgPSAtMTsKKwlwYm0tPm51 bWFfbm9kZSA9IE5VTUFfTk9fTk9ERTsKIAogCXBibS0+cGNpX29wcyA9ICZzdW40dV9wY2lfb3Bz OwogCXBibS0+Y29uZmlnX3NwYWNlX3JlZ19iaXRzID0gODsKZGlmZiAtLWdpdCBhL2FyY2gvc3Bh cmMva2VybmVsL3BzeWNob19jb21tb24uYyBiL2FyY2gvc3BhcmMva2VybmVsL3BzeWNob19jb21t b24uYwppbmRleCA4MWFhOTFlLi5lOTBiY2I2IDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjL2tlcm5l bC9wc3ljaG9fY29tbW9uLmMKKysrIGIvYXJjaC9zcGFyYy9rZXJuZWwvcHN5Y2hvX2NvbW1vbi5j CkBAIC01LDYgKzUsNyBAQAogICovCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVk ZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgogCiAjaW5jbHVk ZSA8YXNtL3VwYS5oPgogCkBAIC00NTQsNyArNDU1LDcgQEAgdm9pZCBwc3ljaG9fcGJtX2luaXRf Y29tbW9uKHN0cnVjdCBwY2lfcGJtX2luZm8gKnBibSwgc3RydWN0IHBsYXRmb3JtX2RldmljZSAq b3AKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKmRwID0gb3AtPmRldi5vZl9ub2RlOwogCiAJcGJtLT5u YW1lID0gZHAtPmZ1bGxfbmFtZTsKLQlwYm0tPm51bWFfbm9kZSA9IC0xOworCXBibS0+bnVtYV9u b2RlID0gTlVNQV9OT19OT0RFOwogCXBibS0+Y2hpcF90eXBlID0gY2hpcF90eXBlOwogCXBibS0+ Y2hpcF92ZXJzaW9uID0gb2ZfZ2V0aW50cHJvcF9kZWZhdWx0KGRwLCAidmVyc2lvbiMiLCAwKTsK IAlwYm0tPmNoaXBfcmV2aXNpb24gPSBvZl9nZXRpbnRwcm9wX2RlZmF1bHQoZHAsICJtb2R1bGUt cmV2aXNpb24jIiwgMCk7CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjL2tlcm5lbC9zYnVzLmMgYi9h cmNoL3NwYXJjL2tlcm5lbC9zYnVzLmMKaW5kZXggYzEzM2RmYy4uZTZmZDkyNCAxMDA2NDQKLS0t IGEvYXJjaC9zcGFyYy9rZXJuZWwvc2J1cy5jCisrKyBiL2FyY2gvc3BhcmMva2VybmVsL3NidXMu YwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1 ZGUgPGxpbnV4L29mLmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+CisjaW5jbHVkZSA8 bGludXgvbnVtYS5oPgogCiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vaW8u aD4KQEAgLTU2MSw3ICs1NjIsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2J1c19pb21tdV9pbml0 KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm9wKQogCiAJb3AtPmRldi5hcmNoZGF0YS5pb21tdSA9 IGlvbW11OwogCW9wLT5kZXYuYXJjaGRhdGEuc3RjID0gc3RyYnVmOwotCW9wLT5kZXYuYXJjaGRh dGEubnVtYV9ub2RlID0gLTE7CisJb3AtPmRldi5hcmNoZGF0YS5udW1hX25vZGUgPSBOVU1BX05P X05PREU7CiAKIAlyZWdfYmFzZSA9IHJlZ3MgKyBTWVNJT19JT01NVVJFR19CQVNFOwogCWlvbW11 LT5pb21tdV9jb250cm9sID0gcmVnX2Jhc2UgKyBJT01NVV9DT05UUk9MOwpkaWZmIC0tZ2l0IGEv YXJjaC9zcGFyYy9tbS9pbml0XzY0LmMgYi9hcmNoL3NwYXJjL21tL2luaXRfNjQuYwppbmRleCAz YzhhYWMyLi5jYjFiZWQxIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjL21tL2luaXRfNjQuYworKysg Yi9hcmNoL3NwYXJjL21tL2luaXRfNjQuYwpAQCAtOTc2LDEzICs5NzYsMTMgQEAgc3RhdGljIHU2 NCBfX2luaXQgbWVtYmxvY2tfbmlkX3JhbmdlX3N1bjR1KHU2NCBzdGFydCwgdTY0IGVuZCwgaW50 ICpuaWQpCiB7CiAJaW50IHByZXZfbmlkLCBuZXdfbmlkOwogCi0JcHJldl9uaWQgPSAtMTsKKwlw cmV2X25pZCA9IE5VTUFfTk9fTk9ERTsKIAlmb3IgKCA7IHN0YXJ0IDwgZW5kOyBzdGFydCArPSBQ QUdFX1NJWkUpIHsKIAkJZm9yIChuZXdfbmlkID0gMDsgbmV3X25pZCA8IG51bV9ub2RlX21hc2tz OyBuZXdfbmlkKyspIHsKIAkJCXN0cnVjdCBub2RlX21lbV9tYXNrICpwID0gJm5vZGVfbWFza3Nb bmV3X25pZF07CiAKIAkJCWlmICgoc3RhcnQgJiBwLT5tYXNrKSA9PSBwLT5tYXRjaCkgewotCQkJ CWlmIChwcmV2X25pZCA9PSAtMSkKKwkJCQlpZiAocHJldl9uaWQgPT0gTlVNQV9OT19OT0RFKQog CQkJCQlwcmV2X25pZCA9IG5ld19uaWQ7CiAJCQkJYnJlYWs7CiAJCQl9CkBAIC0xMjA4LDcgKzEy MDgsNyBAQCBpbnQgb2Zfbm9kZV90b19uaWQoc3RydWN0IGRldmljZV9ub2RlICpkcCkKIAltZCA9 IG1kZXNjX2dyYWIoKTsKIAogCWNvdW50ID0gMDsKLQluaWQgPSAtMTsKKwluaWQgPSBOVU1BX05P X05PREU7CiAJbWRlc2NfZm9yX2VhY2hfbm9kZV9ieV9uYW1lKG1kLCBncnAsICJncm91cCIpIHsK IAkJaWYgKCFzY2FuX2FyY3NfZm9yX2NmZ19oYW5kbGUobWQsIGdycCwgY2ZnX2hhbmRsZSkpIHsK IAkJCW5pZCA9IGNvdW50OwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcGNpLmgg Yi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wY2kuaAppbmRleCA2NjI5NjM2Li5lNjYyZjk4IDEwMDY0 NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wY2kuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRl L2FzbS9wY2kuaApAQCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5j bHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KKyNp bmNsdWRlIDxsaW51eC9udW1hLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNt L3BhdC5oPgogI2luY2x1ZGUgPGFzbS94ODZfaW5pdC5oPgpAQCAtMTQxLDcgKzE0Miw3IEBAIGNw dW1hc2tfb2ZfcGNpYnVzKGNvbnN0IHN0cnVjdCBwY2lfYnVzICpidXMpCiAJaW50IG5vZGU7CiAK IAlub2RlID0gX19wY2lidXNfdG9fbm9kZShidXMpOwotCXJldHVybiAobm9kZSA9PSAtMSkgPyBj cHVfb25saW5lX21hc2sgOgorCXJldHVybiAobm9kZSA9PSBOVU1BX05PX05PREUpID8gY3B1X29u bGluZV9tYXNrIDoKIAkJCSAgICAgIGNwdW1hc2tfb2Zfbm9kZShub2RlKTsKIH0KICNlbmRpZgpk aWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwaWMveDJhcGljX3V2X3guYyBiL2FyY2gveDg2 L2tlcm5lbC9hcGljL3gyYXBpY191dl94LmMKaW5kZXggMzkxZjM1OC4uMWZmNjU4ZiAxMDA2NDQK LS0tIGEvYXJjaC94ODYva2VybmVsL2FwaWMveDJhcGljX3V2X3guYworKysgYi9hcmNoL3g4Ni9r ZXJuZWwvYXBpYy94MmFwaWNfdXZfeC5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGlu dXgvY3Jhc2hfZHVtcC5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgogI2luY2x1ZGUgPGxp bnV4L21lbW9yeS5oPgorI2luY2x1ZGUgPGxpbnV4L251bWEuaD4KIAogI2luY2x1ZGUgPGFzbS91 di91dl9tbXJzLmg+CiAjaW5jbHVkZSA8YXNtL3V2L3V2X2h1Yi5oPgpAQCAtMTM5MCw3ICsxMzkx LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGJ1aWxkX3NvY2tldF90YWJsZXModm9pZCkKIAl9CiAK IAkvKiBTZXQgc29ja2V0IC0+IG5vZGUgdmFsdWVzOiAqLwotCWxuaWQgPSAtMTsKKwlsbmlkID0g TlVNQV9OT19OT0RFOwogCWZvcl9lYWNoX3ByZXNlbnRfY3B1KGNwdSkgewogCQlpbnQgbmlkID0g Y3B1X3RvX25vZGUoY3B1KTsKIAkJaW50IGFwaWNpZCwgc29ja2lkOwpAQCAtMTUyMSw3ICsxNTIy LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IHV2X3N5c3RlbV9pbml0X2h1Yih2b2lkKQogCQkJbmV3 X2h1Yi0+cG5vZGUgPSAweGZmZmY7CiAKIAkJbmV3X2h1Yi0+bnVtYV9ibGFkZV9pZCA9IHV2X25v ZGVfdG9fYmxhZGVfaWQobm9kZWlkKTsKLQkJbmV3X2h1Yi0+bWVtb3J5X25pZCA9IC0xOworCQlu ZXdfaHViLT5tZW1vcnlfbmlkID0gTlVNQV9OT19OT0RFOwogCQluZXdfaHViLT5ucl9wb3NzaWJs ZV9jcHVzID0gMDsKIAkJbmV3X2h1Yi0+bnJfb25saW5lX2NwdXMgPSAwOwogCX0KQEAgLTE1Mzgs NyArMTUzOSw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCB1dl9zeXN0ZW1faW5pdF9odWIodm9pZCkK IAogCQl1dl9jcHVfaW5mb19wZXIoY3B1KS0+cF91dl9odWJfaW5mbyA9IHV2X2h1Yl9pbmZvX2xp c3Qobm9kZWlkKTsKIAkJdXZfY3B1X2luZm9fcGVyKGNwdSktPmJsYWRlX2NwdV9pZCA9IHV2X2Nw dV9odWJfaW5mbyhjcHUpLT5ucl9wb3NzaWJsZV9jcHVzKys7Ci0JCWlmICh1dl9jcHVfaHViX2lu Zm8oY3B1KS0+bWVtb3J5X25pZCA9PSAtMSkKKwkJaWYgKHV2X2NwdV9odWJfaW5mbyhjcHUpLT5t ZW1vcnlfbmlkID09IE5VTUFfTk9fTk9ERSkKIAkJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5tZW1v cnlfbmlkID0gY3B1X3RvX25vZGUoY3B1KTsKIAogCQkvKiBJbml0IG1lbW9yeWxlc3Mgbm9kZTog Ki8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMgYi9hcmNoL3g4Ni9rZXJu ZWwvc21wYm9vdC5jCmluZGV4IGE5MTM0ZDEuLjBlMWZmOGYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2 L2tlcm5lbC9zbXBib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3NtcGJvb3QuYwpAQCAtNTYs NiArNTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0YWNrcHJvdGVjdG9yLmg+CiAjaW5jbHVkZSA8 bGludXgvZ2ZwLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1aWRsZS5oPgorI2luY2x1ZGUgPGxpbnV4 L251bWEuaD4KIAogI2luY2x1ZGUgPGFzbS9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2Rlc2MuaD4K QEAgLTg0MSw3ICs4NDIsNyBAQCB3YWtldXBfc2Vjb25kYXJ5X2NwdV92aWFfaW5pdChpbnQgcGh5 c19hcGljaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfZWlwKQogLyogcmVkdWNlIHRoZSBudW1iZXIg b2YgbGluZXMgcHJpbnRlZCB3aGVuIGJvb3RpbmcgYSBsYXJnZSBjcHUgY291bnQgc3lzdGVtICov CiBzdGF0aWMgdm9pZCBhbm5vdW5jZV9jcHUoaW50IGNwdSwgaW50IGFwaWNpZCkKIHsKLQlzdGF0 aWMgaW50IGN1cnJlbnRfbm9kZSA9IC0xOworCXN0YXRpYyBpbnQgY3VycmVudF9ub2RlID0gTlVN QV9OT19OT0RFOwogCWludCBub2RlID0gZWFybHlfY3B1X3RvX25vZGUoY3B1KTsKIAlzdGF0aWMg aW50IHdpZHRoLCBub2RlX3dpZHRoOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL210aXAz Mnh4L210aXAzMnh4LmMgYi9kcml2ZXJzL2Jsb2NrL210aXAzMnh4L210aXAzMnh4LmMKaW5kZXgg YTdkYWE4YS4uYmJlMzg3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9tdGlwMzJ4eC9tdGlw MzJ4eC5jCisrKyBiL2RyaXZlcnMvYmxvY2svbXRpcDMyeHgvbXRpcDMyeHguYwpAQCAtNDAsNiAr NDAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlYnVn ZnMuaD4KICNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgorI2luY2x1ZGUgPGxpbnV4L251bWEu aD4KICNpbmNsdWRlICJtdGlwMzJ4eC5oIgogCiAjZGVmaW5lIEhXX0NNRF9TTE9UX1NaCQkoTVRJ UF9NQVhfQ09NTUFORF9TTE9UUyAqIDMyKQpAQCAtNDA4NCw5ICs0MDg1LDkgQEAgc3RhdGljIGlu dCBnZXRfbGVhc3RfdXNlZF9jcHVfb25fbm9kZShpbnQgbm9kZSkKIC8qIEhlbHBlciBmb3Igc2Vs ZWN0aW5nIGEgbm9kZSBpbiByb3VuZCByb2JpbiBtb2RlICovCiBzdGF0aWMgaW5saW5lIGludCBt dGlwX2dldF9uZXh0X3JyX25vZGUodm9pZCkKIHsKLQlzdGF0aWMgaW50IG5leHRfbm9kZSA9IC0x OworCXN0YXRpYyBpbnQgbmV4dF9ub2RlID0gTlVNQV9OT19OT0RFOwogCi0JaWYgKG5leHRfbm9k ZSA9PSAtMSkgeworCWlmIChuZXh0X25vZGUgPT0gTlVNQV9OT19OT0RFKSB7CiAJCW5leHRfbm9k ZSA9IGZpcnN0X29ubGluZV9ub2RlOwogCQlyZXR1cm4gbmV4dF9ub2RlOwogCX0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZG1hL2RtYWVuZ2luZS5jIGIvZHJpdmVycy9kbWEvZG1hZW5naW5lLmMKaW5k ZXggZjFhNDQxYWIuLjNhMTFiMTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hL2RtYWVuZ2luZS5j CisrKyBiL2RyaXZlcnMvZG1hL2RtYWVuZ2luZS5jCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVk ZSA8bGludXgvYWNwaV9kbWEuaD4KICNpbmNsdWRlIDxsaW51eC9vZl9kbWEuaD4KICNpbmNsdWRl IDxsaW51eC9tZW1wb29sLmg+CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgogCiBzdGF0aWMgREVG SU5FX01VVEVYKGRtYV9saXN0X211dGV4KTsKIHN0YXRpYyBERUZJTkVfSURBKGRtYV9pZGEpOwpA QCAtMzg2LDcgKzM4Nyw4IEBAIEVYUE9SVF9TWU1CT0woZG1hX2lzc3VlX3BlbmRpbmdfYWxsKTsK IHN0YXRpYyBib29sIGRtYV9jaGFuX2lzX2xvY2FsKHN0cnVjdCBkbWFfY2hhbiAqY2hhbiwgaW50 IGNwdSkKIHsKIAlpbnQgbm9kZSA9IGRldl90b19ub2RlKGNoYW4tPmRldmljZS0+ZGV2KTsKLQly ZXR1cm4gbm9kZSA9PSAtMSB8fCBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgY3B1bWFza19vZl9ub2Rl KG5vZGUpKTsKKwlyZXR1cm4gbm9kZSA9PSBOVU1BX05PX05PREUgfHwKKwkJY3B1bWFza190ZXN0 X2NwdShjcHUsIGNwdW1hc2tfb2Zfbm9kZShub2RlKSk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvYWZmaW5pdHkuYyBiL2RyaXZlcnMvaW5maW5pYmFu ZC9ody9oZmkxL2FmZmluaXR5LmMKaW5kZXggMmJhZjM4Yy4uNGZlNjYyYyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvYWZmaW5pdHkuYworKysgYi9kcml2ZXJzL2luZmlu aWJhbmQvaHcvaGZpMS9hZmZpbml0eS5jCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSA8bGlu dXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4 L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L251bWEuaD4KIAogI2luY2x1ZGUgImhmaS5o IgogI2luY2x1ZGUgImFmZmluaXR5LmgiCkBAIC03NzcsNyArNzc4LDcgQEAgdm9pZCBoZmkxX2Rl dl9hZmZpbml0eV9jbGVhbl91cChzdHJ1Y3QgaGZpMV9kZXZkYXRhICpkZCkKIAlfZGV2X2NvbXBf dmVjdF9jcHVfbWFza19jbGVhbl91cChkZCwgZW50cnkpOwogdW5sb2NrOgogCW11dGV4X3VubG9j aygmbm9kZV9hZmZpbml0eS5sb2NrKTsKLQlkZC0+bm9kZSA9IC0xOworCWRkLT5ub2RlID0gTlVN QV9OT19OT0RFOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hm aTEvaW5pdC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvaW5pdC5jCmluZGV4IDA5MDQ0 OTAuLmMyNWM0MDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9oZmkxL2luaXQu YworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS9pbml0LmMKQEAgLTU0LDYgKzU0LDcg QEAKICNpbmNsdWRlIDxsaW51eC9wcmludGsuaD4KICNpbmNsdWRlIDxsaW51eC9ocnRpbWVyLmg+ CiAjaW5jbHVkZSA8bGludXgvYml0bWFwLmg+CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgogI2lu Y2x1ZGUgPHJkbWEvcmRtYV92dC5oPgogCiAjaW5jbHVkZSAiaGZpLmgiCkBAIC0xMzAzLDcgKzEz MDQsNyBAQCBzdGF0aWMgc3RydWN0IGhmaTFfZGV2ZGF0YSAqaGZpMV9hbGxvY19kZXZkYXRhKHN0 cnVjdCBwY2lfZGV2ICpwZGV2LAogCQlkZC0+dW5pdCA9IHJldDsKIAkJbGlzdF9hZGQoJmRkLT5s aXN0LCAmaGZpMV9kZXZfbGlzdCk7CiAJfQotCWRkLT5ub2RlID0gLTE7CisJZGQtPm5vZGUgPSBO VU1BX05PX05PREU7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZoZmkxX2RldnNfbG9jaywg ZmxhZ3MpOwogCWlkcl9wcmVsb2FkX2VuZCgpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pb21tdS9k bWFyLmMgYi9kcml2ZXJzL2lvbW11L2RtYXIuYwppbmRleCBkOWM3NDhiLi4wMWI5NjdhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2lvbW11L2RtYXIuYworKysgYi9kcml2ZXJzL2lvbW11L2RtYXIuYwpA QCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgogI2luY2x1ZGUgPGxpbnV4 L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9pb21tdS5oPgorI2luY2x1ZGUgPGxpbnV4L251bWEu aD4KICNpbmNsdWRlIDxhc20vaXJxX3JlbWFwcGluZy5oPgogI2luY2x1ZGUgPGFzbS9pb21tdV90 YWJsZS5oPgogCkBAIC00NzcsNyArNDc4LDcgQEAgc3RhdGljIGludCBkbWFyX3BhcnNlX29uZV9y aHNhKHN0cnVjdCBhY3BpX2RtYXJfaGVhZGVyICpoZWFkZXIsIHZvaWQgKmFyZykKIAkJCWludCBu b2RlID0gYWNwaV9tYXBfcHhtX3RvX25vZGUocmhzYS0+cHJveGltaXR5X2RvbWFpbik7CiAKIAkJ CWlmICghbm9kZV9vbmxpbmUobm9kZSkpCi0JCQkJbm9kZSA9IC0xOworCQkJCW5vZGUgPSBOVU1B X05PX05PREU7CiAJCQlkcmhkLT5pb21tdS0+bm9kZSA9IG5vZGU7CiAJCQlyZXR1cm4gMDsKIAkJ fQpAQCAtMTA2Miw3ICsxMDYzLDcgQEAgc3RhdGljIGludCBhbGxvY19pb21tdShzdHJ1Y3QgZG1h cl9kcmhkX3VuaXQgKmRyaGQpCiAJaW9tbXUtPm1zYWdhdyA9IG1zYWdhdzsKIAlpb21tdS0+c2Vn bWVudCA9IGRyaGQtPnNlZ21lbnQ7CiAKLQlpb21tdS0+bm9kZSA9IC0xOworCWlvbW11LT5ub2Rl ID0gTlVNQV9OT19OT0RFOwogCiAJdmVyID0gcmVhZGwoaW9tbXUtPnJlZyArIERNQVJfVkVSX1JF Ryk7CiAJcHJfaW5mbygiJXM6IHJlZ19iYXNlX2FkZHIgJWxseCB2ZXIgJWQ6JWQgY2FwICVsbHgg ZWNhcCAlbGx4XG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pb21tdS9pbnRlbC1pb21tdS5jIGIv ZHJpdmVycy9pb21tdS9pbnRlbC1pb21tdS5jCmluZGV4IDQxYTRiODguLjljYTk3OTQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvaW9tbXUvaW50ZWwtaW9tbXUuYworKysgYi9kcml2ZXJzL2lvbW11L2lu dGVsLWlvbW11LmMKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kbWEtY29udGln dW91cy5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1kaXJlY3QuaD4KICNpbmNsdWRlIDxsaW51eC9j cmFzaF9kdW1wLmg+CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9pcnFf cmVtYXBwaW5nLmg+CiAjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KICNpbmNsdWRlIDxhc20v aW9tbXUuaD4KQEAgLTE3NzIsNyArMTc3Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgZG1hcl9kb21haW4g KmFsbG9jX2RvbWFpbihpbnQgZmxhZ3MpCiAJCXJldHVybiBOVUxMOwogCiAJbWVtc2V0KGRvbWFp biwgMCwgc2l6ZW9mKCpkb21haW4pKTsKLQlkb21haW4tPm5pZCA9IC0xOworCWRvbWFpbi0+bmlk ID0gTlVNQV9OT19OT0RFOwogCWRvbWFpbi0+ZmxhZ3MgPSBmbGFnczsKIAlkb21haW4tPmhhc19p b3RsYl9kZXZpY2UgPSBmYWxzZTsKIAlJTklUX0xJU1RfSEVBRCgmZG9tYWluLT5kZXZpY2VzKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9zZ2kteHAveHBjX3V2LmMgYi9kcml2ZXJzL21pc2Mv c2dpLXhwL3hwY191di5jCmluZGV4IDA0NDFhYmUuLjllNDQzZGYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbWlzYy9zZ2kteHAveHBjX3V2LmMKKysrIGIvZHJpdmVycy9taXNjL3NnaS14cC94cGNfdXYu YwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUg PGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9u dW1hLmg+CiAjaW5jbHVkZSA8YXNtL3V2L3V2X2h1Yi5oPgogI2lmIGRlZmluZWQgQ09ORklHX1g4 Nl82NAogI2luY2x1ZGUgPGFzbS91di9iaW9zLmg+CkBAIC02MSw3ICs2Miw3IEBAIHN0YXRpYyBz dHJ1Y3QgeHBjX2hlYXJ0YmVhdF91diAqeHBjX2hlYXJ0YmVhdF91djsKIAkJCQkJIFhQQ19OT1RJ RllfTVNHX1NJWkVfVVYpCiAjZGVmaW5lIFhQQ19OT1RJRllfSVJRX05BTUUJCSJ4cGNfbm90aWZ5 IgogCi1zdGF0aWMgaW50IHhwY19tcV9ub2RlID0gLTE7CitzdGF0aWMgaW50IHhwY19tcV9ub2Rl ID0gTlVNQV9OT19OT0RFOwogCiBzdGF0aWMgc3RydWN0IHhwY19ncnVfbXFfdXYgKnhwY19hY3Rp dmF0ZV9tcV91djsKIHN0YXRpYyBzdHJ1Y3QgeHBjX2dydV9tcV91diAqeHBjX25vdGlmeV9tcV91 djsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2l4Z2JlL2l4Z2JlX21h aW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2l4Z2JlL2l4Z2JlX21haW4uYwppbmRl eCAxMTNiMzhlLi5lMzM5MjhjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRl bC9peGdiZS9peGdiZV9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhn YmUvaXhnYmVfbWFpbi5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgvYnBmLmg+ CiAjaW5jbHVkZSA8bGludXgvYnBmX3RyYWNlLmg+CiAjaW5jbHVkZSA8bGludXgvYXRvbWljLmg+ CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgogI2luY2x1ZGUgPHNjc2kvZmMvZmNfZmNvZS5oPgog I2luY2x1ZGUgPG5ldC91ZHBfdHVubmVsLmg+CiAjaW5jbHVkZSA8bmV0L3BrdF9jbHMuaD4KQEAg LTY0MTQsNyArNjQxNSw3IEBAIGludCBpeGdiZV9zZXR1cF90eF9yZXNvdXJjZXMoc3RydWN0IGl4 Z2JlX3JpbmcgKnR4X3JpbmcpCiB7CiAJc3RydWN0IGRldmljZSAqZGV2ID0gdHhfcmluZy0+ZGV2 OwogCWludCBvcmlnX25vZGUgPSBkZXZfdG9fbm9kZShkZXYpOwotCWludCByaW5nX25vZGUgPSAt MTsKKwlpbnQgcmluZ19ub2RlID0gTlVNQV9OT19OT0RFOwogCWludCBzaXplOwogCiAJc2l6ZSA9 IHNpemVvZihzdHJ1Y3QgaXhnYmVfdHhfYnVmZmVyKSAqIHR4X3JpbmctPmNvdW50OwpAQCAtNjUw OCw3ICs2NTA5LDcgQEAgaW50IGl4Z2JlX3NldHVwX3J4X3Jlc291cmNlcyhzdHJ1Y3QgaXhnYmVf YWRhcHRlciAqYWRhcHRlciwKIHsKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSByeF9yaW5nLT5kZXY7 CiAJaW50IG9yaWdfbm9kZSA9IGRldl90b19ub2RlKGRldik7Ci0JaW50IHJpbmdfbm9kZSA9IC0x OworCWludCByaW5nX25vZGUgPSBOVU1BX05PX05PREU7CiAJaW50IHNpemU7CiAKIAlzaXplID0g c2l6ZW9mKHN0cnVjdCBpeGdiZV9yeF9idWZmZXIpICogcnhfcmluZy0+Y291bnQ7CmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L2RldmljZS5oIGIvaW5jbHVkZS9saW51eC9kZXZpY2UuaAppbmRl eCAxYjI1YzdhLi40OTIxYTYxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2RldmljZS5oCisr KyBiL2luY2x1ZGUvbGludXgvZGV2aWNlLmgKQEAgLTEwODUsNyArMTA4NSw3IEBAIHN0YXRpYyBp bmxpbmUgdm9pZCBzZXRfZGV2X25vZGUoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgbm9kZSkKICNl bHNlCiBzdGF0aWMgaW5saW5lIGludCBkZXZfdG9fbm9kZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7 Ci0JcmV0dXJuIC0xOworCXJldHVybiBOVU1BX05PX05PREU7CiB9CiBzdGF0aWMgaW5saW5lIHZv aWQgc2V0X2Rldl9ub2RlKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IG5vZGUpCiB7CmRpZmYgLS1n aXQgYS9pbml0L2luaXRfdGFzay5jIGIvaW5pdC9pbml0X3Rhc2suYwppbmRleCA1YWViZTNiLi4y NjEzMWU3IDEwMDY0NAotLS0gYS9pbml0L2luaXRfdGFzay5jCisrKyBiL2luaXQvaW5pdF90YXNr LmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxp bnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvYXVkaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9udW1h Lmg+CiAKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3Mu aD4KQEAgLTE1NCw3ICsxNTUsNyBAQCBzdHJ1Y3QgdGFza19zdHJ1Y3QgaW5pdF90YXNrCiAJLnZ0 aW1lLnN0YXRlCT0gVlRJTUVfU1lTLAogI2VuZGlmCiAjaWZkZWYgQ09ORklHX05VTUFfQkFMQU5D SU5HCi0JLm51bWFfcHJlZmVycmVkX25pZCA9IC0xLAorCS5udW1hX3ByZWZlcnJlZF9uaWQgPSBO VU1BX05PX05PREUsCiAJLm51bWFfZ3JvdXAJPSBOVUxMLAogCS5udW1hX2ZhdWx0cwk9IE5VTEws CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2tlcm5lbC9rdGhyZWFkLmMgYi9rZXJuZWwva3RocmVhZC5j CmluZGV4IDA4N2QxOGQuLmViZWJiY2YgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9rdGhyZWFkLmMKKysr IGIva2VybmVsL2t0aHJlYWQuYwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Zy ZWV6ZXIuaD4KICNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KICNpbmNsdWRlIDxsaW51eC91YWNj ZXNzLmg+CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgogI2luY2x1ZGUgPHRyYWNlL2V2ZW50cy9z Y2hlZC5oPgogCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGt0aHJlYWRfY3JlYXRlX2xvY2spOwpA QCAtNjc1LDcgKzY3Niw3IEBAIF9fa3RocmVhZF9jcmVhdGVfd29ya2VyKGludCBjcHUsIHVuc2ln bmVkIGludCBmbGFncywKIHsKIAlzdHJ1Y3Qga3RocmVhZF93b3JrZXIgKndvcmtlcjsKIAlzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnRhc2s7Ci0JaW50IG5vZGUgPSAtMTsKKwlpbnQgbm9kZSA9IE5VTUFf Tk9fTk9ERTsKIAogCXdvcmtlciA9IGt6YWxsb2Moc2l6ZW9mKCp3b3JrZXIpLCBHRlBfS0VSTkVM KTsKIAlpZiAoIXdvcmtlcikKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZC9mYWlyLmMgYi9rZXJu ZWwvc2NoZWQvZmFpci5jCmluZGV4IGFjODU1YjIuLjJlZjBkYjIgMTAwNjQ0Ci0tLSBhL2tlcm5l bC9zY2hlZC9mYWlyLmMKKysrIGIva2VybmVsL3NjaGVkL2ZhaXIuYwpAQCAtMTE2MSw3ICsxMTYx LDcgQEAgdm9pZCBpbml0X251bWFfYmFsYW5jaW5nKHVuc2lnbmVkIGxvbmcgY2xvbmVfZmxhZ3Ms IHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIAogCS8qIE5ldyBhZGRyZXNzIHNwYWNlLCByZXNldCB0 aGUgcHJlZmVycmVkIG5pZCAqLwogCWlmICghKGNsb25lX2ZsYWdzICYgQ0xPTkVfVk0pKSB7Ci0J CXAtPm51bWFfcHJlZmVycmVkX25pZCA9IC0xOworCQlwLT5udW1hX3ByZWZlcnJlZF9uaWQgPSBO VU1BX05PX05PREU7CiAJCXJldHVybjsKIAl9CiAKQEAgLTExODEsMTMgKzExODEsMTMgQEAgdm9p ZCBpbml0X251bWFfYmFsYW5jaW5nKHVuc2lnbmVkIGxvbmcgY2xvbmVfZmxhZ3MsIHN0cnVjdCB0 YXNrX3N0cnVjdCAqcCkKIAogc3RhdGljIHZvaWQgYWNjb3VudF9udW1hX2VucXVldWUoc3RydWN0 IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKQogewotCXJxLT5ucl9udW1hX3J1bm5pbmcg Kz0gKHAtPm51bWFfcHJlZmVycmVkX25pZCAhPSAtMSk7CisJcnEtPm5yX251bWFfcnVubmluZyAr PSAocC0+bnVtYV9wcmVmZXJyZWRfbmlkICE9IE5VTUFfTk9fTk9ERSk7CiAJcnEtPm5yX3ByZWZl cnJlZF9ydW5uaW5nICs9IChwLT5udW1hX3ByZWZlcnJlZF9uaWQgPT0gdGFza19ub2RlKHApKTsK IH0KIAogc3RhdGljIHZvaWQgYWNjb3VudF9udW1hX2RlcXVldWUoc3RydWN0IHJxICpycSwgc3Ry dWN0IHRhc2tfc3RydWN0ICpwKQogewotCXJxLT5ucl9udW1hX3J1bm5pbmcgLT0gKHAtPm51bWFf cHJlZmVycmVkX25pZCAhPSAtMSk7CisJcnEtPm5yX251bWFfcnVubmluZyAtPSAocC0+bnVtYV9w cmVmZXJyZWRfbmlkICE9IE5VTUFfTk9fTk9ERSk7CiAJcnEtPm5yX3ByZWZlcnJlZF9ydW5uaW5n IC09IChwLT5udW1hX3ByZWZlcnJlZF9uaWQgPT0gdGFza19ub2RlKHApKTsKIH0KIApAQCAtMTQw MSw3ICsxNDAxLDcgQEAgYm9vbCBzaG91bGRfbnVtYV9taWdyYXRlX21lbW9yeShzdHJ1Y3QgdGFz a19zdHJ1Y3QgKnAsIHN0cnVjdCBwYWdlICogcGFnZSwKIAkgKiB0d28gZnVsbCBwYXNzZXMgb2Yg dGhlICJtdWx0aS1zdGFnZSBub2RlIHNlbGVjdGlvbiIgdGVzdCB0aGF0IGlzCiAJICogZXhlY3V0 ZWQgYmVsb3cuCiAJICovCi0JaWYgKChwLT5udW1hX3ByZWZlcnJlZF9uaWQgPT0gLTEgfHwgcC0+ bnVtYV9zY2FuX3NlcSA8PSA0KSAmJgorCWlmICgocC0+bnVtYV9wcmVmZXJyZWRfbmlkID09IE5V TUFfTk9fTk9ERSB8fCBwLT5udW1hX3NjYW5fc2VxIDw9IDQpICYmCiAJICAgIChjcHVwaWRfcGlk X3Vuc2V0KGxhc3RfY3B1cGlkKSB8fCBjcHVwaWRfbWF0Y2hfcGlkKHAsIGxhc3RfY3B1cGlkKSkp CiAJCXJldHVybiB0cnVlOwogCkBAIC0xODQ5LDcgKzE4NDksNyBAQCBzdGF0aWMgdm9pZCBudW1h X21pZ3JhdGVfcHJlZmVycmVkKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIAl1bnNpZ25lZCBsb25n IGludGVydmFsID0gSFo7CiAKIAkvKiBUaGlzIHRhc2sgaGFzIG5vIE5VTUEgZmF1bHQgc3RhdGlz dGljcyB5ZXQgKi8KLQlpZiAodW5saWtlbHkocC0+bnVtYV9wcmVmZXJyZWRfbmlkID09IC0xIHx8 ICFwLT5udW1hX2ZhdWx0cykpCisJaWYgKHVubGlrZWx5KHAtPm51bWFfcHJlZmVycmVkX25pZCA9 PSBOVU1BX05PX05PREUgfHwgIXAtPm51bWFfZmF1bHRzKSkKIAkJcmV0dXJuOwogCiAJLyogUGVy aW9kaWNhbGx5IHJldHJ5IG1pZ3JhdGluZyB0aGUgdGFzayB0byB0aGUgcHJlZmVycmVkIG5vZGUg Ki8KQEAgLTIwOTYsNyArMjA5Niw3IEBAIHN0YXRpYyBpbnQgcHJlZmVycmVkX2dyb3VwX25pZChz dHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBuaWQpCiAKIHN0YXRpYyB2b2lkIHRhc2tfbnVtYV9w bGFjZW1lbnQoc3RydWN0IHRhc2tfc3RydWN0ICpwKQogewotCWludCBzZXEsIG5pZCwgbWF4X25p ZCA9IC0xOworCWludCBzZXEsIG5pZCwgbWF4X25pZCA9IE5VTUFfTk9fTk9ERTsKIAl1bnNpZ25l ZCBsb25nIG1heF9mYXVsdHMgPSAwOwogCXVuc2lnbmVkIGxvbmcgZmF1bHRfdHlwZXNbMl0gPSB7 IDAsIDAgfTsKIAl1bnNpZ25lZCBsb25nIHRvdGFsX2ZhdWx0czsKQEAgLTI2MzksNyArMjYzOSw4 IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9zY2FuX3BlcmlvZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAs IGludCBuZXdfY3B1KQogCQkgKiB0aGUgcHJlZmVycmVkIG5vZGUuCiAJCSAqLwogCQlpZiAoZHN0 X25pZCA9PSBwLT5udW1hX3ByZWZlcnJlZF9uaWQgfHwKLQkJICAgIChwLT5udW1hX3ByZWZlcnJl ZF9uaWQgIT0gLTEgJiYgc3JjX25pZCAhPSBwLT5udW1hX3ByZWZlcnJlZF9uaWQpKQorCQkgICAg KHAtPm51bWFfcHJlZmVycmVkX25pZCAhPSBOVU1BX05PX05PREUgJiYKKwkJCXNyY19uaWQgIT0g cC0+bnVtYV9wcmVmZXJyZWRfbmlkKSkKIAkJCXJldHVybjsKIAl9CiAKZGlmZiAtLWdpdCBhL2xp Yi9jcHVtYXNrLmMgYi9saWIvY3B1bWFzay5jCmluZGV4IDhkNjY2YWIuLjA4N2EzZTkgMTAwNjQ0 Ci0tLSBhL2xpYi9jcHVtYXNrLmMKKysrIGIvbGliL2NwdW1hc2suYwpAQCAtNSw2ICs1LDcgQEAK ICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8bGludXgvZXhwb3J0Lmg+CiAj aW5jbHVkZSA8bGludXgvbWVtYmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9udW1hLmg+CiAKIC8q KgogICogY3B1bWFza19uZXh0IC0gZ2V0IHRoZSBuZXh0IGNwdSBpbiBhIGNwdW1hc2sKQEAgLTIw Niw3ICsyMDcsNyBAQCB1bnNpZ25lZCBpbnQgY3B1bWFza19sb2NhbF9zcHJlYWQodW5zaWduZWQg aW50IGksIGludCBub2RlKQogCS8qIFdyYXA6IHdlIGFsd2F5cyB3YW50IGEgY3B1LiAqLwogCWkg JT0gbnVtX29ubGluZV9jcHVzKCk7CiAKLQlpZiAobm9kZSA9PSAtMSkgeworCWlmIChub2RlID09 IE5VTUFfTk9fTk9ERSkgewogCQlmb3JfZWFjaF9jcHUoY3B1LCBjcHVfb25saW5lX21hc2spCiAJ CQlpZiAoaS0tID09IDApCiAJCQkJcmV0dXJuIGNwdTsKZGlmZiAtLWdpdCBhL21tL2h1Z2VfbWVt b3J5LmMgYi9tbS9odWdlX21lbW9yeS5jCmluZGV4IDVkYTU1YjMuLmIyOWEwMWUgMTAwNjQ0Ci0t LSBhL21tL2h1Z2VfbWVtb3J5LmMKKysrIGIvbW0vaHVnZV9tZW1vcnkuYwpAQCAtMzMsNiArMzMs NyBAQAogI2luY2x1ZGUgPGxpbnV4L3BhZ2VfaWRsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NobWVt X2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvb29tLmg+CisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgog CiAjaW5jbHVkZSA8YXNtL3RsYi5oPgogI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CkBAIC0xNDY5 LDcgKzE0NzAsNyBAQCB2bV9mYXVsdF90IGRvX2h1Z2VfcG1kX251bWFfcGFnZShzdHJ1Y3Qgdm1f ZmF1bHQgKnZtZiwgcG1kX3QgcG1kKQogCXN0cnVjdCBhbm9uX3ZtYSAqYW5vbl92bWEgPSBOVUxM OwogCXN0cnVjdCBwYWdlICpwYWdlOwogCXVuc2lnbmVkIGxvbmcgaGFkZHIgPSB2bWYtPmFkZHJl c3MgJiBIUEFHRV9QTURfTUFTSzsKLQlpbnQgcGFnZV9uaWQgPSAtMSwgdGhpc19uaWQgPSBudW1h X25vZGVfaWQoKTsKKwlpbnQgcGFnZV9uaWQgPSBOVU1BX05PX05PREUsIHRoaXNfbmlkID0gbnVt YV9ub2RlX2lkKCk7CiAJaW50IHRhcmdldF9uaWQsIGxhc3RfY3B1cGlkID0gLTE7CiAJYm9vbCBw YWdlX2xvY2tlZDsKIAlib29sIG1pZ3JhdGVkID0gZmFsc2U7CkBAIC0xNTE1LDcgKzE1MTYsNyBA QCB2bV9mYXVsdF90IGRvX2h1Z2VfcG1kX251bWFfcGFnZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZiwg cG1kX3QgcG1kKQogCSAqLwogCXBhZ2VfbG9ja2VkID0gdHJ5bG9ja19wYWdlKHBhZ2UpOwogCXRh cmdldF9uaWQgPSBtcG9sX21pc3BsYWNlZChwYWdlLCB2bWEsIGhhZGRyKTsKLQlpZiAodGFyZ2V0 X25pZCA9PSAtMSkgeworCWlmICh0YXJnZXRfbmlkID09IE5VTUFfTk9fTk9ERSkgewogCQkvKiBJ ZiB0aGUgcGFnZSB3YXMgbG9ja2VkLCB0aGVyZSBhcmUgbm8gcGFyYWxsZWwgbWlncmF0aW9ucyAq LwogCQlpZiAocGFnZV9sb2NrZWQpCiAJCQlnb3RvIGNsZWFyX3BtZG51bWE7CkBAIC0xNTIzLDcg KzE1MjQsNyBAQCB2bV9mYXVsdF90IGRvX2h1Z2VfcG1kX251bWFfcGFnZShzdHJ1Y3Qgdm1fZmF1 bHQgKnZtZiwgcG1kX3QgcG1kKQogCiAJLyogTWlncmF0aW9uIGNvdWxkIGhhdmUgc3RhcnRlZCBz aW5jZSB0aGUgcG1kX3RyYW5zX21pZ3JhdGluZyBjaGVjayAqLwogCWlmICghcGFnZV9sb2NrZWQp IHsKLQkJcGFnZV9uaWQgPSAtMTsKKwkJcGFnZV9uaWQgPSBOVU1BX05PX05PREU7CiAJCWlmICgh Z2V0X3BhZ2VfdW5sZXNzX3plcm8ocGFnZSkpCiAJCQlnb3RvIG91dF91bmxvY2s7CiAJCXNwaW5f dW5sb2NrKHZtZi0+cHRsKTsKQEAgLTE1NDUsMTQgKzE1NDYsMTQgQEAgdm1fZmF1bHRfdCBkb19o dWdlX3BtZF9udW1hX3BhZ2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYsIHBtZF90IHBtZCkKIAlpZiAo dW5saWtlbHkoIXBtZF9zYW1lKHBtZCwgKnZtZi0+cG1kKSkpIHsKIAkJdW5sb2NrX3BhZ2UocGFn ZSk7CiAJCXB1dF9wYWdlKHBhZ2UpOwotCQlwYWdlX25pZCA9IC0xOworCQlwYWdlX25pZCA9IE5V TUFfTk9fTk9ERTsKIAkJZ290byBvdXRfdW5sb2NrOwogCX0KIAogCS8qIEJhaWwgaWYgd2UgZmFp bCB0byBwcm90ZWN0IGFnYWluc3QgVEhQIHNwbGl0cyBmb3IgYW55IHJlYXNvbiAqLwogCWlmICh1 bmxpa2VseSghYW5vbl92bWEpKSB7CiAJCXB1dF9wYWdlKHBhZ2UpOwotCQlwYWdlX25pZCA9IC0x OworCQlwYWdlX25pZCA9IE5VTUFfTk9fTk9ERTsKIAkJZ290byBjbGVhcl9wbWRudW1hOwogCX0K IApAQCAtMTYxNCw3ICsxNjE1LDcgQEAgdm1fZmF1bHRfdCBkb19odWdlX3BtZF9udW1hX3BhZ2Uo c3RydWN0IHZtX2ZhdWx0ICp2bWYsIHBtZF90IHBtZCkKIAlpZiAoYW5vbl92bWEpCiAJCXBhZ2Vf dW5sb2NrX2Fub25fdm1hX3JlYWQoYW5vbl92bWEpOwogCi0JaWYgKHBhZ2VfbmlkICE9IC0xKQor CWlmIChwYWdlX25pZCAhPSBOVU1BX05PX05PREUpCiAJCXRhc2tfbnVtYV9mYXVsdChsYXN0X2Nw dXBpZCwgcGFnZV9uaWQsIEhQQUdFX1BNRF9OUiwKIAkJCQlmbGFncyk7CiAKZGlmZiAtLWdpdCBh L21tL2h1Z2V0bGIuYyBiL21tL2h1Z2V0bGIuYwppbmRleCBhODA4MzI0Li4zMzNjODE5IDEwMDY0 NAotLS0gYS9tbS9odWdldGxiLmMKKysrIGIvbW0vaHVnZXRsYi5jCkBAIC0yNSw2ICsyNSw3IEBA CiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogI2luY2x1ZGUgPGxpbnV4L3N3YXBvcHMuaD4KICNp bmNsdWRlIDxsaW51eC9qaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L251bWEuaD4KIAogI2luY2x1 ZGUgPGFzbS9wYWdlLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KQEAgLTg4Nyw3ICs4ODgs NyBAQCBzdGF0aWMgc3RydWN0IHBhZ2UgKmRlcXVldWVfaHVnZV9wYWdlX25vZGVtYXNrKHN0cnVj dCBoc3RhdGUgKmgsIGdmcF90IGdmcF9tYXNrLAogCXN0cnVjdCB6b25lbGlzdCAqem9uZWxpc3Q7 CiAJc3RydWN0IHpvbmUgKnpvbmU7CiAJc3RydWN0IHpvbmVyZWYgKno7Ci0JaW50IG5vZGUgPSAt MTsKKwlpbnQgbm9kZSA9IE5VTUFfTk9fTk9ERTsKIAogCXpvbmVsaXN0ID0gbm9kZV96b25lbGlz dChuaWQsIGdmcF9tYXNrKTsKIApkaWZmIC0tZ2l0IGEvbW0va3NtLmMgYi9tbS9rc20uYwppbmRl eCA1YjA4OTRiLi5kNWY4ODM0IDEwMDY0NAotLS0gYS9tbS9rc20uYworKysgYi9tbS9rc20uYwpA QCAtNTk3LDcgKzU5Nyw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc3RhYmxlX25vZGUgKmFsbG9jX3N0YWJs ZV9ub2RlX2NoYWluKHN0cnVjdCBzdGFibGVfbm9kZSAqZHVwLAogCQljaGFpbi0+Y2hhaW5fcHJ1 bmVfdGltZSA9IGppZmZpZXM7CiAJCWNoYWluLT5ybWFwX2hsaXN0X2xlbiA9IFNUQUJMRV9OT0RF X0NIQUlOOwogI2lmIGRlZmluZWQgKENPTkZJR19ERUJVR19WTSkgJiYgZGVmaW5lZChDT05GSUdf TlVNQSkKLQkJY2hhaW4tPm5pZCA9IC0xOyAvKiBkZWJ1ZyAqLworCQljaGFpbi0+bmlkID0gTlVN QV9OT19OT0RFOyAvKiBkZWJ1ZyAqLwogI2VuZGlmCiAJCWtzbV9zdGFibGVfbm9kZV9jaGFpbnMr KzsKIApkaWZmIC0tZ2l0IGEvbW0vbWVtb3J5LmMgYi9tbS9tZW1vcnkuYwppbmRleCA0YWQyZDI5 Li5lZDMyNGY4IDEwMDY0NAotLS0gYS9tbS9tZW1vcnkuYworKysgYi9tbS9tZW1vcnkuYwpAQCAt NjksNiArNjksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3VzZXJmYXVsdGZkX2suaD4KICNpbmNsdWRl IDxsaW51eC9kYXguaD4KICNpbmNsdWRlIDxsaW51eC9vb20uaD4KKyNpbmNsdWRlIDxsaW51eC9u dW1hLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQu aD4KQEAgLTM1NjQsNyArMzU2NSw3IEBAIHN0YXRpYyB2bV9mYXVsdF90IGRvX251bWFfcGFnZShz dHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIHsKIAlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSA9IHZt Zi0+dm1hOwogCXN0cnVjdCBwYWdlICpwYWdlID0gTlVMTDsKLQlpbnQgcGFnZV9uaWQgPSAtMTsK KwlpbnQgcGFnZV9uaWQgPSBOVU1BX05PX05PREU7CiAJaW50IGxhc3RfY3B1cGlkOwogCWludCB0 YXJnZXRfbmlkOwogCWJvb2wgbWlncmF0ZWQgPSBmYWxzZTsKQEAgLTM2MzEsNyArMzYzMiw3IEBA IHN0YXRpYyB2bV9mYXVsdF90IGRvX251bWFfcGFnZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIAl0 YXJnZXRfbmlkID0gbnVtYV9taWdyYXRlX3ByZXAocGFnZSwgdm1hLCB2bWYtPmFkZHJlc3MsIHBh Z2VfbmlkLAogCQkJJmZsYWdzKTsKIAlwdGVfdW5tYXBfdW5sb2NrKHZtZi0+cHRlLCB2bWYtPnB0 bCk7Ci0JaWYgKHRhcmdldF9uaWQgPT0gLTEpIHsKKwlpZiAodGFyZ2V0X25pZCA9PSBOVU1BX05P X05PREUpIHsKIAkJcHV0X3BhZ2UocGFnZSk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTM2NDUsNyAr MzY0Niw3IEBAIHN0YXRpYyB2bV9mYXVsdF90IGRvX251bWFfcGFnZShzdHJ1Y3Qgdm1fZmF1bHQg KnZtZikKIAkJZmxhZ3MgfD0gVE5GX01JR1JBVEVfRkFJTDsKIAogb3V0OgotCWlmIChwYWdlX25p ZCAhPSAtMSkKKwlpZiAocGFnZV9uaWQgIT0gTlVNQV9OT19OT0RFKQogCQl0YXNrX251bWFfZmF1 bHQobGFzdF9jcHVwaWQsIHBhZ2VfbmlkLCAxLCBmbGFncyk7CiAJcmV0dXJuIDA7CiB9CmRpZmYg LS1naXQgYS9tbS9tZW1vcnlfaG90cGx1Zy5jIGIvbW0vbWVtb3J5X2hvdHBsdWcuYwppbmRleCAy YjJiM2NjLi43MGUwMmY4IDEwMDY0NAotLS0gYS9tbS9tZW1vcnlfaG90cGx1Zy5jCisrKyBiL21t L21lbW9yeV9ob3RwbHVnLmMKQEAgLTY4OCw5ICs2ODgsOSBAQCBzdGF0aWMgdm9pZCBub2RlX3N0 YXRlc19jaGVja19jaGFuZ2VzX29ubGluZSh1bnNpZ25lZCBsb25nIG5yX3BhZ2VzLAogewogCWlu dCBuaWQgPSB6b25lX3RvX25pZCh6b25lKTsKIAotCWFyZy0+c3RhdHVzX2NoYW5nZV9uaWQgPSAt MTsKLQlhcmctPnN0YXR1c19jaGFuZ2VfbmlkX25vcm1hbCA9IC0xOwotCWFyZy0+c3RhdHVzX2No YW5nZV9uaWRfaGlnaCA9IC0xOworCWFyZy0+c3RhdHVzX2NoYW5nZV9uaWQgPSBOVU1BX05PX05P REU7CisJYXJnLT5zdGF0dXNfY2hhbmdlX25pZF9ub3JtYWwgPSBOVU1BX05PX05PREU7CisJYXJn LT5zdGF0dXNfY2hhbmdlX25pZF9oaWdoID0gTlVNQV9OT19OT0RFOwogCiAJaWYgKCFub2RlX3N0 YXRlKG5pZCwgTl9NRU1PUlkpKQogCQlhcmctPnN0YXR1c19jaGFuZ2VfbmlkID0gbmlkOwpAQCAt MTQ4NCw5ICsxNDg0LDkgQEAgc3RhdGljIHZvaWQgbm9kZV9zdGF0ZXNfY2hlY2tfY2hhbmdlc19v ZmZsaW5lKHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMsCiAJdW5zaWduZWQgbG9uZyBwcmVzZW50X3Bh Z2VzID0gMDsKIAllbnVtIHpvbmVfdHlwZSB6dDsKIAotCWFyZy0+c3RhdHVzX2NoYW5nZV9uaWQg PSAtMTsKLQlhcmctPnN0YXR1c19jaGFuZ2VfbmlkX25vcm1hbCA9IC0xOwotCWFyZy0+c3RhdHVz X2NoYW5nZV9uaWRfaGlnaCA9IC0xOworCWFyZy0+c3RhdHVzX2NoYW5nZV9uaWQgPSBOVU1BX05P X05PREU7CisJYXJnLT5zdGF0dXNfY2hhbmdlX25pZF9ub3JtYWwgPSBOVU1BX05PX05PREU7CisJ YXJnLT5zdGF0dXNfY2hhbmdlX25pZF9oaWdoID0gTlVNQV9OT19OT0RFOwogCiAJLyoKIAkgKiBD aGVjayB3aGV0aGVyIG5vZGVfc3RhdGVzW05fTk9STUFMX01FTU9SWV0gd2lsbCBiZSBjaGFuZ2Vk LgpkaWZmIC0tZ2l0IGEvbW0vbWVtcG9saWN5LmMgYi9tbS9tZW1wb2xpY3kuYwppbmRleCBkNDQ5 NmQ5Li42NDljM2UzIDEwMDY0NAotLS0gYS9tbS9tZW1wb2xpY3kuYworKysgYi9tbS9tZW1wb2xp Y3kuYwpAQCAtMjMwNCw3ICsyMzA0LDcgQEAgaW50IG1wb2xfbWlzcGxhY2VkKHN0cnVjdCBwYWdl ICpwYWdlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZwogCXVuc2ln bmVkIGxvbmcgcGdvZmY7CiAJaW50IHRoaXNjcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOwog CWludCB0aGlzbmlkID0gY3B1X3RvX25vZGUodGhpc2NwdSk7Ci0JaW50IHBvbG5pZCA9IC0xOwor CWludCBwb2xuaWQgPSBOVU1BX05PX05PREU7CiAJaW50IHJldCA9IC0xOwogCiAJcG9sID0gZ2V0 X3ZtYV9wb2xpY3kodm1hLCBhZGRyKTsKZGlmZiAtLWdpdCBhL21tL3BhZ2VfYWxsb2MuYyBiL21t L3BhZ2VfYWxsb2MuYwppbmRleCAyZWM5Y2M0Li5hNGUxZTI0IDEwMDY0NAotLS0gYS9tbS9wYWdl X2FsbG9jLmMKKysrIGIvbW0vcGFnZV9hbGxvYy5jCkBAIC01ODQ2LDcgKzU4NDYsNyBAQCBpbnQg X19tZW1pbml0IF9fZWFybHlfcGZuX3RvX25pZCh1bnNpZ25lZCBsb25nIHBmbiwKIAkJcmV0dXJu IHN0YXRlLT5sYXN0X25pZDsKIAogCW5pZCA9IG1lbWJsb2NrX3NlYXJjaF9wZm5fbmlkKHBmbiwg JnN0YXJ0X3BmbiwgJmVuZF9wZm4pOwotCWlmIChuaWQgIT0gLTEpIHsKKwlpZiAobmlkICE9IE5V TUFfTk9fTk9ERSkgewogCQlzdGF0ZS0+bGFzdF9zdGFydCA9IHN0YXJ0X3BmbjsKIAkJc3RhdGUt Pmxhc3RfZW5kID0gZW5kX3BmbjsKIAkJc3RhdGUtPmxhc3RfbmlkID0gbmlkOwpAQCAtNjYwNyw3 ICs2NjA3LDcgQEAgdW5zaWduZWQgbG9uZyBfX2luaXQgbm9kZV9tYXBfcGZuX2FsaWdubWVudCh2 b2lkKQogewogCXVuc2lnbmVkIGxvbmcgYWNjbF9tYXNrID0gMCwgbGFzdF9lbmQgPSAwOwogCXVu c2lnbmVkIGxvbmcgc3RhcnQsIGVuZCwgbWFzazsKLQlpbnQgbGFzdF9uaWQgPSAtMTsKKwlpbnQg bGFzdF9uaWQgPSBOVU1BX05PX05PREU7CiAJaW50IGksIG5pZDsKIAogCWZvcl9lYWNoX21lbV9w Zm5fcmFuZ2UoaSwgTUFYX05VTU5PREVTLCAmc3RhcnQsICZlbmQsICZuaWQpIHsKZGlmZiAtLWdp dCBhL21tL3BhZ2VfZXh0LmMgYi9tbS9wYWdlX2V4dC5jCmluZGV4IGFlNDRmN2EuLmRmYjAyMDYg MTAwNjQ0Ci0tLSBhL21tL3BhZ2VfZXh0LmMKKysrIGIvbW0vcGFnZV9leHQuYwpAQCAtMzAwLDcg KzMwMCw3IEBAIHN0YXRpYyBpbnQgX19tZW1pbml0IG9ubGluZV9wYWdlX2V4dCh1bnNpZ25lZCBs b25nIHN0YXJ0X3BmbiwKIAlzdGFydCA9IFNFQ1RJT05fQUxJR05fRE9XTihzdGFydF9wZm4pOwog CWVuZCA9IFNFQ1RJT05fQUxJR05fVVAoc3RhcnRfcGZuICsgbnJfcGFnZXMpOwogCi0JaWYgKG5p ZCA9PSAtMSkgeworCWlmIChuaWQgPT0gTlVNQV9OT19OT0RFKSB7CiAJCS8qCiAJCSAqIEluIHRo aXMgY2FzZSwgIm5pZCIgYWxyZWFkeSBleGlzdHMgYW5kIGNvbnRhaW5zIHZhbGlkIG1lbW9yeS4K IAkJICogInN0YXJ0X3BmbiIgcGFzc2VkIHRvIHVzIGlzIGEgcGZuIHdoaWNoIGlzIGFuIGFyZyBm b3IKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3BrdGdlbi5jIGIvbmV0L2NvcmUvcGt0Z2VuLmMKaW5k ZXggNmFjOTE5OC4uZjNmNWE3OCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvcGt0Z2VuLmMKKysrIGIv bmV0L2NvcmUvcGt0Z2VuLmMKQEAgLTE1OCw2ICsxNTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2V0 aGVyZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgogI2luY2x1ZGUgPGxpbnV4 L3ByZWZldGNoLmg+CisjaW5jbHVkZSA8bGludXgvbW16b25lLmg+CiAjaW5jbHVkZSA8bmV0L25l dF9uYW1lc3BhY2UuaD4KICNpbmNsdWRlIDxuZXQvY2hlY2tzdW0uaD4KICNpbmNsdWRlIDxuZXQv aXB2Ni5oPgpAQCAtMzYyNSw3ICszNjI2LDcgQEAgc3RhdGljIGludCBwa3RnZW5fYWRkX2Rldmlj ZShzdHJ1Y3QgcGt0Z2VuX3RocmVhZCAqdCwgY29uc3QgY2hhciAqaWZuYW1lKQogCXBrdF9kZXYt PnN2bGFuX2NmaSA9IDA7CiAJcGt0X2Rldi0+c3ZsYW5faWQgPSAweGZmZmY7CiAJcGt0X2Rldi0+ YnVyc3QgPSAxOwotCXBrdF9kZXYtPm5vZGUgPSAtMTsKKwlwa3RfZGV2LT5ub2RlID0gTlVNQV9O T19OT0RFOwogCiAJZXJyID0gcGt0Z2VuX3NldHVwX2Rldih0LT5uZXQsIHBrdF9kZXYsIGlmbmFt ZSk7CiAJaWYgKGVycikKZGlmZiAtLWdpdCBhL25ldC9xcnRyL3FydHIuYyBiL25ldC9xcnRyL3Fy dHIuYwppbmRleCA4NmUxZTM3Li5iMzdlNmUwIDEwMDY0NAotLS0gYS9uZXQvcXJ0ci9xcnRyLmMK KysrIGIvbmV0L3FydHIvcXJ0ci5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGludXgv bmV0bGluay5oPgogI2luY2x1ZGUgPGxpbnV4L3FydHIuaD4KICNpbmNsdWRlIDxsaW51eC90ZXJt aW9zLmg+CS8qIEZvciBUSU9DSU5RL09VVFEgKi8KKyNpbmNsdWRlIDxsaW51eC9udW1hLmg+CiAK ICNpbmNsdWRlIDxuZXQvc29jay5oPgogCkBAIC0xMDEsNyArMTAyLDcgQEAgc3RhdGljIGlubGlu ZSBzdHJ1Y3QgcXJ0cl9zb2NrICpxcnRyX3NrKHN0cnVjdCBzb2NrICpzaykKIAlyZXR1cm4gY29u dGFpbmVyX29mKHNrLCBzdHJ1Y3QgcXJ0cl9zb2NrLCBzayk7CiB9CiAKLXN0YXRpYyB1bnNpZ25l ZCBpbnQgcXJ0cl9sb2NhbF9uaWQgPSAtMTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcXJ0cl9sb2Nh bF9uaWQgPSBOVU1BX05PX05PREU7CiAKIC8qIGZvciBub2RlIGlkcyAqLwogc3RhdGljIFJBRElY X1RSRUUocXJ0cl9ub2RlcywgR0ZQX0tFUk5FTCk7Cg==