From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752059AbbCJGzA (ORCPT ); Tue, 10 Mar 2015 02:55:00 -0400 Received: from mail-ie0-f178.google.com ([209.85.223.178]:34680 "EHLO mail-ie0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751083AbbCJGy4 (ORCPT ); Tue, 10 Mar 2015 02:54:56 -0400 MIME-Version: 1.0 In-Reply-To: References: <1425766041-6551-1-git-send-email-yinghai@kernel.org> <1425766041-6551-8-git-send-email-yinghai@kernel.org> Date: Mon, 9 Mar 2015 23:54:54 -0700 X-Google-Sender-Auth: fKVH6uOHQtT81JpWmthGeXRgyH0 Message-ID: Subject: Re: [PATCH v3 7/7] x86, kaslr, 64bit: Set new or extra ident_mapping From: Yinghai Lu To: Kees Cook Cc: Matt Fleming , "H. Peter Anvin" , Ingo Molnar , Borislav Petkov , Baoquan He , Thomas Gleixner , Jiri Kosina , LKML , "linux-efi@vger.kernel.org" Content-Type: multipart/mixed; boundary=047d7bdc1b72d0253d0510e9a08f Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --047d7bdc1b72d0253d0510e9a08f Content-Type: text/plain; charset=UTF-8 On Mon, Mar 9, 2015 at 6:14 PM, Yinghai Lu wrote: >>> >>> +#include "misc_pgt.c" >> >> Shouldn't this just be a normal built .o file that is linked together >> in the Makefile, specifically tracking CONFIG_RANDOMIZE_BASE as aslr.o >> already is? > > Yes, we could go that way. Please check attached version with link misc_pgt.o. BTW, here are difference between include misc_pgt.c and link misc_pgt.o: include misc_pgt.c text data bss dec hex filename 13934290 304 50064 13984658 d56392 arch/x86/boot/compressed/vmlinux link misc_pgt.o text data bss dec hex filename 13934336 304 50064 13984704 d563c0 arch/x86/boot/compressed/vmlinux Thanks Yinghai --047d7bdc1b72d0253d0510e9a08f Content-Type: text/x-patch; charset=US-ASCII; name="misc_fill_pgt_v4_2.patch" Content-Disposition: attachment; filename="misc_fill_pgt_v4_2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i72xtr570 RnJvbTogWWluZ2hhaSBMdSA8eWluZ2hhaUBrZXJuZWwub3JnPgpTdWJqZWN0OiBbUEFUQ0ggdjRd IHg4Niwga2FzbHIsIDY0Yml0OiBTZXQgbmV3IG9yIGV4dHJhIGlkZW50X21hcHBpbmcKCkZpcnN0 LCBhc2xyIHdpbGwgc3VwcG9ydCB0byBwdXQgcmFuZG9tIFZPIGFib3ZlIDRHLCBzbyB3ZSBtdXN0 IHNldCBpZGVudAptYXBwaW5nIGZvciB0aGUgcmFuZ2UgZXZlbiB3ZSBjb21lIGZyb20gc3RhcnR1 cF8zMiBwYXRoLgoKU2Vjb25kLCB3aGVuIGJvb3QgZnJvbSA2NGJpdCBib290bG9hZGVyLCBib290 bG9hZGVyIHNldCBpZGVudCBtYXBwaW5nLAphbmQgYm9vdCB2aWEgWk8gKGFyY2gveDg2L2Jvb3Qv Y29tcHJlc3NlZC92bWxpbnV4KSBzdGFydHVwXzY0LgpUaG9zZSBwYWdlcyBmb3IgcGFnZXRhYmxl IG5lZWQgdG8gYmUgYXZvaWRlZCB3aGVuIHdlIHNlbGVjdCBuZXcgcmFuZG9tClZPICh2bWxpbnV4 KSBiYXNlLiBPdGhlcndpc2UgZGVjb21wcmVzc29yIHdvdWxkIG92ZXJ3cml0ZSB0aGVtIGR1cmlu ZwpkZWNvbXByZXNzaW5nLgoKT25lIHNvbHV0aW9uOiBnbyB0aHJvdWdoIHBhZ2V0YWJsZSBhbmQg ZmluZCBvdXQgZXZlcnkgcGFnZSBpcyB1c2VkIGJ5CnBhZ2V0YWJsZSBmb3IgZXZlcnkgbWVtX2Fv dmlkIGNoZWNraW5nIGJ1dCB3ZSB3aWxsIG5lZWQgZXh0cmEgY29kZS4KCk90aGVyIHNvbHV0aW9u OiBjcmVhdGUgbmV3IGlkZW50IG1hcHBpbmcgaW5zdGVhZCwgYW5kIHBhZ2VzIGZvciBwYWdldGFi bGUKd2lsbCBzaXQgaW4gX3BhZ2V0YWJsZSBzZWN0aW9uIG9mIFpPLCBhbmQgdGhleSBhcmUgaW4g bWVtX2F2b2lkIGFycmF5IGFscmVhZHkuCkluIHRoaXMgd2F5LCB3ZSBjYW4gcmV1c2UgdGhlIGNv ZGUgZm9yIHNldHRpbmcgaWRlbnQgbWFwcGluZy4KClRoZSBfcGd0YWJsZSB3aWxsIGJlIHNoYXJl ZCAzMmJpdCBhbmQgNjRiaXQgcGF0aCB0byByZWR1Y2UgaW5pdF9zaXplLAphcyBub3cgWk8gX3Jv ZGF0YSB0byBfZW5kIHdpbGwgY29udHJpYnV0ZSBpbml0X3NpemUuCgpOZWVkIHRvIGluY3JlYXNl IHBndCBidWZmZXIgc2l6ZS4KV2hlbiBib290IHZpYSBzdGFydHVwXzY0LCBhcyB3ZSBuZWVkIHRv IGNvdmVyIG9sZCBWTywgcGFyYW1zLCBjbWRsaW5lCmFuZCBuZXcgVk8sIGluIGV4dHJlbWUgY2Fz ZSB3ZSBjb3VsZCBoYXZlIHRoZW0gYWxsIGNyb3NzIDUxMkcgYm91bmRhcnksCndpbGwgbmVlZCAo MisyKSo0IHBhZ2VzIHdpdGggMk0gbWFwcGluZy4gQW5kIG5lZWQgMiBmb3IgZmlyc3QgMk0gZm9y IHZnYSByYW0uClBsdXMgb25lIGZvciBsZXZlbDQuIFRvdGFsIHdpbGwgYmUgMTkgcGFnZXMuCldo ZW4gYm9vdCB2aWEgc3RhcnR1cF8zMiwgYXNsciB3b3VsZCBtb3ZlIG5ldyBWTyBhYm92ZSA0Rywg d2UgbmVlZCBzZXQgZXh0cmEKaWRlbnQgbWFwcGluZyBmb3IgbmV3IFZPLCBwZ3QgYnVmZmVyIGNv bWUgZnJvbSBfcGd0YWJsZSBvZmZzZXQgNiBwYWdlcy4Kc2hvdWxkIG9ubHkgbmVlZCAoMisyKSBw YWdlcyBhdCBtb3N0IHdoZW4gaXQgY3Jvc3MgNTEyRyBib3VuZGFyeS4KU28gMTkgcGFnZXMgY291 bGQgbWFrZSBib3RoIHBhdGhzIGhhcHB5LgoKQ2M6IEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hyb21p dW0ub3JnPgpDYzogSmlyaSBLb3NpbmEgPGprb3NpbmFAc3VzZS5jej4KQ2M6IEJvcmlzbGF2IFBl dGtvdiA8YnBAc3VzZS5kZT4KQ2M6IE1hdHQgRmxlbWluZyA8bWF0dC5mbGVtaW5nQGludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogWWluZ2hhaSBMdSA8eWluZ2hhaUBrZXJuZWwub3JnPgoKLS0tCi12 MzogYWRkIG1hcHBpbmcgZm9yIGZpcnN0IDJNIHdpdGggdmlkZW8gcmFtIHdoZW4gWDg2X1ZFUkJP U0VfQk9PVFVQIGlzIHNldC4KICAgICBEb24ndCBuZWVkIHRvIHNldCBtYXBwaW5nIGZvciBzZXR1 cF9kYXRhLCBhcyBpdCBpcyBhbHJlYWR5IGxhdGUKICAgICBpbiBib290L1pPIHN0YWdlLCB3aWxs IG5vdCBhY2Nlc3MgaXQgdW50aWwgVk8gc3RhZ2UsIGFuZCBWTyBzdGFnZQogICAgIHdpbGwgdXNl IGVhcmx5X21lbW1hcCBvciBrZXJuZWwgYWRkcmVzcyB0byBhY2Nlc3MgdGhlbS4KLXY0OiBsaW5r IG1pc2NfcGd0Lm8gaW5zdGVhZCBvZiBpbmNsdWRpbmcgbWlzY19wZ3QuYyBpbiBhc2xyLmMgdXAg dG8gcmVxdWVzdAogICAgIGZyb20gS2Vlcy4KCi0tLQogYXJjaC94ODYvYm9vdC9jb21wcmVzc2Vk L01ha2VmaWxlICAgfCAgICAzICsKIGFyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9hc2xyLmMgICAg IHwgICAxNCArKysrKwogYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL2hlYWRfNjQuUyAgfCAgICA0 IC0KIGFyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9taXNjLmggICAgIHwgICAxMSArKysrCiBhcmNo L3g4Ni9ib290L2NvbXByZXNzZWQvbWlzY19wZ3QuYyB8ICAgOTEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9ib290LmggICAgICAgICB8 ICAgMTkgKysrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCkluZGV4OiBsaW51eC0yLjYvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2Nf cGd0LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0gL2Rldi9udWxsCisrKyBsaW51eC0yLjYvYXJjaC94ODYvYm9v dC9jb21wcmVzc2VkL21pc2NfcGd0LmMKQEAgLTAsMCArMSw5MSBAQAorI2RlZmluZSBfX3BhKHgp ICAoKHVuc2lnbmVkIGxvbmcpKHgpKQorI2RlZmluZSBfX3ZhKHgpICAoKHZvaWQgKikoKHVuc2ln bmVkIGxvbmcpKHgpKSkKKworI2luY2x1ZGUgIm1pc2MuaCIKKworI2luY2x1ZGUgPGFzbS9pbml0 Lmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKworI2luY2x1ZGUgIi4uLy4uL21tL2lkZW50 X21hcC5jIgorCitzdHJ1Y3QgYWxsb2NfcGd0X2RhdGEgeworCXVuc2lnbmVkIGNoYXIgKnBndF9i dWY7CisJdW5zaWduZWQgbG9uZyBwZ3RfYnVmX3NpemU7CisJdW5zaWduZWQgbG9uZyBwZ3RfYnVm X29mZnNldDsKK307CisKK3N0YXRpYyB2b2lkICphbGxvY19wZ3RfcGFnZSh2b2lkICpjb250ZXh0 KQoreworCXN0cnVjdCBhbGxvY19wZ3RfZGF0YSAqZCA9IChzdHJ1Y3QgYWxsb2NfcGd0X2RhdGEg Kiljb250ZXh0OworCXVuc2lnbmVkIGNoYXIgKnAgPSAodW5zaWduZWQgY2hhciAqKWQtPnBndF9i dWY7CisKKwlpZiAoZC0+cGd0X2J1Zl9vZmZzZXQgPj0gZC0+cGd0X2J1Zl9zaXplKSB7CisJCWRl YnVnX3B1dHN0cigib3V0IG9mIHBndF9idWYgaW4gbWlzYy5jXG4iKTsKKwkJcmV0dXJuIE5VTEw7 CisJfQorCisJcCArPSBkLT5wZ3RfYnVmX29mZnNldDsKKwlkLT5wZ3RfYnVmX29mZnNldCArPSBQ QUdFX1NJWkU7CisKKwlyZXR1cm4gcDsKK30KKworLyoKKyAqIFVzZSBhIG5vcm1hbCBkZWZpbml0 aW9uIG9mIG1lbXNldCgpIGZyb20gc3RyaW5nLmMuIFRoZXJlIGFyZSBhbHJlYWR5CisgKiBpbmNs dWRlZCBoZWFkZXIgZmlsZXMgd2hpY2ggZXhwZWN0IGEgZGVmaW5pdGlvbiBvZiBtZW1zZXQoKSBh bmQgYnkKKyAqIHRoZSB0aW1lIHdlIGRlZmluZSBtZW1zZXQgbWFjcm8sIGl0IGlzIHRvbyBsYXRl LgorICovCisjdW5kZWYgbWVtc2V0CisjZGVmaW5lIG1lbXplcm8ocywgbikgICBtZW1zZXQoKHMp LCAwLCAobikpCisKK3Vuc2lnbmVkIGxvbmcgX19mb3JjZV9vcmRlcjsKK3N0YXRpYyBzdHJ1Y3Qg YWxsb2NfcGd0X2RhdGEgcGd0X2RhdGE7CitzdGF0aWMgc3RydWN0IHg4Nl9tYXBwaW5nX2luZm8g bWFwcGluZ19pbmZvOworc3RhdGljIHBnZF90ICpsZXZlbDRwOworCit2b2lkIGZpbGxfcGFnZXRh YmxlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwl1bnNpZ25l ZCBsb25nIGVuZCA9IHN0YXJ0ICsgc2l6ZTsKKworCWlmICghbGV2ZWw0cCkgeworCQlwZ3RfZGF0 YS5wZ3RfYnVmX29mZnNldCA9IDA7CisJCW1hcHBpbmdfaW5mby5hbGxvY19wZ3RfcGFnZSA9IGFs bG9jX3BndF9wYWdlOworCQltYXBwaW5nX2luZm8uY29udGV4dCA9ICZwZ3RfZGF0YTsKKwkJbWFw cGluZ19pbmZvLnBtZF9mbGFnID0gX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDOworCisJCS8qCisJ CSAqIGNvbWUgZnJvbSBzdGFydHVwXzMyID8KKwkJICogdGhlbiBjcjMgaXMgX3BndGFibGUsIHdl IGNhbiByZXVzZSBpdC4KKwkJICovCisJCWxldmVsNHAgPSAocGdkX3QgKilyZWFkX2NyMygpOwor CQlpZiAoKHVuc2lnbmVkIGxvbmcpbGV2ZWw0cCA9PSAodW5zaWduZWQgbG9uZylfcGd0YWJsZSkg eworCQkJcGd0X2RhdGEucGd0X2J1ZiA9ICh1bnNpZ25lZCBjaGFyICopX3BndGFibGUgKworCQkJ CQkJIEJPT1RfSU5JVF9QR1RfU0laRTsKKwkJCXBndF9kYXRhLnBndF9idWZfc2l6ZSA9IEJPT1Rf UEdUX1NJWkUgLQorCQkJCQkJIEJPT1RfSU5JVF9QR1RfU0laRTsKKworCQkJZGVidWdfcHV0c3Ry KCJib290IHZpYSBzdGFydHVwXzMyXG4iKTsKKwkJfSBlbHNlIHsKKwkJCXBndF9kYXRhLnBndF9i dWYgPSAodW5zaWduZWQgY2hhciAqKV9wZ3RhYmxlOworCQkJcGd0X2RhdGEucGd0X2J1Zl9zaXpl ID0gQk9PVF9QR1RfU0laRTsKKworCQkJZGVidWdfcHV0c3RyKCJib290IHZpYSBzdGFydHVwXzY0 XG4iKTsKKwkJCWxldmVsNHAgPSAocGdkX3QgKilhbGxvY19wZ3RfcGFnZSgmcGd0X2RhdGEpOwor CQl9CisJCW1lbXNldCgodW5zaWduZWQgY2hhciAqKXBndF9kYXRhLnBndF9idWYsIDAsCisJCQkg cGd0X2RhdGEucGd0X2J1Zl9zaXplKTsKKwl9CisKKwkvKiBhbGlnbiBib3VuZGFyeSB0byAyTSAq LworCXN0YXJ0ID0gcm91bmRfZG93bihzdGFydCwgUE1EX1NJWkUpOworCWVuZCA9IHJvdW5kX3Vw KGVuZCwgUE1EX1NJWkUpOworCWlmIChzdGFydCA+PSBlbmQpCisJCXJldHVybjsKKworCWtlcm5l bF9pZGVudF9tYXBwaW5nX2luaXQoJm1hcHBpbmdfaW5mbywgbGV2ZWw0cCwgc3RhcnQsIGVuZCk7 Cit9CisKK3ZvaWQgc3dpdGNoX3BhZ2V0YWJsZSh2b2lkKQoreworCXdyaXRlX2NyMygodW5zaWdu ZWQgbG9uZylsZXZlbDRwKTsKK30KSW5kZXg6IGxpbnV4LTIuNi9hcmNoL3g4Ni9ib290L2NvbXBy ZXNzZWQvYXNsci5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi5vcmlnL2FyY2gveDg2L2Jvb3Qv Y29tcHJlc3NlZC9hc2xyLmMKKysrIGxpbnV4LTIuNi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQv YXNsci5jCkBAIC0xNjAsNiArMTYwLDcgQEAgc3RhdGljIHZvaWQgbWVtX2F2b2lkX2luaXQodW5z aWduZWQgbG9uZwogCXVuc2FmZSA9ICh1bnNpZ25lZCBsb25nKWlucHV0ICsgaW5wdXRfc2l6ZTsK IAltZW1fYXZvaWRbMF0uc3RhcnQgPSB1bnNhZmU7CiAJbWVtX2F2b2lkWzBdLnNpemUgPSB1bnNh ZmVfbGVuOworCWZpbGxfcGFnZXRhYmxlKG91dHB1dCwgaW5pdF9zaXplKTsKIAogCS8qIEF2b2lk IGluaXRyZC4gKi8KIAlpbml0cmRfc3RhcnQgID0gKHU2NClyZWFsX21vZGUtPmV4dF9yYW1kaXNr X2ltYWdlIDw8IDMyOwpAQCAtMTY4LDYgKzE2OSw3IEBAIHN0YXRpYyB2b2lkIG1lbV9hdm9pZF9p bml0KHVuc2lnbmVkIGxvbmcKIAlpbml0cmRfc2l6ZSB8PSByZWFsX21vZGUtPmhkci5yYW1kaXNr X3NpemU7CiAJbWVtX2F2b2lkWzFdLnN0YXJ0ID0gaW5pdHJkX3N0YXJ0OwogCW1lbV9hdm9pZFsx XS5zaXplID0gaW5pdHJkX3NpemU7CisJLyogZG9uJ3QgbmVlZCB0byBzZXQgbWFwcGluZyBmb3Ig aW5pdHJkICovCiAKIAkvKiBBdm9pZCBrZXJuZWwgY29tbWFuZCBsaW5lLiAqLwogCWNtZF9saW5l ICA9ICh1NjQpcmVhbF9tb2RlLT5leHRfY21kX2xpbmVfcHRyIDw8IDMyOwpAQCAtMTc4LDEwICsx ODAsMTkgQEAgc3RhdGljIHZvaWQgbWVtX2F2b2lkX2luaXQodW5zaWduZWQgbG9uZwogCQk7CiAJ bWVtX2F2b2lkWzJdLnN0YXJ0ID0gY21kX2xpbmU7CiAJbWVtX2F2b2lkWzJdLnNpemUgPSBjbWRf bGluZV9zaXplOworCWZpbGxfcGFnZXRhYmxlKGNtZF9saW5lLCBjbWRfbGluZV9zaXplKTsKIAog CS8qIEF2b2lkIHBhcmFtcyAqLwogCW1lbV9hdm9pZFszXS5zdGFydCA9ICh1bnNpZ25lZCBsb25n KXJlYWxfbW9kZTsKIAltZW1fYXZvaWRbM10uc2l6ZSA9IHNpemVvZigqcmVhbF9tb2RlKTsKKwlm aWxsX3BhZ2V0YWJsZSgodW5zaWduZWQgbG9uZylyZWFsX21vZGUsIHNpemVvZigqcmVhbF9tb2Rl KSk7CisKKwkvKiBkb24ndCBuZWVkIHRvIHNldCBtYXBwaW5nIGZvciBzZXR1cF9kYXRhICovCisK KyNpZmRlZiBDT05GSUdfWDg2X1ZFUkJPU0VfQk9PVFVQCisJLyogZm9yIHZpZGVvIHJhbSAqLwor CWZpbGxfcGFnZXRhYmxlKDAsIFBNRF9TSVpFKTsKKyNlbmRpZgogfQogCiAvKiBEb2VzIHRoaXMg bWVtb3J5IHZlY3RvciBvdmVybGFwIGEga25vd24gYXZvaWRlZCBhcmVhPyAqLwpAQCAtMzYyLDYg KzM3Myw5IEBAIHVuc2lnbmVkIGNoYXIgKmNob29zZV9rZXJuZWxfbG9jYXRpb24oc3QKIAkJZ290 byBvdXQ7CiAKIAljaG9pY2UgPSByYW5kb207CisKKwlmaWxsX3BhZ2V0YWJsZShjaG9pY2UsIGlu aXRfc2l6ZSk7CisJc3dpdGNoX3BhZ2V0YWJsZSgpOwogb3V0OgogCXJldHVybiAodW5zaWduZWQg Y2hhciAqKWNob2ljZTsKIH0KSW5kZXg6IGxpbnV4LTIuNi9hcmNoL3g4Ni9ib290L2NvbXByZXNz ZWQvaGVhZF82NC5TCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi5vcmlnL2FyY2gveDg2L2Jvb3Qv Y29tcHJlc3NlZC9oZWFkXzY0LlMKKysrIGxpbnV4LTIuNi9hcmNoL3g4Ni9ib290L2NvbXByZXNz ZWQvaGVhZF82NC5TCkBAIC0xMjUsNyArMTI1LDcgQEAgRU5UUlkoc3RhcnR1cF8zMikKIAkvKiBJ bml0aWFsaXplIFBhZ2UgdGFibGVzIHRvIDAgKi8KIAlsZWFsCXBndGFibGUoJWVieCksICVlZGkK IAl4b3JsCSVlYXgsICVlYXgKLQltb3ZsCSQoKDQwOTYqNikvNCksICVlY3gKKwltb3ZsCSQoQk9P VF9JTklUX1BHVF9TSVpFLzQpLCAlZWN4CiAJcmVwCXN0b3NsCiAKIAkvKiBCdWlsZCBMZXZlbCA0 ICovCkBAIC00NzcsNCArNDc3LDQgQEAgYm9vdF9zdGFja19lbmQ6CiAJLnNlY3Rpb24gIi5wZ3Rh YmxlIiwiYSIsQG5vYml0cwogCS5iYWxpZ24gNDA5NgogcGd0YWJsZToKLQkuZmlsbCA2KjQwOTYs IDEsIDAKKwkuZmlsbCBCT09UX1BHVF9TSVpFLCAxLCAwCkluZGV4OiBsaW51eC0yLjYvYXJjaC94 ODYvaW5jbHVkZS9hc20vYm9vdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi5vcmlnL2FyY2gv eDg2L2luY2x1ZGUvYXNtL2Jvb3QuaAorKysgbGludXgtMi42L2FyY2gveDg2L2luY2x1ZGUvYXNt L2Jvb3QuaApAQCAtMzIsNyArMzIsMjYgQEAKICNlbmRpZiAvKiAhQ09ORklHX0tFUk5FTF9CWklQ MiAqLwogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAorCiAjZGVmaW5lIEJPT1RfU1RBQ0tfU0laRQkw eDQwMDAKKworI2RlZmluZSBCT09UX0lOSVRfUEdUX1NJWkUgKDYqNDA5NikKKyNpZmRlZiBDT05G SUdfUkFORE9NSVpFX0JBU0UKKy8qCisgKiAxIHBhZ2UgZm9yIGxldmVsNCwgMiBwYWdlcyBmb3Ig Zmlyc3QgMk0uCisgKiAoMisyKSo0IHBhZ2VzIGZvciBrZXJuZWwsIHBhcmFtLCBjbWRfbGluZSwg cmFuZG9tIGtlcm5lbAorICogaWYgYWxsIGNyb3NzIDUxMkcgYm91bmRhcnkuCisgKiBTbyB0b3Rh bCB3aWxsIGJlIDE5IHBhZ2VzLgorICovCisjaWZkZWYgQ09ORklHX1g4Nl9WRVJCT1NFX0JPT1RV UAorI2RlZmluZSBCT09UX1BHVF9TSVpFICgxOSo0MDk2KQorI2Vsc2UKKyNkZWZpbmUgQk9PVF9Q R1RfU0laRSAoMTcqNDA5NikKKyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUgQk9PVF9QR1RfU0laRSBC T09UX0lOSVRfUEdUX1NJWkUKKyNlbmRpZgorCiAjZWxzZQogI2RlZmluZSBCT09UX1NUQUNLX1NJ WkUJMHgxMDAwCiAjZW5kaWYKSW5kZXg6IGxpbnV4LTIuNi9hcmNoL3g4Ni9ib290L2NvbXByZXNz ZWQvTWFrZWZpbGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGludXgtMi42Lm9yaWcvYXJjaC94ODYvYm9vdC9j b21wcmVzc2VkL01ha2VmaWxlCisrKyBsaW51eC0yLjYvYXJjaC94ODYvYm9vdC9jb21wcmVzc2Vk L01ha2VmaWxlCkBAIC00Niw2ICs0Niw5IEBAIHZtbGludXgtb2Jqcy15IDo9ICQob2JqKS92bWxp bnV4LmxkcyAkKG8KIAogdm1saW51eC1vYmpzLSQoQ09ORklHX0VBUkxZX1BSSU5USykgKz0gJChv YmopL2Vhcmx5X3NlcmlhbF9jb25zb2xlLm8KIHZtbGludXgtb2Jqcy0kKENPTkZJR19SQU5ET01J WkVfQkFTRSkgKz0gJChvYmopL2FzbHIubworaWZkZWYgQ09ORklHX1g4Nl82NAorCXZtbGludXgt b2Jqcy0kKENPTkZJR19SQU5ET01JWkVfQkFTRSkgKz0gJChvYmopL21pc2NfcGd0Lm8KK2VuZGlm CiAKICQob2JqKS9lYm9vdC5vOiBLQlVJTERfQ0ZMQUdTICs9IC1mc2hvcnQtd2NoYXIgLW1uby1y ZWQtem9uZQogCkluZGV4OiBsaW51eC0yLjYvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2Mu aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBsaW51eC0yLjYub3JpZy9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQv bWlzYy5oCisrKyBsaW51eC0yLjYvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2MuaApAQCAt NzYsNiArNzYsMTcgQEAgdW5zaWduZWQgY2hhciAqY2hvb3NlX2tlcm5lbF9sb2NhdGlvbihzdAog fQogI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0Cit2b2lkIGZpbGxfcGFnZXRhYmxlKHVu c2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7Cit2b2lkIHN3aXRjaF9wYWdl dGFibGUodm9pZCk7CitleHRlcm4gdW5zaWduZWQgY2hhciBfcGd0YWJsZVtdOworI2Vsc2UKK3N0 YXRpYyBpbmxpbmUgdm9pZCBmaWxsX3BhZ2V0YWJsZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNp Z25lZCBsb25nIHNpemUpCit7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzd2l0Y2hfcGFnZXRhYmxl KHZvaWQpCit7IH0KKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX0VBUkxZX1BSSU5USwogLyogZWFy bHlfc2VyaWFsX2NvbnNvbGUuYyAqLwogZXh0ZXJuIGludCBlYXJseV9zZXJpYWxfYmFzZTsK --047d7bdc1b72d0253d0510e9a08f--