From mboxrd@z Thu Jan 1 00:00:00 1970 From: tip-bot for Andy Lutomirski Subject: [tip:x86/mm] x86/mm: Split read_cr3() into read_cr3_pa() and __read_cr3() Date: Tue, 13 Jun 2017 03:04:02 -0700 Message-ID: References: <883f8fb121f4616c1c1427ad87350bb2f5ffeca1.1497288170.git.luto@kernel.org> Reply-To: tglx@linutronix.de, jpoimboe@redhat.com, peterz@infradead.org, linux-kernel@vger.kernel.org, hpa@zytor.com, jgross@suse.com, bp@alien8.de, brgerst@gmail.com, thomas.lendacky@amd.com, luto@kernel.org, torvalds@linux-foundation.org, boris.ostrovsky@oracle.com, mingo@kernel.org, xen-devel@lists.xen.org, dvlasenk@redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <883f8fb121f4616c1c1427ad87350bb2f5ffeca1.1497288170.git.luto@kernel.org> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: linux-tip-commits@vger.kernel.org Cc: jgross@suse.com, thomas.lendacky@amd.com, dvlasenk@redhat.com, peterz@infradead.org, brgerst@gmail.com, boris.ostrovsky@oracle.com, hpa@zytor.com, linux-kernel@vger.kernel.org, xen-devel@lists.xen.org, bp@alien8.de, luto@kernel.org, jpoimboe@redhat.com, tglx@linutronix.de, torvalds@linux-foundation.org, mingo@kernel.org List-Id: xen-devel@lists.xenproject.org Q29tbWl0LUlEOiAgNmM2OTBlZTEwMzliMjUxZTU4M2ZjNjViMjhkYTMwZTk3ZDZhNzM4NQpHaXR3 ZWI6ICAgICBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvdGlwLzZjNjkwZWUxMDM5YjI1MWU1ODNmYzY1 YjI4ZGEzMGU5N2Q2YTczODUKQXV0aG9yOiAgICAgQW5keSBMdXRvbWlyc2tpIDxsdXRvQGtlcm5l bC5vcmc+CkF1dGhvckRhdGU6IE1vbiwgMTIgSnVuIDIwMTcgMTA6MjY6MTQgLTA3MDAKQ29tbWl0 dGVyOiAgSW5nbyBNb2xuYXIgPG1pbmdvQGtlcm5lbC5vcmc+CkNvbW1pdERhdGU6IFR1ZSwgMTMg SnVuIDIwMTcgMDg6NDg6MDkgKzAyMDAKCng4Ni9tbTogU3BsaXQgcmVhZF9jcjMoKSBpbnRvIHJl YWRfY3IzX3BhKCkgYW5kIF9fcmVhZF9jcjMoKQoKVGhlIGtlcm5lbCBoYXMgc2V2ZXJhbCBjb2Rl IHBhdGhzIHRoYXQgcmVhZCBDUjMuICBNb3N0IG9mIHRoZW0gYXNzdW1lIHRoYXQKQ1IzIGNvbnRh aW5zIHRoZSBQR0QncyBwaHlzaWNhbCBhZGRyZXNzLCB3aGVyZWFzIHNvbWUgb2YgdGhlbSBhd2t3 YXJkbHkKdXNlIFBIWVNJQ0FMX1BBR0VfTUFTSyB0byBtYXNrIG9mZiBsb3cgYml0cy4KCkFkZCBl eHBsaWNpdCBtYXNrIG1hY3JvcyBmb3IgQ1IzIGFuZCBjb252ZXJ0IGFsbCBvZiB0aGUgQ1IzIHJl YWRlcnMuClRoaXMgd2lsbCBrZWVwIHRoZW0gZnJvbSBicmVha2luZyB3aGVuIFBDSUQgaXMgZW5h YmxlZC4KClNpZ25lZC1vZmYtYnk6IEFuZHkgTHV0b21pcnNraSA8bHV0b0BrZXJuZWwub3JnPgpD YzogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4KQ2M6IEJvcmlz bGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPgpDYzogQnJpYW4gR2Vyc3QgPGJyZ2Vyc3RAZ21haWwu Y29tPgpDYzogRGVueXMgVmxhc2Vua28gPGR2bGFzZW5rQHJlZGhhdC5jb20+CkNjOiBILiBQZXRl ciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4KQ2M6IEpvc2ggUG9pbWJvZXVmIDxqcG9pbWJvZUByZWRo YXQuY29tPgpDYzogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpDYzogTGludXMgVG9y dmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgpDYzogUGV0ZXIgWmlqbHN0cmEg PHBldGVyekBpbmZyYWRlYWQub3JnPgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9u aXguZGU+CkNjOiBUb20gTGVuZGFja3kgPHRob21hcy5sZW5kYWNreUBhbWQuY29tPgpDYzogeGVu LWRldmVsIDx4ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZz4KTGluazogaHR0cDovL2xrbWwua2VybmVs Lm9yZy9yLzg4M2Y4ZmIxMjFmNDYxNmMxYzE0MjdhZDg3MzUwYmIyZjVmZmVjYTEuMTQ5NzI4ODE3 MC5naXQubHV0b0BrZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IEluZ28gTW9sbmFyIDxtaW5nb0Br ZXJuZWwub3JnPgotLS0KIGFyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9wYWdldGFibGUuYyAgIHwg IDIgKy0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL2VmaS5oICAgICAgICAgICAgIHwgIDIgKy0KIGFy Y2gveDg2L2luY2x1ZGUvYXNtL21tdV9jb250ZXh0LmggICAgIHwgIDQgKystLQogYXJjaC94ODYv aW5jbHVkZS9hc20vcGFyYXZpcnQuaCAgICAgICAgfCAgMiArLQogYXJjaC94ODYvaW5jbHVkZS9h c20vcHJvY2Vzc29yLWZsYWdzLmggfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCAgICAgICB8ICA4ICsrKysrKysr CiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9zcGVjaWFsX2luc25zLmggICB8IDEwICsrKysrKystLS0K IGFyY2gveDg2L2luY2x1ZGUvYXNtL3RsYmZsdXNoLmggICAgICAgIHwgIDQgKystLQogYXJjaC94 ODYva2VybmVsL2hlYWQ2NC5jICAgICAgICAgICAgICAgfCAgMyArKy0KIGFyY2gveDg2L2tlcm5l bC9wYXJhdmlydC5jICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC9wcm9jZXNz XzMyLmMgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMgICAg ICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2t2bS92bXguYyAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGFyY2gveDg2L21tL2ZhdWx0LmMgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKyst LS0tLQogYXJjaC94ODYvbW0vaW9yZW1hcC5jICAgICAgICAgICAgICAgICAgfCAgMiArLQogYXJj aC94ODYvcGxhdGZvcm0vZWZpL2VmaV82NC5jICAgICAgICAgfCAgNCArKy0tCiBhcmNoL3g4Ni9w bGF0Zm9ybS9vbHBjL29scGMteG8xLXBtLmMgICB8ICAyICstCiBhcmNoL3g4Ni9wb3dlci9jcHUu YyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfNjQu YyAgICAgICAgICB8ICAzICsrLQogYXJjaC94ODYveGVuL21tdV9wdi5jICAgICAgICAgICAgICAg ICAgfCAgNiArKystLS0KIDIwIGZpbGVzIGNoYW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDI5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9wYWdldGFi bGUuYyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9wYWdldGFibGUuYwppbmRleCAxZDc4ZjE3 Li44ZTY5ZGY5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvcGFnZXRhYmxl LmMKKysrIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL3BhZ2V0YWJsZS5jCkBAIC05Miw3ICs5 Miw3IEBAIHZvaWQgaW5pdGlhbGl6ZV9pZGVudGl0eV9tYXBzKHZvaWQpCiAJICogYW5kIHdlIG11 c3QgYXBwZW5kIHRvIHRoZSBleGlzdGluZyBhcmVhIGluc3RlYWQgb2YgZW50aXJlbHkKIAkgKiBv dmVyd3JpdGluZyBpdC4KIAkgKi8KLQlsZXZlbDRwID0gcmVhZF9jcjMoKTsKKwlsZXZlbDRwID0g cmVhZF9jcjNfcGEoKTsKIAlpZiAobGV2ZWw0cCA9PSAodW5zaWduZWQgbG9uZylfcGd0YWJsZSkg ewogCQlkZWJ1Z19wdXRzdHIoImJvb3RlZCB2aWEgc3RhcnR1cF8zMigpXG4iKTsKIAkJcGd0X2Rh dGEucGd0X2J1ZiA9IF9wZ3RhYmxlICsgQk9PVF9JTklUX1BHVF9TSVpFOwpkaWZmIC0tZ2l0IGEv YXJjaC94ODYvaW5jbHVkZS9hc20vZWZpLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9lZmkuaApp bmRleCAyZjc3YmNlLi5kMmZmNzc5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9l ZmkuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9lZmkuaApAQCAtNzQsNyArNzQsNyBAQCBz dHJ1Y3QgZWZpX3NjcmF0Y2ggewogCV9fa2VybmVsX2ZwdV9iZWdpbigpOwkJCQkJCVwKIAkJCQkJ CQkJCVwKIAlpZiAoZWZpX3NjcmF0Y2gudXNlX3BnZCkgewkJCQkJXAotCQllZmlfc2NyYXRjaC5w cmV2X2NyMyA9IHJlYWRfY3IzKCk7CQkJXAorCQllZmlfc2NyYXRjaC5wcmV2X2NyMyA9IF9fcmVh ZF9jcjMoKTsJCQlcCiAJCXdyaXRlX2NyMygodW5zaWduZWQgbG9uZyllZmlfc2NyYXRjaC5lZmlf cGd0KTsJCVwKIAkJX19mbHVzaF90bGJfYWxsKCk7CQkJCQlcCiAJfQkJCQkJCQkJXApkaWZmIC0t Z2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vbW11X2NvbnRleHQuaCBiL2FyY2gveDg2L2luY2x1 ZGUvYXNtL21tdV9jb250ZXh0LmgKaW5kZXggNWE5M2Y2Mi4uY2ZlNjAzNCAxMDA2NDQKLS0tIGEv YXJjaC94ODYvaW5jbHVkZS9hc20vbW11X2NvbnRleHQuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRl L2FzbS9tbXVfY29udGV4dC5oCkBAIC0yNjksNyArMjY5LDcgQEAgc3RhdGljIGlubGluZSBib29s IGFyY2hfdm1hX2FjY2Vzc19wZXJtaXR0ZWQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAK IC8qCiAgKiBUaGlzIGNhbiBiZSB1c2VkIGZyb20gcHJvY2VzcyBjb250ZXh0IHRvIGZpZ3VyZSBv dXQgd2hhdCB0aGUgdmFsdWUgb2YKLSAqIENSMyBpcyB3aXRob3V0IG5lZWRpbmcgdG8gZG8gYSAo c2xvdykgcmVhZF9jcjMoKS4KKyAqIENSMyBpcyB3aXRob3V0IG5lZWRpbmcgdG8gZG8gYSAoc2xv dykgX19yZWFkX2NyMygpLgogICoKICAqIEl0J3MgaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3IgY29k ZSBsaWtlIEtWTSB0aGF0IHNuZWFraWx5IGNoYW5nZXMgQ1IzCiAgKiBhbmQgbmVlZHMgdG8gcmVz dG9yZSBpdC4gIEl0IG5lZWRzIHRvIGJlIHVzZWQgdmVyeSBjYXJlZnVsbHkuCkBAIC0yODEsNyAr MjgxLDcgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIF9fZ2V0X2N1cnJlbnRfY3IzX2Zh c3Qodm9pZCkKIAkvKiBGb3Igbm93LCBiZSB2ZXJ5IHJlc3RyaWN0aXZlIGFib3V0IHdoZW4gdGhp cyBjYW4gYmUgY2FsbGVkLiAqLwogCVZNX1dBUk5fT04oaW5fbm1pKCkgfHwgIWluX2F0b21pYygp KTsKIAotCVZNX0JVR19PTihjcjMgIT0gcmVhZF9jcjMoKSk7CisJVk1fQlVHX09OKGNyMyAhPSBf X3JlYWRfY3IzKCkpOwogCXJldHVybiBjcjM7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL3BhcmF2aXJ0LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5oCmlu ZGV4IDlhMTU3MzkuLmE2M2U3N2YgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Bh cmF2aXJ0LmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnQuaApAQCAtNjEsNyAr NjEsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgd3JpdGVfY3IyKHVuc2lnbmVkIGxvbmcgeCkKIAlQ Vk9QX1ZDQUxMMShwdl9tbXVfb3BzLndyaXRlX2NyMiwgeCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUg dW5zaWduZWQgbG9uZyByZWFkX2NyMyh2b2lkKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25n IF9fcmVhZF9jcjModm9pZCkKIHsKIAlyZXR1cm4gUFZPUF9DQUxMMCh1bnNpZ25lZCBsb25nLCBw dl9tbXVfb3BzLnJlYWRfY3IzKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNt L3Byb2Nlc3Nvci1mbGFncy5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLWZsYWdz LmgKaW5kZXggMzlmYjYxOC4uNzlhYTJmOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9h c20vcHJvY2Vzc29yLWZsYWdzLmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29y LWZsYWdzLmgKQEAgLTgsNCArOCw0MCBAQAogI2Vsc2UKICNkZWZpbmUgWDg2X1ZNX01BU0sJMCAv KiBObyBWTTg2IHN1cHBvcnQgKi8KICNlbmRpZgorCisvKgorICogQ1IzJ3MgbGF5b3V0IHZhcmll cyBkZXBlbmRpbmcgb24gc2V2ZXJhbCB0aGluZ3MuCisgKgorICogSWYgQ1I0LlBDSURFIGlzIHNl dCAoNjQtYml0IG9ubHkpLCB0aGVuIENSM1sxMTowXSBpcyB0aGUgYWRkcmVzcyBzcGFjZSBJRC4K KyAqIElmIFBBRSBpcyBlbmFibGVkLCB0aGVuIENSM1sxMTo1XSBpcyBwYXJ0IG9mIHRoZSBQRFBU IGFkZHJlc3MKKyAqIChpLmUuIGl0J3MgMzItYnl0ZSBhbGlnbmVkLCBub3QgcGFnZS1hbGlnbmVk KSBhbmQgQ1IzWzQ6MF0gaXMgaWdub3JlZC4KKyAqIE90aGVyd2lzZSAobm9uLVBBRSwgbm9uLVBD SUQpLCBDUjNbM10gaXMgUFdULCBDUjNbNF0gaXMgUENELCBhbmQKKyAqIENSM1syOjBdIGFuZCBD UjNbMTE6NV0gYXJlIGlnbm9yZWQuCisgKgorICogSW4gYWxsIGNhc2VzLCBMaW51eCBwdXRzIHpl cm9zIGluIHRoZSBsb3cgaWdub3JlZCBiaXRzIGFuZCBpbiBQV1QgYW5kIFBDRC4KKyAqCisgKiBD UjNbNjNdIGlzIGFsd2F5cyByZWFkIGFzIHplcm8uICBJZiBDUjQuUENJREUgaXMgc2V0LCB0aGVu IENSM1s2M10gbWF5IGJlCisgKiB3cml0dGVuIGFzIDEgdG8gcHJldmVudCB0aGUgd3JpdGUgdG8g Q1IzIGZyb20gZmx1c2hpbmcgdGhlIFRMQi4KKyAqCisgKiBPbiBzeXN0ZW1zIHdpdGggU01FLCBv bmUgYml0IChpbiBhIHZhcmlhYmxlIHBvc2l0aW9uISkgaXMgc3RvbGVuIHRvIGluZGljYXRlCisg KiB0aGF0IHRoZSB0b3AtbGV2ZWwgcGFnaW5nIHN0cnVjdHVyZSBpcyBlbmNyeXB0ZWQuCisgKgor ICogQWxsIG9mIHRoZSByZW1haW5pbmcgYml0cyBpbmRpY2F0ZSB0aGUgcGh5c2ljYWwgYWRkcmVz cyBvZiB0aGUgdG9wLWxldmVsCisgKiBwYWdpbmcgc3RydWN0dXJlLgorICoKKyAqIENSM19BRERS X01BU0sgaXMgdGhlIG1hc2sgdXNlZCBieSByZWFkX2NyM19wYSgpLgorICovCisjaWZkZWYgQ09O RklHX1g4Nl82NAorLyogTWFzayBvZmYgdGhlIGFkZHJlc3Mgc3BhY2UgSUQgYml0cy4gKi8KKyNk ZWZpbmUgQ1IzX0FERFJfTUFTSyAweDdGRkZGRkZGRkZGRkYwMDB1bGwKKyNkZWZpbmUgQ1IzX1BD SURfTUFTSyAweEZGRnVsbAorI2Vsc2UKKy8qCisgKiBDUjNfQUREUl9NQVNLIG5lZWRzIGF0IGxl YXN0IGJpdHMgMzE6NSBzZXQgb24gUEFFIHN5c3RlbXMsIGFuZCB3ZSBzYXZlCisgKiBhIHRpbnkg Yml0IG9mIGNvZGUgc2l6ZSBieSBzZXR0aW5nIGFsbCB0aGUgYml0cy4KKyAqLworI2RlZmluZSBD UjNfQUREUl9NQVNLIDB4RkZGRkZGRkZ1bGwKKyNkZWZpbmUgQ1IzX1BDSURfTUFTSyAwdWxsCisj ZW5kaWYKKwogI2VuZGlmIC8qIF9BU01fWDg2X1BST0NFU1NPUl9GTEFHU19IICovCmRpZmYgLS1n aXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCBiL2FyY2gveDg2L2luY2x1ZGUv YXNtL3Byb2Nlc3Nvci5oCmluZGV4IDNjYWRhOTkuLjlkZTAyYzkgMTAwNjQ0Ci0tLSBhL2FyY2gv eDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3By b2Nlc3Nvci5oCkBAIC0yMzEsNiArMjMxLDE0IEBAIG5hdGl2ZV9jcHVpZF9yZWcoZWJ4KQogbmF0 aXZlX2NwdWlkX3JlZyhlY3gpCiBuYXRpdmVfY3B1aWRfcmVnKGVkeCkKIAorLyoKKyAqIEZyaWVu ZGxpZXIgQ1IzIGhlbHBlcnMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyByZWFk X2NyM19wYSh2b2lkKQoreworCXJldHVybiBfX3JlYWRfY3IzKCkgJiBDUjNfQUREUl9NQVNLOwor fQorCiBzdGF0aWMgaW5saW5lIHZvaWQgbG9hZF9jcjMocGdkX3QgKnBnZGlyKQogewogCXdyaXRl X2NyMyhfX3BhKHBnZGlyKSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zcGVj aWFsX2luc25zLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zcGVjaWFsX2luc25zLmgKaW5kZXgg MTJhZjNlMy4uOWVmYWFiZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vc3BlY2lh bF9pbnNucy5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3NwZWNpYWxfaW5zbnMuaApAQCAt MzksNyArMzksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbmF0aXZlX3dyaXRlX2NyMih1bnNpZ25l ZCBsb25nIHZhbCkKIAlhc20gdm9sYXRpbGUoIm1vdiAlMCwlJWNyMiI6IDogInIiICh2YWwpLCAi bSIgKF9fZm9yY2Vfb3JkZXIpKTsKIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIG5h dGl2ZV9yZWFkX2NyMyh2b2lkKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIF9fbmF0aXZl X3JlYWRfY3IzKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyB2YWw7CiAJYXNtIHZvbGF0aWxlKCJt b3YgJSVjcjMsJTBcblx0IiA6ICI9ciIgKHZhbCksICI9bSIgKF9fZm9yY2Vfb3JkZXIpKTsKQEAg LTE1OSw5ICsxNTksMTMgQEAgc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX2NyMih1bnNpZ25lZCBs b25nIHgpCiAJbmF0aXZlX3dyaXRlX2NyMih4KTsKIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25l ZCBsb25nIHJlYWRfY3IzKHZvaWQpCisvKgorICogQ2FyZWZ1bCEgIENSMyBjb250YWlucyBtb3Jl IHRoYW4ganVzdCBhbiBhZGRyZXNzLiAgWW91IHByb2JhYmx5IHdhbnQKKyAqIHJlYWRfY3IzX3Bh KCkgaW5zdGVhZC4KKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIF9fcmVhZF9jcjMo dm9pZCkKIHsKLQlyZXR1cm4gbmF0aXZlX3JlYWRfY3IzKCk7CisJcmV0dXJuIF9fbmF0aXZlX3Jl YWRfY3IzKCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9jcjModW5zaWduZWQgbG9u ZyB4KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vdGxiZmx1c2guaCBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL3RsYmZsdXNoLmgKaW5kZXggMzg4YzI0Ni4uNWY3OGM2YSAxMDA2NDQK LS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vdGxiZmx1c2guaAorKysgYi9hcmNoL3g4Ni9pbmNs dWRlL2FzbS90bGJmbHVzaC5oCkBAIC0xNTYsNyArMTU2LDcgQEAgc3RhdGljIGlubGluZSB2b2lk IF9fbmF0aXZlX2ZsdXNoX3RsYih2b2lkKQogCSAqIGJhY2s6CiAJICovCiAJcHJlZW1wdF9kaXNh YmxlKCk7Ci0JbmF0aXZlX3dyaXRlX2NyMyhuYXRpdmVfcmVhZF9jcjMoKSk7CisJbmF0aXZlX3dy aXRlX2NyMyhfX25hdGl2ZV9yZWFkX2NyMygpKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQogCkBA IC0yNjQsNyArMjY0LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHJlc2V0X2xhenlfdGxic3RhdGUo dm9pZCkKIAl0aGlzX2NwdV93cml0ZShjcHVfdGxic3RhdGUuc3RhdGUsIDApOwogCXRoaXNfY3B1 X3dyaXRlKGNwdV90bGJzdGF0ZS5sb2FkZWRfbW0sICZpbml0X21tKTsKIAotCVdBUk5fT04ocmVh ZF9jcjMoKSAhPSBfX3BhX3N5bWJvbChzd2FwcGVyX3BnX2RpcikpOworCVdBUk5fT04ocmVhZF9j cjNfcGEoKSAhPSBfX3BhX3N5bWJvbChzd2FwcGVyX3BnX2RpcikpOwogfQogCiBzdGF0aWMgaW5s aW5lIHZvaWQgYXJjaF90bGJiYXRjaF9hZGRfbW0oc3RydWN0IGFyY2hfdGxiZmx1c2hfdW5tYXBf YmF0Y2ggKmJhdGNoLApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jIGIvYXJj aC94ODYva2VybmVsL2hlYWQ2NC5jCmluZGV4IDQzYjcwMDIuLjc5NGU4ZjUgMTAwNjQ0Ci0tLSBh L2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDY0LmMK QEAgLTU1LDcgKzU1LDggQEAgaW50IF9faW5pdCBlYXJseV9tYWtlX3BndGFibGUodW5zaWduZWQg bG9uZyBhZGRyZXNzKQogCXBtZHZhbF90IHBtZCwgKnBtZF9wOwogCiAJLyogSW52YWxpZCBhZGRy ZXNzIG9yIGVhcmx5IHBndCBpcyBkb25lID8gICovCi0JaWYgKHBoeXNhZGRyID49IE1BWE1FTSB8 fCByZWFkX2NyMygpICE9IF9fcGFfbm9kZWJ1ZyhlYXJseV9sZXZlbDRfcGd0KSkKKwlpZiAocGh5 c2FkZHIgPj0gTUFYTUVNIHx8CisJICAgIHJlYWRfY3IzX3BhKCkgIT0gX19wYV9ub2RlYnVnKGVh cmx5X2xldmVsNF9wZ3QpKQogCQlyZXR1cm4gLTE7CiAKIGFnYWluOgpkaWZmIC0tZ2l0IGEvYXJj aC94ODYva2VybmVsL3BhcmF2aXJ0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYwppbmRl eCAzNTg2OTk2Li5iYzBhODQ5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQu YworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYwpAQCAtMzkxLDcgKzM5MSw3IEBAIHN0 cnVjdCBwdl9tbXVfb3BzIHB2X21tdV9vcHMgX19yb19hZnRlcl9pbml0ID0gewogCiAJLnJlYWRf Y3IyID0gbmF0aXZlX3JlYWRfY3IyLAogCS53cml0ZV9jcjIgPSBuYXRpdmVfd3JpdGVfY3IyLAot CS5yZWFkX2NyMyA9IG5hdGl2ZV9yZWFkX2NyMywKKwkucmVhZF9jcjMgPSBfX25hdGl2ZV9yZWFk X2NyMywKIAkud3JpdGVfY3IzID0gbmF0aXZlX3dyaXRlX2NyMywKIAogCS5mbHVzaF90bGJfdXNl ciA9IG5hdGl2ZV9mbHVzaF90bGIsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vz c18zMi5jIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYwppbmRleCBmZmVhZTgxLi5jNmQ2 ZGM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jCisrKyBiL2FyY2gv eDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBfX3Nob3dfcmVn cyhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGFsbCkKIAogCWNyMCA9IHJlYWRfY3IwKCk7CiAJ Y3IyID0gcmVhZF9jcjIoKTsKLQljcjMgPSByZWFkX2NyMygpOworCWNyMyA9IF9fcmVhZF9jcjMo KTsKIAljcjQgPSBfX3JlYWRfY3I0KCk7CiAJcHJpbnRrKEtFUk5fREVGQVVMVCAiQ1IwOiAlMDhs eCBDUjI6ICUwOGx4IENSMzogJTA4bHggQ1I0OiAlMDhseFxuIiwKIAkJCWNyMCwgY3IyLCBjcjMs IGNyNCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jIGIvYXJjaC94 ODYva2VybmVsL3Byb2Nlc3NfNjQuYwppbmRleCA5YzM5YWI4Li5jMzE2OWJlIDEwMDY0NAotLS0g YS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9j ZXNzXzY0LmMKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIF9fc2hvd19yZWdzKHN0cnVjdCBwdF9y ZWdzICpyZWdzLCBpbnQgYWxsKQogCiAJY3IwID0gcmVhZF9jcjAoKTsKIAljcjIgPSByZWFkX2Ny MigpOwotCWNyMyA9IHJlYWRfY3IzKCk7CisJY3IzID0gX19yZWFkX2NyMygpOwogCWNyNCA9IF9f cmVhZF9jcjQoKTsKIAogCXByaW50ayhLRVJOX0RFRkFVTFQgIkZTOiAgJTAxNmx4KCUwNHgpIEdT OiUwMTZseCglMDR4KSBrbmxHUzolMDE2bHhcbiIsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rdm0v dm14LmMgYi9hcmNoL3g4Ni9rdm0vdm14LmMKaW5kZXggMTljZGU1NS4uZDE0M2RkMyAxMDA2NDQK LS0tIGEvYXJjaC94ODYva3ZtL3ZteC5jCisrKyBiL2FyY2gveDg2L2t2bS92bXguYwpAQCAtNTAy NCw3ICs1MDI0LDcgQEAgc3RhdGljIHZvaWQgdm14X3NldF9jb25zdGFudF9ob3N0X3N0YXRlKHN0 cnVjdCB2Y3B1X3ZteCAqdm14KQogCSAqIFNhdmUgdGhlIG1vc3QgbGlrZWx5IHZhbHVlIGZvciB0 aGlzIHRhc2sncyBDUjMgaW4gdGhlIFZNQ1MuCiAJICogV2UgY2FuJ3QgdXNlIF9fZ2V0X2N1cnJl bnRfY3IzX2Zhc3QoKSBiZWNhdXNlIHdlJ3JlIG5vdCBhdG9taWMuCiAJICovCi0JY3IzID0gcmVh ZF9jcjMoKTsKKwljcjMgPSBfX3JlYWRfY3IzKCk7CiAJdm1jc193cml0ZWwoSE9TVF9DUjMsIGNy Myk7CQkvKiAyMi4yLjMgIEZJWE1FOiBzaGFkb3cgdGFibGVzICovCiAJdm14LT5ob3N0X3N0YXRl LnZtY3NfaG9zdF9jcjMgPSBjcjM7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2ZhdWx0LmMg Yi9hcmNoL3g4Ni9tbS9mYXVsdC5jCmluZGV4IDhhZDkxYTAuLjJhMWZhMTBjIDEwMDY0NAotLS0g YS9hcmNoL3g4Ni9tbS9mYXVsdC5jCisrKyBiL2FyY2gveDg2L21tL2ZhdWx0LmMKQEAgLTM0Niw3 ICszNDYsNyBAQCBzdGF0aWMgbm9pbmxpbmUgaW50IHZtYWxsb2NfZmF1bHQodW5zaWduZWQgbG9u ZyBhZGRyZXNzKQogCSAqIERvIF9ub3RfIHVzZSAiY3VycmVudCIgaGVyZS4gV2UgbWlnaHQgYmUg aW5zaWRlCiAJICogYW4gaW50ZXJydXB0IGluIHRoZSBtaWRkbGUgb2YgYSB0YXNrIHN3aXRjaC4u CiAJICovCi0JcGdkX3BhZGRyID0gcmVhZF9jcjMoKTsKKwlwZ2RfcGFkZHIgPSByZWFkX2NyM19w YSgpOwogCXBtZF9rID0gdm1hbGxvY19zeW5jX29uZShfX3ZhKHBnZF9wYWRkciksIGFkZHJlc3Mp OwogCWlmICghcG1kX2spCiAJCXJldHVybiAtMTsKQEAgLTM4OCw3ICszODgsNyBAQCBzdGF0aWMg Ym9vbCBsb3dfcGZuKHVuc2lnbmVkIGxvbmcgcGZuKQogCiBzdGF0aWMgdm9pZCBkdW1wX3BhZ2V0 YWJsZSh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCiB7Ci0JcGdkX3QgKmJhc2UgPSBfX3ZhKHJlYWRf Y3IzKCkpOworCXBnZF90ICpiYXNlID0gX192YShyZWFkX2NyM19wYSgpKTsKIAlwZ2RfdCAqcGdk ID0gJmJhc2VbcGdkX2luZGV4KGFkZHJlc3MpXTsKIAlwNGRfdCAqcDRkOwogCXB1ZF90ICpwdWQ7 CkBAIC00NTEsNyArNDUxLDcgQEAgc3RhdGljIG5vaW5saW5lIGludCB2bWFsbG9jX2ZhdWx0KHVu c2lnbmVkIGxvbmcgYWRkcmVzcykKIAkgKiBoYXBwZW4gd2l0aGluIGEgcmFjZSBpbiBwYWdlIHRh YmxlIHVwZGF0ZS4gSW4gdGhlIGxhdGVyCiAJICogY2FzZSBqdXN0IGZsdXNoOgogCSAqLwotCXBn ZCA9IChwZ2RfdCAqKV9fdmEocmVhZF9jcjMoKSkgKyBwZ2RfaW5kZXgoYWRkcmVzcyk7CisJcGdk ID0gKHBnZF90ICopX192YShyZWFkX2NyM19wYSgpKSArIHBnZF9pbmRleChhZGRyZXNzKTsKIAlw Z2RfcmVmID0gcGdkX29mZnNldF9rKGFkZHJlc3MpOwogCWlmIChwZ2Rfbm9uZSgqcGdkX3JlZikp CiAJCXJldHVybiAtMTsKQEAgLTU1NSw3ICs1NTUsNyBAQCBzdGF0aWMgaW50IGJhZF9hZGRyZXNz KHZvaWQgKnApCiAKIHN0YXRpYyB2b2lkIGR1bXBfcGFnZXRhYmxlKHVuc2lnbmVkIGxvbmcgYWRk cmVzcykKIHsKLQlwZ2RfdCAqYmFzZSA9IF9fdmEocmVhZF9jcjMoKSAmIFBIWVNJQ0FMX1BBR0Vf TUFTSyk7CisJcGdkX3QgKmJhc2UgPSBfX3ZhKHJlYWRfY3IzX3BhKCkpOwogCXBnZF90ICpwZ2Qg PSBiYXNlICsgcGdkX2luZGV4KGFkZHJlc3MpOwogCXA0ZF90ICpwNGQ7CiAJcHVkX3QgKnB1ZDsK QEAgLTcwMCw3ICs3MDAsNyBAQCBzaG93X2ZhdWx0X29vcHMoc3RydWN0IHB0X3JlZ3MgKnJlZ3Ms IHVuc2lnbmVkIGxvbmcgZXJyb3JfY29kZSwKIAkJcGdkX3QgKnBnZDsKIAkJcHRlX3QgKnB0ZTsK IAotCQlwZ2QgPSBfX3ZhKHJlYWRfY3IzKCkgJiBQSFlTSUNBTF9QQUdFX01BU0spOworCQlwZ2Qg PSBfX3ZhKHJlYWRfY3IzX3BhKCkpOwogCQlwZ2QgKz0gcGdkX2luZGV4KGFkZHJlc3MpOwogCiAJ CXB0ZSA9IGxvb2t1cF9hZGRyZXNzX2luX3BnZChwZ2QsIGFkZHJlc3MsICZsZXZlbCk7CmRpZmYg LS1naXQgYS9hcmNoL3g4Ni9tbS9pb3JlbWFwLmMgYi9hcmNoL3g4Ni9tbS9pb3JlbWFwLmMKaW5k ZXggYmJjNTU4Yi4uNGMxYjVmZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW9yZW1hcC5jCisr KyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYwpAQCAtNDI0LDcgKzQyNCw3IEBAIHN0YXRpYyBwdGVf dCBibV9wdGVbUEFHRV9TSVpFL3NpemVvZihwdGVfdCldIF9fcGFnZV9hbGlnbmVkX2JzczsKIHN0 YXRpYyBpbmxpbmUgcG1kX3QgKiBfX2luaXQgZWFybHlfaW9yZW1hcF9wbWQodW5zaWduZWQgbG9u ZyBhZGRyKQogewogCS8qIERvbid0IGFzc3VtZSB3ZSdyZSB1c2luZyBzd2FwcGVyX3BnX2RpciBh dCB0aGlzIHBvaW50ICovCi0JcGdkX3QgKmJhc2UgPSBfX3ZhKHJlYWRfY3IzKCkpOworCXBnZF90 ICpiYXNlID0gX192YShyZWFkX2NyM19wYSgpKTsKIAlwZ2RfdCAqcGdkID0gJmJhc2VbcGdkX2lu ZGV4KGFkZHIpXTsKIAlwNGRfdCAqcDRkID0gcDRkX29mZnNldChwZ2QsIGFkZHIpOwogCXB1ZF90 ICpwdWQgPSBwdWRfb2Zmc2V0KHA0ZCwgYWRkcik7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wbGF0 Zm9ybS9lZmkvZWZpXzY0LmMgYi9hcmNoL3g4Ni9wbGF0Zm9ybS9lZmkvZWZpXzY0LmMKaW5kZXgg ZWI4ZGZmMS4uZjQwYmY2MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGxhdGZvcm0vZWZpL2VmaV82 NC5jCisrKyBiL2FyY2gveDg2L3BsYXRmb3JtL2VmaS9lZmlfNjQuYwpAQCAtODAsNyArODAsNyBA QCBwZ2RfdCAqIF9faW5pdCBlZmlfY2FsbF9waHlzX3Byb2xvZyh2b2lkKQogCWludCBuX3BnZHMs IGksIGo7CiAKIAlpZiAoIWVmaV9lbmFibGVkKEVGSV9PTERfTUVNTUFQKSkgewotCQlzYXZlX3Bn ZCA9IChwZ2RfdCAqKXJlYWRfY3IzKCk7CisJCXNhdmVfcGdkID0gKHBnZF90ICopX19yZWFkX2Ny MygpOwogCQl3cml0ZV9jcjMoKHVuc2lnbmVkIGxvbmcpZWZpX3NjcmF0Y2guZWZpX3BndCk7CiAJ CWdvdG8gb3V0OwogCX0KQEAgLTY0Niw3ICs2NDYsNyBAQCBlZmlfc3RhdHVzX3QgZWZpX3RodW5r X3NldF92aXJ0dWFsX2FkZHJlc3NfbWFwKAogCWVmaV9zeW5jX2xvd19rZXJuZWxfbWFwcGluZ3Mo KTsKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAKLQllZmlfc2NyYXRjaC5wcmV2X2NyMyA9IHJl YWRfY3IzKCk7CisJZWZpX3NjcmF0Y2gucHJldl9jcjMgPSBfX3JlYWRfY3IzKCk7CiAJd3JpdGVf Y3IzKCh1bnNpZ25lZCBsb25nKWVmaV9zY3JhdGNoLmVmaV9wZ3QpOwogCV9fZmx1c2hfdGxiX2Fs bCgpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wbGF0Zm9ybS9vbHBjL29scGMteG8xLXBtLmMg Yi9hcmNoL3g4Ni9wbGF0Zm9ybS9vbHBjL29scGMteG8xLXBtLmMKaW5kZXggYzUzNTBmZC4uMDY2 OGFhZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGxhdGZvcm0vb2xwYy9vbHBjLXhvMS1wbS5jCisr KyBiL2FyY2gveDg2L3BsYXRmb3JtL29scGMvb2xwYy14bzEtcG0uYwpAQCAtNzcsNyArNzcsNyBA QCBzdGF0aWMgaW50IHhvMV9wb3dlcl9zdGF0ZV9lbnRlcihzdXNwZW5kX3N0YXRlX3QgcG1fc3Rh dGUpCiAKIGFzbWxpbmthZ2UgX192aXNpYmxlIGludCB4bzFfZG9fc2xlZXAodTggc2xlZXBfc3Rh dGUpCiB7Ci0Jdm9pZCAqcGdkX2FkZHIgPSBfX3ZhKHJlYWRfY3IzKCkpOworCXZvaWQgKnBnZF9h ZGRyID0gX192YShyZWFkX2NyM19wYSgpKTsKIAogCS8qIFByb2dyYW0gd2FrZXVwIG1hc2sgKHVz aW5nIGR3b3JkIGFjY2VzcyB0byBDUzU1MzZfUE0xX0VOKSAqLwogCW91dGwod2FrZXVwX21hc2sg PDwgMTYsIGFjcGlfYmFzZSArIENTNTUzNl9QTTFfU1RTKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2 L3Bvd2VyL2NwdS5jIGIvYXJjaC94ODYvcG93ZXIvY3B1LmMKaW5kZXggNmIwNWE5Mi4uNzg0NTlh NiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcG93ZXIvY3B1LmMKKysrIGIvYXJjaC94ODYvcG93ZXIv Y3B1LmMKQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgdm9pZCBfX3NhdmVfcHJvY2Vzc29yX3N0 YXRlKHN0cnVjdCBzYXZlZF9jb250ZXh0ICpjdHh0KQogCSAqLwogCWN0eHQtPmNyMCA9IHJlYWRf Y3IwKCk7CiAJY3R4dC0+Y3IyID0gcmVhZF9jcjIoKTsKLQljdHh0LT5jcjMgPSByZWFkX2NyMygp OworCWN0eHQtPmNyMyA9IF9fcmVhZF9jcjMoKTsKIAljdHh0LT5jcjQgPSBfX3JlYWRfY3I0KCk7 CiAjaWZkZWYgQ09ORklHX1g4Nl82NAogCWN0eHQtPmNyOCA9IHJlYWRfY3I4KCk7CmRpZmYgLS1n aXQgYS9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfNjQuYyBiL2FyY2gveDg2L3Bvd2VyL2hpYmVy bmF0ZV82NC5jCmluZGV4IGE2ZTIxZmUuLmUzZTYyYzggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Bv d2VyL2hpYmVybmF0ZV82NC5jCisrKyBiL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCkBA IC0xNTAsNyArMTUwLDggQEAgc3RhdGljIGludCByZWxvY2F0ZV9yZXN0b3JlX2NvZGUodm9pZCkK IAltZW1jcHkoKHZvaWQgKilyZWxvY2F0ZWRfcmVzdG9yZV9jb2RlLCAmY29yZV9yZXN0b3JlX2Nv ZGUsIFBBR0VfU0laRSk7CiAKIAkvKiBNYWtlIHRoZSBwYWdlIGNvbnRhaW5pbmcgdGhlIHJlbG9j YXRlZCBjb2RlIGV4ZWN1dGFibGUgKi8KLQlwZ2QgPSAocGdkX3QgKilfX3ZhKHJlYWRfY3IzKCkp ICsgcGdkX2luZGV4KHJlbG9jYXRlZF9yZXN0b3JlX2NvZGUpOworCXBnZCA9IChwZ2RfdCAqKV9f dmEocmVhZF9jcjNfcGEoKSkgKworCQlwZ2RfaW5kZXgocmVsb2NhdGVkX3Jlc3RvcmVfY29kZSk7 CiAJcDRkID0gcDRkX29mZnNldChwZ2QsIHJlbG9jYXRlZF9yZXN0b3JlX2NvZGUpOwogCWlmIChw NGRfbGFyZ2UoKnA0ZCkpIHsKIAkJc2V0X3A0ZChwNGQsIF9fcDRkKHA0ZF92YWwoKnA0ZCkgJiB+ X1BBR0VfTlgpKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tbXVfcHYuYyBiL2FyY2gveDg2 L3hlbi9tbXVfcHYuYwppbmRleCAyMWJlYjM3Li40ZjYzODMwIDEwMDY0NAotLS0gYS9hcmNoL3g4 Ni94ZW4vbW11X3B2LmMKKysrIGIvYXJjaC94ODYveGVuL21tdV9wdi5jCkBAIC0yMDE3LDcgKzIw MTcsNyBAQCBzdGF0aWMgcGh5c19hZGRyX3QgX19pbml0IHhlbl9lYXJseV92aXJ0X3RvX3BoeXMo dW5zaWduZWQgbG9uZyB2YWRkcikKIAlwbWRfdCBwbWQ7CiAJcHRlX3QgcHRlOwogCi0JcGEgPSBy ZWFkX2NyMygpOworCXBhID0gcmVhZF9jcjNfcGEoKTsKIAlwZ2QgPSBuYXRpdmVfbWFrZV9wZ2Qo eGVuX3JlYWRfcGh5c191bG9uZyhwYSArIHBnZF9pbmRleCh2YWRkcikgKgogCQkJCQkJICAgICAg IHNpemVvZihwZ2QpKSk7CiAJaWYgKCFwZ2RfcHJlc2VudChwZ2QpKQpAQCAtMjA5Nyw3ICsyMDk3 LDcgQEAgdm9pZCBfX2luaXQgeGVuX3JlbG9jYXRlX3AybSh2b2lkKQogCXB0X3BoeXMgPSBwbWRf cGh5cyArIFBGTl9QSFlTKG5fcG1kKTsKIAlwMm1fcGZuID0gUEZOX0RPV04ocHRfcGh5cykgKyBu X3B0OwogCi0JcGdkID0gX192YShyZWFkX2NyMygpKTsKKwlwZ2QgPSBfX3ZhKHJlYWRfY3IzX3Bh KCkpOwogCW5ld19wMm0gPSAodW5zaWduZWQgbG9uZyAqKSgyICogUEdESVJfU0laRSk7CiAJaWR4 X3A0ZCA9IDA7CiAJc2F2ZV9wdWQgPSBuX3B1ZDsKQEAgLTIyMDQsNyArMjIwNCw3IEBAIHN0YXRp YyB2b2lkIF9faW5pdCB4ZW5fd3JpdGVfY3IzX2luaXQodW5zaWduZWQgbG9uZyBjcjMpCiB7CiAJ dW5zaWduZWQgbG9uZyBwZm4gPSBQRk5fRE9XTihfX3BhKHN3YXBwZXJfcGdfZGlyKSk7CiAKLQlC VUdfT04ocmVhZF9jcjMoKSAhPSBfX3BhKGluaXRpYWxfcGFnZV90YWJsZSkpOworCUJVR19PTihy ZWFkX2NyM19wYSgpICE9IF9fcGEoaW5pdGlhbF9wYWdlX3RhYmxlKSk7CiAJQlVHX09OKGNyMyAh PSBfX3BhKHN3YXBwZXJfcGdfZGlyKSk7CiAKIAkvKgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==