From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v3 2/9] mm: Place unscrubbed pages at the end of pagelist Date: Fri, 14 Apr 2017 11:37:31 -0400 Message-ID: <1492184258-3277-3-git-send-email-boris.ostrovsky@oracle.com> References: <1492184258-3277-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1492184258-3277-1-git-send-email-boris.ostrovsky@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com, Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org LiBzbyB0aGF0IGl0J3MgZWFzeSB0byBmaW5kIHBhZ2VzIHRoYXQgbmVlZCB0byBiZSBzY3J1YmJl ZCAodGhvc2UgcGFnZXMgYXJlCm5vdyBtYXJrZWQgd2l0aCBfUEdDX25lZWRfc2NydWIgYml0KS4K ClNpZ25lZC1vZmYtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5j b20+Ci0tLQpDaGFuZ2VzIGluIHYzOgoqIEtlZXAgZGlydHkgYml0IHBlciBwYWdlLCBhZGQgZGly dHlfaGVhZCB0byBwYWdlX2luZm8gdGhhdCBpbmRpY2F0ZXMgd2hldGhlcgogIHRoZSBidWRkeSBo YXMgZGlydHkgcGFnZXMuCiogTWFrZSBwYWdlX2xpc3RfYWRkX3NjcnViKCkgc2V0IGJ1ZGR5J3Mg cGFnZSBvcmRlcgoqIERhdGEgdHlwZSBhZGp1c3RtZW50cyAoaW50IC0+IHVuc2lnbmVkKQoKIHhl bi9jb21tb24vcGFnZV9hbGxvYy5jICB8ICAxMTkgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL21tLmggfCAgICA2ICsrCiB4 ZW4vaW5jbHVkZS9hc20teDg2L21tLmggfCAgICA2ICsrCiAzIGZpbGVzIGNoYW5nZWQsIDExMCBp bnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Bh Z2VfYWxsb2MuYyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCmluZGV4IDZmZTU1ZWUuLjlkY2Y2 ZWUgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCisrKyBiL3hlbi9jb21tb24v cGFnZV9hbGxvYy5jCkBAIC0zODMsNiArMzgzLDggQEAgdHlwZWRlZiBzdHJ1Y3QgcGFnZV9saXN0 X2hlYWQgaGVhcF9ieV96b25lX2FuZF9vcmRlcl90W05SX1pPTkVTXVtNQVhfT1JERVIrMV07CiBz dGF0aWMgaGVhcF9ieV96b25lX2FuZF9vcmRlcl90ICpfaGVhcFtNQVhfTlVNTk9ERVNdOwogI2Rl ZmluZSBoZWFwKG5vZGUsIHpvbmUsIG9yZGVyKSAoKCpfaGVhcFtub2RlXSlbem9uZV1bb3JkZXJd KQogCitzdGF0aWMgdW5zaWduZWQgbG9uZyBub2RlX25lZWRfc2NydWJbTUFYX05VTU5PREVTXTsK Kwogc3RhdGljIHVuc2lnbmVkIGxvbmcgKmF2YWlsW01BWF9OVU1OT0RFU107CiBzdGF0aWMgbG9u ZyB0b3RhbF9hdmFpbF9wYWdlczsKIApAQCAtNjc4LDYgKzY4MCwyMCBAQCBzdGF0aWMgdm9pZCBj aGVja19sb3dfbWVtX3ZpcnEodm9pZCkKICAgICB9CiB9CiAKKy8qIFBhZ2VzIHRoYXQgbmVlZCBz Y3J1YiBhcmUgYWRkZWQgdG8gdGFpbCwgb3RoZXJ3aXNlIHRvIGhlYWQuICovCitzdGF0aWMgdm9p ZCBwYWdlX2xpc3RfYWRkX3NjcnViKHN0cnVjdCBwYWdlX2luZm8gKnBnLCB1bnNpZ25lZCBpbnQg bm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHpvbmUs IHVuc2lnbmVkIGludCBvcmRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v bCBuZWVkX3NjcnViKQoreworICAgIFBGTl9PUkRFUihwZykgPSBvcmRlcjsKKyAgICBwZy0+dS5m cmVlLmRpcnR5X2hlYWQgPSBuZWVkX3NjcnViOworCisgICAgaWYgKCBuZWVkX3NjcnViICkKKyAg ICAgICAgcGFnZV9saXN0X2FkZF90YWlsKHBnLCAmaGVhcChub2RlLCB6b25lLCBvcmRlcikpOwor ICAgIGVsc2UKKyAgICAgICAgcGFnZV9saXN0X2FkZChwZywgJmhlYXAobm9kZSwgem9uZSwgb3Jk ZXIpKTsKK30KKwogLyogQWxsb2NhdGUgMl5Ab3JkZXIgY29udGlndW91cyBwYWdlcy4gKi8KIHN0 YXRpYyBzdHJ1Y3QgcGFnZV9pbmZvICphbGxvY19oZWFwX3BhZ2VzKAogICAgIHVuc2lnbmVkIGlu dCB6b25lX2xvLCB1bnNpZ25lZCBpbnQgem9uZV9oaSwKQEAgLTgwMiw3ICs4MTgsNyBAQCBzdGF0 aWMgc3RydWN0IHBhZ2VfaW5mbyAqYWxsb2NfaGVhcF9wYWdlcygKICAgICB3aGlsZSAoIGogIT0g b3JkZXIgKQogICAgIHsKICAgICAgICAgUEZOX09SREVSKHBnKSA9IC0tajsKLSAgICAgICAgcGFn ZV9saXN0X2FkZF90YWlsKHBnLCAmaGVhcChub2RlLCB6b25lLCBqKSk7CisgICAgICAgIHBhZ2Vf bGlzdF9hZGQocGcsICZoZWFwKG5vZGUsIHpvbmUsIGopKTsKICAgICAgICAgcGcgKz0gMSA8PCBq OwogICAgIH0KIApAQCAtODUxLDExICs4NjcsMTQgQEAgc3RhdGljIGludCByZXNlcnZlX29mZmxp bmVkX3BhZ2Uoc3RydWN0IHBhZ2VfaW5mbyAqaGVhZCkKICAgICBpbnQgem9uZSA9IHBhZ2VfdG9f em9uZShoZWFkKSwgaSwgaGVhZF9vcmRlciA9IFBGTl9PUkRFUihoZWFkKSwgY291bnQgPSAwOwog ICAgIHN0cnVjdCBwYWdlX2luZm8gKmN1cl9oZWFkOwogICAgIGludCBjdXJfb3JkZXI7CisgICAg Ym9vbCBuZWVkX3NjcnViOwogCiAgICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZoZWFwX2xvY2sp KTsKIAogICAgIGN1cl9oZWFkID0gaGVhZDsKIAorICAgIGhlYWQtPnUuZnJlZS5kaXJ0eV9oZWFk ID0gZmFsc2U7CisKICAgICBwYWdlX2xpc3RfZGVsKGhlYWQsICZoZWFwKG5vZGUsIHpvbmUsIGhl YWRfb3JkZXIpKTsKIAogICAgIHdoaWxlICggY3VyX2hlYWQgPCAoaGVhZCArICgxIDw8IGhlYWRf b3JkZXIpKSApCkBAIC04OTIsOCArOTExLDE2IEBAIHN0YXRpYyBpbnQgcmVzZXJ2ZV9vZmZsaW5l ZF9wYWdlKHN0cnVjdCBwYWdlX2luZm8gKmhlYWQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAg ICBtZXJnZToKICAgICAgICAgICAgICAgICAvKiBXZSBkb24ndCBjb25zaWRlciBtZXJnaW5nIG91 dHNpZGUgdGhlIGhlYWRfb3JkZXIuICovCi0gICAgICAgICAgICAgICAgcGFnZV9saXN0X2FkZF90 YWlsKGN1cl9oZWFkLCAmaGVhcChub2RlLCB6b25lLCBjdXJfb3JkZXIpKTsKLSAgICAgICAgICAg ICAgICBQRk5fT1JERVIoY3VyX2hlYWQpID0gY3VyX29yZGVyOworCisgICAgICAgICAgICAgICAg LyogU2VlIGlmIGFueSBvZiB0aGUgcGFnZXMgbmVlZCBzY3J1YmJpbmcuICovCisgICAgICAgICAg ICAgICAgbmVlZF9zY3J1YiA9IGZhbHNlOworICAgICAgICAgICAgICAgIGZvciAoIGkgPSAwOyBp IDwgKDEgPDwgY3VyX29yZGVyKTsgaSsrICkKKyAgICAgICAgICAgICAgICAgICAgaWYgKCB0ZXN0 X2JpdChfUEdDX25lZWRfc2NydWIsICZjdXJfaGVhZFtpXS5jb3VudF9pbmZvKSApCisgICAgICAg ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRfc2NydWIgPSB0cnVl OworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICAgICBwYWdlX2xpc3RfYWRkX3NjcnViKGN1cl9oZWFkLCBub2RlLCB6b25l LCBjdXJfb3JkZXIsIG5lZWRfc2NydWIpOwogICAgICAgICAgICAgICAgIGN1cl9oZWFkICs9ICgx IDw8IGN1cl9vcmRlcik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CkBA IC05MjIsMTAgKzk0OSwxMyBAQCBzdGF0aWMgaW50IHJlc2VydmVfb2ZmbGluZWRfcGFnZShzdHJ1 Y3QgcGFnZV9pbmZvICpoZWFkKQogLyogUmV0dXJucyBuZXcgYnVkZHkgaGVhZC4gKi8KIHN0YXRp YyBzdHJ1Y3QgcGFnZV9pbmZvICoKIG1lcmdlX2FuZF9mcmVlX2J1ZGR5KHN0cnVjdCBwYWdlX2lu Zm8gKnBnLCB1bnNpZ25lZCBpbnQgbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCB6b25lLCB1bnNpZ25lZCBpbnQgb3JkZXIpCisgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgem9uZSwgdW5zaWduZWQgaW50IG9yZGVyLAorICAgICAgICAgICAgICAgICAgICAg Ym9vbCBuZWVkX3NjcnViKQogewogICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgmaGVhcF9sb2Nr KSk7CiAKKyAgICBwZy0+dS5mcmVlLmRpcnR5X2hlYWQgPSBmYWxzZTsKKwogICAgIC8qIE1lcmdl IGNodW5rcyBhcyBmYXIgYXMgcG9zc2libGUuICovCiAgICAgd2hpbGUgKCBvcmRlciA8IE1BWF9P UkRFUiApCiAgICAgewpAQCAtOTQ0LDYgKzk3NCw4IEBAIG1lcmdlX2FuZF9mcmVlX2J1ZGR5KHN0 cnVjdCBwYWdlX2luZm8gKnBnLCB1bnNpZ25lZCBpbnQgbm9kZSwKICAgICAgICAgICAgIGJyZWFr OwogCiAgICAgICAgIHBhZ2VfbGlzdF9kZWwoYnVkZHksICZoZWFwKG5vZGUsIHpvbmUsIG9yZGVy KSk7CisgICAgICAgIG5lZWRfc2NydWIgfD0gYnVkZHktPnUuZnJlZS5kaXJ0eV9oZWFkOworICAg ICAgICBidWRkeS0+dS5mcmVlLmRpcnR5X2hlYWQgPSBmYWxzZTsKIAogICAgICAgICAvKiBBZGp1 c3QgY3VycmVudCBidWRkeSBoZWFkIGlmIHdlIG1lcmdlZCBiYWNrd2FyZHMuICovCiAgICAgICAg IGlmICggYnVkZHkgPCBwZyApCkBAIC05NTIsMTUgKzk4NCw1NiBAQCBtZXJnZV9hbmRfZnJlZV9i dWRkeShzdHJ1Y3QgcGFnZV9pbmZvICpwZywgdW5zaWduZWQgaW50IG5vZGUsCiAgICAgICAgIG9y ZGVyKys7CiAgICAgfQogCi0gICAgUEZOX09SREVSKHBnKSA9IG9yZGVyOwotICAgIHBhZ2VfbGlz dF9hZGRfdGFpbChwZywgJmhlYXAobm9kZSwgem9uZSwgb3JkZXIpKTsKKyAgICBwYWdlX2xpc3Rf YWRkX3NjcnViKHBnLCBub2RlLCB6b25lLCBvcmRlciwgbmVlZF9zY3J1Yik7CiAKICAgICByZXR1 cm4gcGc7CiB9CiAKK3N0YXRpYyB2b2lkIHNjcnViX2ZyZWVfcGFnZXModW5zaWduZWQgaW50IG5v ZGUpCit7CisgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7CisgICAgdW5zaWduZWQgaW50IHpvbmUs IG9yZGVyOworICAgIHVuc2lnbmVkIGxvbmcgaTsKKworICAgIEFTU0VSVChzcGluX2lzX2xvY2tl ZCgmaGVhcF9sb2NrKSk7CisKKyAgICBpZiAoICFub2RlX25lZWRfc2NydWJbbm9kZV0gKQorICAg ICAgICByZXR1cm47CisKKyAgICBmb3IgKCB6b25lID0gMDsgem9uZSA8IE5SX1pPTkVTOyB6b25l KysgKQorICAgIHsKKyAgICAgICAgb3JkZXIgPSBNQVhfT1JERVI7CisgICAgICAgIGRvIHsKKyAg ICAgICAgICAgIHdoaWxlICggIXBhZ2VfbGlzdF9lbXB0eSgmaGVhcChub2RlLCB6b25lLCBvcmRl cikpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBVbnNjcnViYmVkIHBhZ2Vz IGFyZSBhbHdheXMgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC4gKi8KKyAgICAgICAgICAgICAgICBw ZyA9IHBhZ2VfbGlzdF9sYXN0KCZoZWFwKG5vZGUsIHpvbmUsIG9yZGVyKSk7CisgICAgICAgICAg ICAgICAgaWYgKCAhcGctPnUuZnJlZS5kaXJ0eV9oZWFkICkKKyAgICAgICAgICAgICAgICAgICAg YnJlYWs7CisKKyAgICAgICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgb3JkZXIp OyBpKyspCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoIHRlc3Rf Yml0KF9QR0NfbmVlZF9zY3J1YiwgJnBnW2ldLmNvdW50X2luZm8pICkKKyAgICAgICAgICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgc2NydWJfb25lX3BhZ2UoJnBnW2ldKTsK KyAgICAgICAgICAgICAgICAgICAgICAgIHBnW2ldLmNvdW50X2luZm8gJj0gflBHQ19uZWVkX3Nj cnViOworICAgICAgICAgICAgICAgICAgICAgICAgbm9kZV9uZWVkX3NjcnViW25vZGVdLS07Cisg ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAg ICBwYWdlX2xpc3RfZGVsKHBnLCAmaGVhcChub2RlLCB6b25lLCBvcmRlcikpOworICAgICAgICAg ICAgICAgIG1lcmdlX2FuZF9mcmVlX2J1ZGR5KHBnLCBub2RlLCB6b25lLCBvcmRlciwgZmFsc2Up OworCisgICAgICAgICAgICAgICAgaWYgKCBub2RlX25lZWRfc2NydWJbbm9kZV0gPT0gMCApCisg ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSB3aGls ZSAoIG9yZGVyLS0gIT0gMCApOworICAgIH0KK30KKwogLyogRnJlZSAyXkBvcmRlciBzZXQgb2Yg cGFnZXMuICovCiBzdGF0aWMgdm9pZCBmcmVlX2hlYXBfcGFnZXMoCi0gICAgc3RydWN0IHBhZ2Vf aW5mbyAqcGcsIHVuc2lnbmVkIGludCBvcmRlcikKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZywg dW5zaWduZWQgaW50IG9yZGVyLCBib29sIG5lZWRfc2NydWIpCiB7CiAgICAgdW5zaWduZWQgbG9u ZyBtZm4gPSBwYWdlX3RvX21mbihwZyk7CiAgICAgdW5zaWduZWQgaW50IGksIG5vZGUgPSBwaHlz X3RvX25pZChwYWdlX3RvX21hZGRyKHBnKSksIHRhaW50ZWQgPSAwOwpAQCAtMTAwOSwxMSArMTA4 MiwyMiBAQCBzdGF0aWMgdm9pZCBmcmVlX2hlYXBfcGFnZXMoCiAgICAgICAgIG1pZHNpemVfYWxs b2Nfem9uZV9wYWdlcyA9IG1heCgKICAgICAgICAgICAgIG1pZHNpemVfYWxsb2Nfem9uZV9wYWdl cywgdG90YWxfYXZhaWxfcGFnZXMgLyBNSURTSVpFX0FMTE9DX0ZSQUMpOwogCi0gICAgcGcgPSBt ZXJnZV9hbmRfZnJlZV9idWRkeShwZywgbm9kZSwgem9uZSwgb3JkZXIpOworICAgIGlmICggbmVl ZF9zY3J1YiApCisgICAgeworICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxIDw8IG9yZGVyKTsg aSsrICkKKyAgICAgICAgICAgIHBnW2ldLmNvdW50X2luZm8gfD0gUEdDX25lZWRfc2NydWI7CisK KyAgICAgICAgbm9kZV9uZWVkX3NjcnViW25vZGVdICs9ICgxVUwgPDwgb3JkZXIpOworICAgIH0K KworICAgIHBnID0gbWVyZ2VfYW5kX2ZyZWVfYnVkZHkocGcsIG5vZGUsIHpvbmUsIG9yZGVyLCBu ZWVkX3NjcnViKTsKIAogICAgIGlmICggdGFpbnRlZCApCiAgICAgICAgIHJlc2VydmVfb2ZmbGlu ZWRfcGFnZShwZyk7CiAKKyAgICBpZiAoIG5lZWRfc2NydWIgKQorICAgICAgICBzY3J1Yl9mcmVl X3BhZ2VzKG5vZGUpOworCiAgICAgc3Bpbl91bmxvY2soJmhlYXBfbG9jayk7CiB9CiAKQEAgLTEy MzQsNyArMTMxOCw3IEBAIHVuc2lnbmVkIGludCBvbmxpbmVfcGFnZSh1bnNpZ25lZCBsb25nIG1m biwgdWludDMyX3QgKnN0YXR1cykKICAgICBzcGluX3VubG9jaygmaGVhcF9sb2NrKTsKIAogICAg IGlmICggKHkgJiBQR0Nfc3RhdGUpID09IFBHQ19zdGF0ZV9vZmZsaW5lZCApCi0gICAgICAgIGZy ZWVfaGVhcF9wYWdlcyhwZywgMCk7CisgICAgICAgIGZyZWVfaGVhcF9wYWdlcyhwZywgMCwgZmFs c2UpOwogCiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTEzMDMsNyArMTM4Nyw3IEBAIHN0YXRpYyB2 b2lkIGluaXRfaGVhcF9wYWdlcygKICAgICAgICAgICAgIG5yX3BhZ2VzIC09IG47CiAgICAgICAg IH0KIAotICAgICAgICBmcmVlX2hlYXBfcGFnZXMocGcraSwgMCk7CisgICAgICAgIGZyZWVfaGVh cF9wYWdlcyhwZyArIGksIDAsIGZhbHNlKTsKICAgICB9CiB9CiAKQEAgLTE2MzAsNyArMTcxNCw3 IEBAIHZvaWQgZnJlZV94ZW5oZWFwX3BhZ2VzKHZvaWQgKnYsIHVuc2lnbmVkIGludCBvcmRlcikK IAogICAgIG1lbWd1YXJkX2d1YXJkX3JhbmdlKHYsIDEgPDwgKG9yZGVyICsgUEFHRV9TSElGVCkp OwogCi0gICAgZnJlZV9oZWFwX3BhZ2VzKHZpcnRfdG9fcGFnZSh2KSwgb3JkZXIpOworICAgIGZy ZWVfaGVhcF9wYWdlcyh2aXJ0X3RvX3BhZ2UodiksIG9yZGVyLCBmYWxzZSk7CiB9CiAKICNlbHNl CkBAIC0xNjg0LDEyICsxNzY4LDkgQEAgdm9pZCBmcmVlX3hlbmhlYXBfcGFnZXModm9pZCAqdiwg dW5zaWduZWQgaW50IG9yZGVyKQogICAgIHBnID0gdmlydF90b19wYWdlKHYpOwogCiAgICAgZm9y ICggaSA9IDA7IGkgPCAoMXUgPDwgb3JkZXIpOyBpKysgKQotICAgIHsKLSAgICAgICAgc2NydWJf b25lX3BhZ2UoJnBnW2ldKTsKICAgICAgICAgcGdbaV0uY291bnRfaW5mbyAmPSB+UEdDX3hlbl9o ZWFwOwotICAgIH0KIAotICAgIGZyZWVfaGVhcF9wYWdlcyhwZywgb3JkZXIpOworICAgIGZyZWVf aGVhcF9wYWdlcyhwZywgb3JkZXIsIHRydWUpOwogfQogCiAjZW5kaWYKQEAgLTE3OTgsNyArMTg3 OSw3IEBAIHN0cnVjdCBwYWdlX2luZm8gKmFsbG9jX2RvbWhlYXBfcGFnZXMoCiAgICAgaWYgKCBk ICYmICEobWVtZmxhZ3MgJiBNRU1GX25vX293bmVyKSAmJgogICAgICAgICAgYXNzaWduX3BhZ2Vz KGQsIHBnLCBvcmRlciwgbWVtZmxhZ3MpICkKICAgICB7Ci0gICAgICAgIGZyZWVfaGVhcF9wYWdl cyhwZywgb3JkZXIpOworICAgICAgICBmcmVlX2hlYXBfcGFnZXMocGcsIG9yZGVyLCBmYWxzZSk7 CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICAKQEAgLTE4NjYsMTEgKzE5NDcsNyBA QCB2b2lkIGZyZWVfZG9taGVhcF9wYWdlcyhzdHJ1Y3QgcGFnZV9pbmZvICpwZywgdW5zaWduZWQg aW50IG9yZGVyKQogICAgICAgICAgICAgc2NydWIgPSAxOwogICAgICAgICB9CiAKLSAgICAgICAg aWYgKCB1bmxpa2VseShzY3J1YikgKQotICAgICAgICAgICAgZm9yICggaSA9IDA7IGkgPCAoMSA8 PCBvcmRlcik7IGkrKyApCi0gICAgICAgICAgICAgICAgc2NydWJfb25lX3BhZ2UoJnBnW2ldKTsK LQotICAgICAgICBmcmVlX2hlYXBfcGFnZXMocGcsIG9yZGVyKTsKKyAgICAgICAgZnJlZV9oZWFw X3BhZ2VzKHBnLCBvcmRlciwgc2NydWIpOwogICAgIH0KIAogICAgIGlmICggZHJvcF9kb21fcmVm ICkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaCBiL3hlbi9pbmNsdWRlL2Fz bS1hcm0vbW0uaAppbmRleCAwZmVmNjEyLi5hYmMzZjZiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS9hc20tYXJtL21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oCkBAIC00NSw2ICs0 NSw4IEBAIHN0cnVjdCBwYWdlX2luZm8KICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgIC8q IERvIFRMQnMgbmVlZCBmbHVzaGluZyBmb3Igc2FmZXR5IGJlZm9yZSBuZXh0IHBhZ2UgdXNlPyAq LwogICAgICAgICAgICAgYm9vbF90IG5lZWRfdGxiZmx1c2g7CisgICAgICAgICAgICAvKiBTZXQg b24gYSBidWRkeSBoZWFkIGlmIHRoZSBidWRkeSBoYXMgdW5zY3J1YmJlZCBwYWdlcy4gKi8KKyAg ICAgICAgICAgIGJvb2wgZGlydHlfaGVhZDsKICAgICAgICAgfSBmcmVlOwogCiAgICAgfSB1OwpA QCAtMTE1LDYgKzExNywxMCBAQCBzdHJ1Y3QgcGFnZV9pbmZvCiAjZGVmaW5lIFBHQ19jb3VudF93 aWR0aCAgIFBHX3NoaWZ0KDkpCiAjZGVmaW5lIFBHQ19jb3VudF9tYXNrICAgICgoMVVMPDxQR0Nf Y291bnRfd2lkdGgpLTEpCiAKKy8qIFBhZ2UgbmVlZHMgdG8gYmUgc2NydWJiZWQgKi8KKyNkZWZp bmUgX1BHQ19uZWVkX3NjcnViICAgUEdfc2hpZnQoMTApCisjZGVmaW5lIFBHQ19uZWVkX3NjcnVi ICAgIFBHX21hc2soMSwgMTApCisKIGV4dGVybiB1bnNpZ25lZCBsb25nIHhlbmhlYXBfbWZuX3N0 YXJ0LCB4ZW5oZWFwX21mbl9lbmQ7CiBleHRlcm4gdmFkZHJfdCB4ZW5oZWFwX3ZpcnRfZW5kOwog I2lmZGVmIENPTkZJR19BUk1fNjQKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0u aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaAppbmRleCAxMTlkN2RlLi41Y2Y1MjhhIDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9tbS5oCkBAIC04OSw2ICs4OSw4IEBAIHN0cnVjdCBwYWdlX2luZm8KICAgICAgICAgc3RydWN0 IHsKICAgICAgICAgICAgIC8qIERvIFRMQnMgbmVlZCBmbHVzaGluZyBmb3Igc2FmZXR5IGJlZm9y ZSBuZXh0IHBhZ2UgdXNlPyAqLwogICAgICAgICAgICAgYm9vbF90IG5lZWRfdGxiZmx1c2g7Cisg ICAgICAgICAgICAvKiBTZXQgb24gYSBidWRkeSBoZWFkIGlmIHRoZSBidWRkeSBoYXMgdW5zY3J1 YmJlZCBwYWdlcy4gKi8KKyAgICAgICAgICAgIGJvb2wgZGlydHlfaGVhZDsKICAgICAgICAgfSBm cmVlOwogCiAgICAgfSB1OwpAQCAtMjMzLDYgKzIzNSwxMCBAQCBzdHJ1Y3QgcGFnZV9pbmZvCiAj ZGVmaW5lIFBHQ19jb3VudF93aWR0aCAgIFBHX3NoaWZ0KDkpCiAjZGVmaW5lIFBHQ19jb3VudF9t YXNrICAgICgoMVVMPDxQR0NfY291bnRfd2lkdGgpLTEpCiAKKy8qIFBhZ2UgbmVlZHMgdG8gYmUg c2NydWJiZWQgKi8KKyNkZWZpbmUgX1BHQ19uZWVkX3NjcnViICAgUEdfc2hpZnQoMTApCisjZGVm aW5lIFBHQ19uZWVkX3NjcnViICAgIFBHX21hc2soMSwgMTApCisKIHN0cnVjdCBzcGFnZV9pbmZv CiB7CiAgICAgICAgdW5zaWduZWQgbG9uZyB0eXBlX2luZm87Ci0tIAoxLjcuMQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=