From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: [PATCHv8] x86/ept: defer the invalidation until the p2m lock is released Date: Tue, 12 Apr 2016 17:19:43 +0100 Message-ID: <1460477983-6277-2-git-send-email-david.vrabel@citrix.com> References: <1460477983-6277-1-git-send-email-david.vrabel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aq2Zo-0004R0-42 for xen-devel@lists.xenproject.org; Tue, 12 Apr 2016 17:58:12 +0000 In-Reply-To: <1460477983-6277-1-git-send-email-david.vrabel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Kevin Tian , Jun Nakajima , George Dunlap , Andrew Cooper , David Vrabel , Jan Beulich List-Id: xen-devel@lists.xenproject.org SG9sZGluZyB0aGUgcDJtIGxvY2sgd2hpbGUgY2FsbGluZyBlcHRfc3luY19kb21haW4oKSBpcyB2 ZXJ5IGV4cGVuc2l2ZQpzaW5jZSBpdCBkb2VzIGFuIG9uX3NlbGVjdGVkX2NwdXMoKSBjYWxsLiAg SVBJcyBvbiBtYW55IHNvY2tldAptYWNoaW5lcyBjYW4gYmUgdmVyeSBzbG93IGFuZCBvbl9zZWxl Y3RlZF9jcHVzKCkgaXMgc2VyaWFsaXplZC4KCkl0IGlzIHNhZmUgdG8gZGVmZXIgdGhlIGludmFs aWRhdGUgdW50aWwgdGhlIHAybSBsb2NrIGlzIHJlbGVhc2VkCmV4Y2VwdCBmb3IgdHdvIGNhc2Vz OgoKMS4gV2hlbiBmcmVlaW5nIGEgcGFnZSB0YWJsZSBwYWdlIChzaW5jZSBwYXJ0aWFsIHRyYW5z bGF0aW9ucyBtYXkgYmUKICAgY2FjaGVkKS4KMi4gV2hlbiByZWNsYWltaW5nIGEgemVybyBwYWdl IGFzIHBhcnQgb2YgUG9ELgoKRm9yIHRoZXNlIGNhc2VzLCBhZGQgcDJtX3RsYl9mbHVzaF9zeW5j KCkgY2FsbHMgd2hpY2ggd2lsbCBpbW1lZGlhdGVseQpwZXJmb3JtIHRoZSBpbnZhbGlkYXRlIGJl Zm9yZSB0aGUgcGFnZSBpcyBmcmVlZCBvciByZWNsYWltZWQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBWcmFiZWwgPGRhdmlkLnZyYWJlbEBjaXRyaXguY29tPgotLS0Kdjg6Ci0gcDJtX3RsYl9mbHVz aF9hbmRfdW5sb2NrKCkgLT4gcDJtX3VubG9ja19hbmRfdGxiX2ZsdXNoKCkuCi0gcDJtX3VubG9j a19hbmRfdGxiX2ZsdXNoKCkgbm93IGRvZXMgdGhlIHVubG9jayBhbmQgdGhlIHAybQogIGltcGxl bWVudGF0aW9uIG5lZWQgb25seSBwcm92aWRlIGEgdGxiX2ZsdXNoKCkgb3AuCgp2NzoKLSBBZGQg c29tZSBtb3JlIHAybV90bGJfZmx1c2hfc3luYygpIGNhbGxzIHRvIFBvRC4KLSBNb3JlIGNvbW1l bnRzLgoKdjY6Ci0gTW92ZSBwMm1fdGxiX2ZsdXNoX3N5bmMoKSB0byBpbW1lZGlhdGVseSBiZWZv cmUgcDJtX2ZyZWVfcHRwKCkuICBJdCB3YXMKICBjYWxsZWQgYWxsIHRoZSB0aW1lIG90aGVyd2lz ZS4KCnY1OgotIGFkZCBwMm1fdGxiX2ZsdXNoX3N5bmMoKSBhbmQgY2FsbCBpdCBiZWZvcmUgZnJl ZWluZyBwZ2FlIHRhYmxlIHBhZ2VzCiAgYW5kIHJlY2xhaW1pbmcgemVyb2VkIHBvZCBwYWdlcy4K CnYyOgotIHVzZSBwZXItcDJtIGxpc3QgZm9yIGRlZmVycmVkIHBhZ2VzLgotIHVwZGF0ZSBzeW5j ZWRfbWFzayB3aGlsZSBob2xkaW5nIHdyaXRlIGxvY2suCi0tLQogeGVuL2FyY2gveDg2L21tL21t LWxvY2tzLmggfCAyMyArKysrKysrKysrKysrKystLS0tLS0tLQogeGVuL2FyY2gveDg2L21tL3Ay bS1lcHQuYyAgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIHhl bi9hcmNoL3g4Ni9tbS9wMm0tcG9kLmMgIHwgIDQgKysrKwogeGVuL2FyY2gveDg2L21tL3AybS5j ICAgICAgfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4 Ni9wMm0uaCAgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDk4 IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9tbS9tbS1sb2Nrcy5oIGIveGVuL2FyY2gveDg2L21tL21tLWxvY2tzLmgKaW5kZXggOGE0MDk4 Ni4uMDg2YzhiYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL21tLWxvY2tzLmgKKysrIGIv eGVuL2FyY2gveDg2L21tL21tLWxvY2tzLmgKQEAgLTI2NSwxNCArMjY1LDIxIEBAIGRlY2xhcmVf bW1fbG9jayhhbHRwMm1saXN0KQogICovCiAKIGRlY2xhcmVfbW1fcndsb2NrKGFsdHAybSk7Ci0j ZGVmaW5lIHAybV9sb2NrKHApICAgICAgICAgICAgICAgICAgICAgICAgIFwKLXsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmICggcDJtX2lzX2FsdHAy bShwKSApICAgICAgICAgICAgICAgICBcCi0gICAgICAgIG1tX3dyaXRlX2xvY2soYWx0cDJtLCAm KHApLT5sb2NrKTsgIFwKLSAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAotICAgICAgICBtbV93cml0ZV9sb2NrKHAybSwgJihwKS0+bG9jayk7ICAgICBcCi19Ci0j ZGVmaW5lIHAybV91bmxvY2socCkgICAgICAgICBtbV93cml0ZV91bmxvY2soJihwKS0+bG9jayk7 CisjZGVmaW5lIHAybV9sb2NrKHApICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg ZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlm ICggcDJtX2lzX2FsdHAybShwKSApICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBtbV93 cml0ZV9sb2NrKGFsdHAybSwgJihwKS0+bG9jayk7ICBcCisgICAgICAgIGVsc2UgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBtbV93cml0ZV9sb2NrKHAy bSwgJihwKS0+bG9jayk7ICAgICBcCisgICAgICAgIChwKS0+ZGVmZXJfZmx1c2grKzsgICAgICAg ICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgcDJtX3VubG9jayhwKSAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKCAtLShwKS0+ZGVmZXJfZmx1c2ggPT0g MCApICAgICAgICAgIFwKKyAgICAgICAgICAgIHAybV91bmxvY2tfYW5kX3RsYl9mbHVzaChwKTsg ICAgICAgIFwKKyAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKyAgICAgICAgICAgIG1tX3dyaXRlX3VubG9jaygmKHApLT5sb2NrKTsgICAgICAgIFwKKyAg ICB9IHdoaWxlICgwKQogI2RlZmluZSBnZm5fbG9jayhwLGcsbykgICAgICAgcDJtX2xvY2socCkK ICNkZWZpbmUgZ2ZuX3VubG9jayhwLGcsbykgICAgIHAybV91bmxvY2socCkKICNkZWZpbmUgcDJt X3JlYWRfbG9jayhwKSAgICAgIG1tX3JlYWRfbG9jayhwMm0sICYocCktPmxvY2spCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jIGIveGVuL2FyY2gveDg2L21tL3AybS1lcHQu YwppbmRleCAzY2I2ODY4Li4xZWQ1YjQ3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJt LWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKQEAgLTI2NCw2ICsyNjQsNyBA QCBzdGF0aWMgdm9pZCBlcHRfZnJlZV9lbnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBlcHRf ZW50cnlfdCAqZXB0X2VudHJ5LCBpbnQgbAogICAgICAgICB1bm1hcF9kb21haW5fcGFnZShlcHRl KTsKICAgICB9CiAgICAgCisgICAgcDJtX3RsYl9mbHVzaF9zeW5jKHAybSk7CiAgICAgcDJtX2Zy ZWVfcHRwKHAybSwgbWZuX3RvX3BhZ2UoZXB0X2VudHJ5LT5tZm4pKTsKIH0KIApAQCAtMTA5Niwx NSArMTA5NywxMCBAQCBzdGF0aWMgdm9pZCBfX2VwdF9zeW5jX2RvbWFpbih2b2lkICppbmZvKQog ICAgICAqLwogfQogCi12b2lkIGVwdF9zeW5jX2RvbWFpbihzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt KQorc3RhdGljIHZvaWQgZXB0X3N5bmNfZG9tYWluX3ByZXBhcmUoc3RydWN0IHAybV9kb21haW4g KnAybSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcDJtLT5kb21haW47CiAgICAgc3RydWN0 IGVwdF9kYXRhICplcHQgPSAmcDJtLT5lcHQ7Ci0gICAgLyogT25seSBpZiB1c2luZyBFUFQgYW5k IHRoaXMgZG9tYWluIGhhcyBzb21lIFZDUFVzIHRvIGRpcnR5LiAqLwotICAgIGlmICggIXBhZ2lu Z19tb2RlX2hhcChkKSB8fCAhZC0+dmNwdSB8fCAhZC0+dmNwdVswXSApCi0gICAgICAgIHJldHVy bjsKLQotICAgIEFTU0VSVChsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAogICAgIGlmICggbmVz dGVkaHZtX2VuYWJsZWQoZCkgJiYgIXAybV9pc19uZXN0ZWRwMm0ocDJtKSApCiAgICAgICAgIHAy bV9mbHVzaF9uZXN0ZWRwMm0oZCk7CkBAIC0xMTE3LDkgKzExMTMsMzUgQEAgdm9pZCBlcHRfc3lu Y19kb21haW4oc3RydWN0IHAybV9kb21haW4gKnAybSkKICAgICAgKiAgICBvZiBhbiBFUDRUQSBy ZXVzZSBpcyBzdGlsbCBuZWVkZWQuCiAgICAgICovCiAgICAgY3B1bWFza19zZXRhbGwoZXB0LT5p bnZhbGlkYXRlKTsKK30KKworc3RhdGljIHZvaWQgZXB0X3N5bmNfZG9tYWluX21hc2soc3RydWN0 IHAybV9kb21haW4gKnAybSwgY29uc3QgY3B1bWFza190ICptYXNrKQoreworICAgIG9uX3NlbGVj dGVkX2NwdXMobWFzaywgX19lcHRfc3luY19kb21haW4sIHAybSwgMSk7Cit9CisKK3ZvaWQgZXB0 X3N5bmNfZG9tYWluKHN0cnVjdCBwMm1fZG9tYWluICpwMm0pCit7CisgICAgc3RydWN0IGRvbWFp biAqZCA9IHAybS0+ZG9tYWluOwogCi0gICAgb25fc2VsZWN0ZWRfY3B1cyhkLT5kb21haW5fZGly dHlfY3B1bWFzaywKLSAgICAgICAgICAgICAgICAgICAgIF9fZXB0X3N5bmNfZG9tYWluLCBwMm0s IDEpOworICAgIC8qIE9ubHkgaWYgdXNpbmcgRVBUIGFuZCB0aGlzIGRvbWFpbiBoYXMgc29tZSBW Q1BVcyB0byBkaXJ0eS4gKi8KKyAgICBpZiAoICFwYWdpbmdfbW9kZV9oYXAoZCkgfHwgIWQtPnZj cHUgfHwgIWQtPnZjcHVbMF0gKQorICAgICAgICByZXR1cm47CisKKyAgICBlcHRfc3luY19kb21h aW5fcHJlcGFyZShwMm0pOworCisgICAgaWYgKCBwMm0tPmRlZmVyX2ZsdXNoICkKKyAgICB7Cisg ICAgICAgIHAybS0+bmVlZF9mbHVzaCA9IDE7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg ICBlcHRfc3luY19kb21haW5fbWFzayhwMm0sIGQtPmRvbWFpbl9kaXJ0eV9jcHVtYXNrKTsKK30K Kworc3RhdGljIHZvaWQgZXB0X3RsYl9mbHVzaChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQorewor ICAgIGVwdF9zeW5jX2RvbWFpbl9tYXNrKHAybSwgcDJtLT5kb21haW4tPmRvbWFpbl9kaXJ0eV9j cHVtYXNrKTsKIH0KIAogc3RhdGljIHZvaWQgZXB0X2VuYWJsZV9wbWwoc3RydWN0IHAybV9kb21h aW4gKnAybSkKQEAgLTExNzAsNiArMTE5Miw3IEBAIGludCBlcHRfcDJtX2luaXQoc3RydWN0IHAy bV9kb21haW4gKnAybSkKICAgICBwMm0tPmNoYW5nZV9lbnRyeV90eXBlX3JhbmdlID0gZXB0X2No YW5nZV9lbnRyeV90eXBlX3JhbmdlOwogICAgIHAybS0+bWVtb3J5X3R5cGVfY2hhbmdlZCA9IGVw dF9tZW1vcnlfdHlwZV9jaGFuZ2VkOwogICAgIHAybS0+YXVkaXRfcDJtID0gTlVMTDsKKyAgICBw Mm0tPnRsYl9mbHVzaCA9IGVwdF90bGJfZmx1c2g7CiAKICAgICAvKiBTZXQgdGhlIG1lbW9yeSB0 eXBlIHVzZWQgd2hlbiBhY2Nlc3NpbmcgRVBUIHBhZ2luZyBzdHJ1Y3R1cmVzLiAqLwogICAgIGVw dC0+ZXB0X210ID0gRVBUX0RFRkFVTFRfTVQ7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0v cDJtLXBvZC5jIGIveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYwppbmRleCBlYTE2ZDNlLi4zNTgz NWQxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5jCisrKyBiL3hlbi9hcmNo L3g4Ni9tbS9wMm0tcG9kLmMKQEAgLTYyNiw2ICs2MjYsNyBAQCBwMm1fcG9kX2RlY3JlYXNlX3Jl c2VydmF0aW9uKHN0cnVjdCBkb21haW4gKmQsCiAKICAgICAgICAgICAgIHAybV9zZXRfZW50cnko cDJtLCBncGZuICsgaSwgX21mbihJTlZBTElEX01GTiksIGN1cl9vcmRlciwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgcDJtX2ludmFsaWQsIHAybS0+ZGVmYXVsdF9hY2Nlc3MpOworICAgICAg ICAgICAgcDJtX3RsYl9mbHVzaF9zeW5jKHAybSk7CiAgICAgICAgICAgICBmb3IgKCBqID0gMDsg aiA8IG47ICsraiApCiAgICAgICAgICAgICAgICAgc2V0X2dwZm5fZnJvbV9tZm4obWZuX3gobWZu KSwgSU5WQUxJRF9NMlBfRU5UUlkpOwogICAgICAgICAgICAgcDJtX3BvZF9jYWNoZV9hZGQocDJt LCBwYWdlLCBjdXJfb3JkZXIpOwpAQCAtNzU1LDYgKzc1Niw3IEBAIHAybV9wb2RfemVyb19jaGVj a19zdXBlcnBhZ2Uoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBnZm4pCiAg ICAgLyogVHJ5IHRvIHJlbW92ZSB0aGUgcGFnZSwgcmVzdG9yaW5nIG9sZCBtYXBwaW5nIGlmIGl0 IGZhaWxzLiAqLwogICAgIHAybV9zZXRfZW50cnkocDJtLCBnZm4sIF9tZm4oSU5WQUxJRF9NRk4p LCBQQUdFX09SREVSXzJNLAogICAgICAgICAgICAgICAgICAgcDJtX3BvcHVsYXRlX29uX2RlbWFu ZCwgcDJtLT5kZWZhdWx0X2FjY2Vzcyk7CisgICAgcDJtX3RsYl9mbHVzaF9zeW5jKHAybSk7CiAK ICAgICAvKiBNYWtlIG5vbmUgb2YgdGhlIE1GTnMgYXJlIHVzZWQgZWxzZXdoZXJlLi4uIGZvciBl eGFtcGxlLCBtYXBwZWQKICAgICAgKiB2aWEgdGhlIGdyYW50IHRhYmxlIGludGVyZmFjZSwgb3Ig YnkgcWVtdS4gIEFsbG93IG9uZSByZWZjb3VudCBmb3IKQEAgLTg4Niw2ICs4ODgsOCBAQCBwMm1f cG9kX3plcm9fY2hlY2soc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyAqZ2Zu cywgaW50IGNvdW50KQogICAgICAgICB9CiAgICAgfQogCisgICAgcDJtX3RsYl9mbHVzaF9zeW5j KHAybSk7CisKICAgICAvKiBOb3cgY2hlY2sgZWFjaCBwYWdlIGZvciByZWFsICovCiAgICAgZm9y ICggaT0wOyBpIDwgY291bnQ7IGkrKyApCiAgICAgewpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21tL3AybS5jIGIveGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4IGIzZmNlMWIuLjQ5MWRlYWMg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0v cDJtLmMKQEAgLTMyNSw2ICszMjUsMzIgQEAgdm9pZCBwMm1fZmx1c2hfaGFyZHdhcmVfY2FjaGVk X2RpcnR5KHN0cnVjdCBkb21haW4gKmQpCiAgICAgfQogfQogCisvKgorICogRm9yY2UgYSBzeW5j aHJvbm91cyBQMk0gVExCIGZsdXNoIGlmIGEgZGVmZXJyZWQgZmx1c2ggaXMgcGVuZGluZy4KKyAq CisgKiBNdXN0IGJlIGNhbGxlZCB3aXRoIHRoZSBwMm0gbG9jayBoZWxkLgorICovCit2b2lkIHAy bV90bGJfZmx1c2hfc3luYyhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQoreworICAgIGlmICggcDJt LT5uZWVkX2ZsdXNoICkgeworICAgICAgICBwMm0tPm5lZWRfZmx1c2ggPSAwOworICAgICAgICBw Mm0tPnRsYl9mbHVzaChwMm0pOworICAgIH0KK30KKworLyoKKyAqIFVubG9jayB0aGUgcDJtIGxv Y2sgYW5kIGRvIGEgUDJNIFRMQiBmbHVzaCBpZiBuZWVkZWQuCisgKi8KK3ZvaWQgcDJtX3VubG9j a19hbmRfdGxiX2ZsdXNoKHN0cnVjdCBwMm1fZG9tYWluICpwMm0pCit7CisgICAgaWYgKCBwMm0t Pm5lZWRfZmx1c2ggKSB7CisgICAgICAgIHAybS0+bmVlZF9mbHVzaCA9IDA7CisgICAgICAgIG1t X3dyaXRlX3VubG9jaygmcDJtLT5sb2NrKTsKKyAgICAgICAgcDJtLT50bGJfZmx1c2gocDJtKTsK KyAgICB9IGVsc2UKKyAgICAgICAgbW1fd3JpdGVfdW5sb2NrKCZwMm0tPmxvY2spOworfQorCiBt Zm5fdCBfX2dldF9nZm5fdHlwZV9hY2Nlc3Moc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWdu ZWQgbG9uZyBnZm4sCiAgICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3QgKnQsIHAybV9hY2Nl c3NfdCAqYSwgcDJtX3F1ZXJ5X3QgcSwKICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 ICpwYWdlX29yZGVyLCBib29sX3QgbG9ja2VkKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKaW5kZXggNTM5MmViMC4uNjU2 NzVhMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L3AybS5oCkBAIC0yNjIsNiArMjYyLDIyIEBAIHN0cnVjdCBwMm1fZG9tYWlu IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwxX3BnZW50cnlf dCBuZXcsIHVuc2lnbmVkIGludCBsZXZlbCk7CiAgICAgbG9uZyAgICAgICAgICAgICAgICgqYXVk aXRfcDJtKShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKTsKIAorICAgIC8qCisgICAgICogUDJNIHVw ZGF0ZXMgbWF5IHJlcXVpcmUgVExCcyB0byBiZSBmbHVzaGVkIChpbnZhbGlkYXRlZCkuCisgICAg ICoKKyAgICAgKiBJZiAnZGVmZXJfZmx1c2gnIGlzIHNldCwgZmx1c2hlcyBtYXkgYmUgZGVmZXJy ZWQgYnkgc2V0dGluZworICAgICAqICduZWVkX2ZsdXNoJyBhbmQgdGhlbiBmbHVzaGluZyBpbiAn dGxiX2ZsdXNoKCknLgorICAgICAqCisgICAgICogJ3RsYl9mbHVzaCgpJyBpcyBvbmx5IGNhbGxl ZCBpZiAnbmVlZF9mbHVzaCcgd2FzIHNldC4KKyAgICAgKgorICAgICAqIElmIGEgZmx1c2ggbWF5 IGJlIGJlaW5nIGRlZmVycmVkIGJ1dCBhbiBpbW1lZGlhdGUgZmx1c2ggaXMKKyAgICAgKiByZXF1 aXJlZCAoZS5nLiwgaWYgYSBwYWdlIGlzIGJlaW5nIGZyZWVkIHRvIHBvb2wgb3RoZXIgdGhhbiB0 aGUKKyAgICAgKiBkb21oZWFwKSwgY2FsbCBwMm1fdGxiX2ZsdXNoX3N5bmMoKS4KKyAgICAgKi8K KyAgICB2b2lkICgqdGxiX2ZsdXNoKShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKTsKKyAgICB1bnNp Z25lZCBpbnQgZGVmZXJfZmx1c2g7CisgICAgYm9vbF90IG5lZWRfZmx1c2g7CisKICAgICAvKiBE ZWZhdWx0IFAyTSBhY2Nlc3MgdHlwZSBmb3IgZWFjaCBwYWdlIGluIHRoZSB0aGUgZG9tYWluOiBu ZXcgcGFnZXMsCiAgICAgICogc3dhcHBlZCBpbiBwYWdlcywgY2xlYXJlZCBwYWdlcywgYW5kIHBh Z2VzIHRoYXQgYXJlIGFtYmlndW91c2x5CiAgICAgICogcmV0eXBlZCBnZXQgdGhpcyBhY2Nlc3Mg dHlwZS4gIFNlZSBkZWZpbml0aW9uIG9mIHAybV9hY2Nlc3NfdC4gKi8KQEAgLTM1Myw2ICszNjks MTIgQEAgc3RhdGljIGlubGluZSBib29sX3QgcDJtX2lzX2FsdHAybShjb25zdCBzdHJ1Y3QgcDJt X2RvbWFpbiAqcDJtKQogCiAjZGVmaW5lIHAybV9nZXRfcGFnZXRhYmxlKHAybSkgICgocDJtKS0+ cGh5c190YWJsZSkKIAorLyoKKyAqIEVuc3VyZSBhbnkgZGVmZXJyZWQgcDJtIFRMQiBmbHVzaCBo YXMgYmVlbiBjb21wbGV0ZWQgb24gYWxsIFZDUFVzLgorICovCit2b2lkIHAybV90bGJfZmx1c2hf c3luYyhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKTsKK3ZvaWQgcDJtX3VubG9ja19hbmRfdGxiX2Zs dXNoKHN0cnVjdCBwMm1fZG9tYWluICpwMm0pOworCiAvKioqKiBwMm0gcXVlcnkgYWNjZXNzb3Jz LiBUaGV5IGxvY2sgcDJtX2xvY2ssIGFuZCB0aHVzIHNlcmlhbGl6ZQogICogbG9va3VwcyB3cnQg bW9kaWZpY2F0aW9ucy4gVGhleSBfZG8gbm90XyByZWxlYXNlIHRoZSBsb2NrIG9uIGV4aXQuCiAg KiBBZnRlciBjYWxsaW5nIGFueSBvZiB0aGUgdmFyaWFudHMgYmVsb3csIGNhbGxlciBuZWVkcyB0 byB1c2UKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK