From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-next 3/3] x86/ldt: Alter how invalidate_shadow_ldt() deals with TLB flushes Date: Mon, 2 Oct 2017 17:13:49 +0100 Message-ID: <1506960829-18991-4-git-send-email-andrew.cooper3@citrix.com> References: <1506960829-18991-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1506960829-18991-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org TW9kaWZ5IGludmFsaWRhdGVfc2hhZG93X2xkdCgpIHRvIHJldHVybiBhIGJvb2xlYW4gaW5kaWNh dGluZyB3aGV0aGVyIG1hcHBpbmdzCmhhdmUgYmVlbiBkcm9wcGVkLCByYXRoZXIgdGhhbiB0YWtp bmcgYSBmbHVzaCBwYXJhbWV0ZXIuICBUd2VhayB0aGUgaW50ZXJuYWwKbG9naWMgdG8gYmUgYWJs ZSB0byBBU1NFUlQoKSB0aGF0IHYtPmFyY2gucHZfdmNwdS5zaGFkb3dfbGR0X21hcGNudCBtYXRj aGVzCnRoZSBudW1iZXIgb2YgUFRFcyByZW1vdmVkLgoKVGhpcyBhbGxvd3MgTU1VRVhUT1BfU0VU X0xEVCB0byBhdm9pZCBhIGxvY2FsIFRMQiBmbHVzaCBpZiBubyBMRFQgZW50cmllcyBoYWQKYmVl biBmYXVsdGVkIGluIHRvIGJlZ2luIHdpdGguCgpGaW5hbGx5LCBjb3JyZWN0IGEgY29tbWVudCBp biBfX2dldF9wYWdlX3R5cGUoKS4gIFVuZGVyIG5vIGNpcmN1bXN0YW5jZSBpcyBpdApzYWZlIHRv IGZvcmdvIHRoZSBUTEIgc2hvb3Rkb3duIGZvciBHRFQvTERUIHBhZ2VzLCBhcyB0aGF0IHdvdWxk IGFsbG93IG9uZQp2Y3B1IHRvIGdhaW4gYSB3cml0ZWFibGUgbWFwcGluZyB0byBhIGZyYW1lIHN0 aWxsIG1hcHBlZCBhcyBhIEdEVC9MRFQgYnkKYW5vdGhlciB2Y3B1LgoKU2lnbmVkLW9mZi1ieTog QW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94 ODYvbW0uYyB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXggZDlkZjVjYS4u MzdkZTRmZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2 L21tLmMKQEAgLTUwNSwxMCArNTA1LDE0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBwYWdlX3NldF90 bGJmbHVzaF90aW1lc3RhbXAoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkKIGNvbnN0IGNoYXIgX19z ZWN0aW9uKCIuYnNzLnBhZ2VfYWxpZ25lZC5jb25zdCIpIF9fYWxpZ25lZChQQUdFX1NJWkUpCiAg ICAgemVyb19wYWdlW1BBR0VfU0laRV07CiAKLXN0YXRpYyB2b2lkIGludmFsaWRhdGVfc2hhZG93 X2xkdChzdHJ1Y3QgdmNwdSAqdiwgaW50IGZsdXNoKQorLyoKKyAqIEZsdXNoIHRoZSBMRFQsIGRy b3BwaW5nIGFueSB0eXBlcmVmcy4gIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhl cgorICogbWFwcGluZ3MgaGF2ZSBiZWVuIHJlbW92ZWQgKGkuZS4gYSBUTEIgZmx1c2ggaXMgbmVl ZGVkKS4KKyAqLworc3RhdGljIGJvb2wgaW52YWxpZGF0ZV9zaGFkb3dfbGR0KHN0cnVjdCB2Y3B1 ICp2KQogewogICAgIGwxX3BnZW50cnlfdCAqcGwxZTsKLSAgICB1bnNpZ25lZCBpbnQgaTsKKyAg ICB1bnNpZ25lZCBpbnQgaSwgbWFwcGluZ3NfZHJvcHBlZCA9IDA7CiAgICAgc3RydWN0IHBhZ2Vf aW5mbyAqcGFnZTsKIAogICAgIEJVR19PTih1bmxpa2VseShpbl9pcnEoKSkpOwpAQCAtNTE4LDI2 ICs1MjIsMjkgQEAgc3RhdGljIHZvaWQgaW52YWxpZGF0ZV9zaGFkb3dfbGR0KHN0cnVjdCB2Y3B1 ICp2LCBpbnQgZmx1c2gpCiAgICAgaWYgKCB2LT5hcmNoLnB2X3ZjcHUuc2hhZG93X2xkdF9tYXBj bnQgPT0gMCApCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAgdi0+YXJjaC5wdl92Y3B1LnNoYWRv d19sZHRfbWFwY250ID0gMDsKICAgICBwbDFlID0gcHZfbGR0X3B0ZXModik7CiAKICAgICBmb3Ig KCBpID0gMDsgaSA8IDE2OyBpKysgKQogICAgIHsKICAgICAgICAgaWYgKCAhKGwxZV9nZXRfZmxh Z3MocGwxZVtpXSkgJiBfUEFHRV9QUkVTRU5UKSApCiAgICAgICAgICAgICBjb250aW51ZTsKKwog ICAgICAgICBwYWdlID0gbDFlX2dldF9wYWdlKHBsMWVbaV0pOwogICAgICAgICBsMWVfd3JpdGUo JnBsMWVbaV0sIGwxZV9lbXB0eSgpKTsKKyAgICAgICAgbWFwcGluZ3NfZHJvcHBlZCsrOworCiAg ICAgICAgIEFTU0VSVF9QQUdFX0lTX1RZUEUocGFnZSwgUEdUX3NlZ19kZXNjX3BhZ2UpOwogICAg ICAgICBBU1NFUlRfUEFHRV9JU19ET01BSU4ocGFnZSwgdi0+ZG9tYWluKTsKICAgICAgICAgcHV0 X3BhZ2VfYW5kX3R5cGUocGFnZSk7CiAgICAgfQogCi0gICAgLyogUmlkIFRMQnMgb2Ygc3RhbGUg bWFwcGluZ3MgKGd1ZXN0IG1hcHBpbmdzIGFuZCBzaGFkb3cgbWFwcGluZ3MpLiAqLwotICAgIGlm ICggZmx1c2ggKQotICAgICAgICBmbHVzaF90bGJfbWFzayh2LT52Y3B1X2RpcnR5X2NwdW1hc2sp OworICAgIEFTU0VSVCh2LT5hcmNoLnB2X3ZjcHUuc2hhZG93X2xkdF9tYXBjbnQgPT0gbWFwcGlu Z3NfZHJvcHBlZCk7CisgICAgdi0+YXJjaC5wdl92Y3B1LnNoYWRvd19sZHRfbWFwY250ID0gMDsK IAogIG91dDoKICAgICBzcGluX3VubG9jaygmdi0+YXJjaC5wdl92Y3B1LnNoYWRvd19sZHRfbG9j ayk7CisKKyAgICByZXR1cm4gISFtYXBwaW5nc19kcm9wcGVkOwogfQogCiAKQEAgLTEwODcsNyAr MTA5NCwxMCBAQCB2b2lkIHB1dF9wYWdlX2Zyb21fbDFlKGwxX3BnZW50cnlfdCBsMWUsIHN0cnVj dCBkb21haW4gKmwxZV9vd25lcikKICAgICAgICAgICAgICAobDFlX293bmVyID09IHBnX293bmVy KSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGZvcl9lYWNoX3ZjcHUgKCBwZ19vd25lciwgdiAp Ci0gICAgICAgICAgICAgICAgaW52YWxpZGF0ZV9zaGFkb3dfbGR0KHYsIDEpOworICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgIGlmICggaW52YWxpZGF0ZV9zaGFkb3dfbGR0KHYpICkKKyAg ICAgICAgICAgICAgICAgICAgZmx1c2hfdGxiX21hc2sodi0+dmNwdV9kaXJ0eV9jcHVtYXNrKTsK KyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBwdXRfcGFnZShwYWdlKTsKICAgICB9 CkBAIC0yMjM3LDkgKzIyNDcsOSBAQCBzdGF0aWMgaW50IF9fZ2V0X3BhZ2VfdHlwZShzdHJ1Y3Qg cGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5cGUsCiAgICAgICAgICAgICBpZiAoICh4 ICYgUEdUX3R5cGVfbWFzaykgIT0gdHlwZSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgLyoKLSAgICAgICAgICAgICAgICAgKiBPbiB0eXBlIGNoYW5nZSB3ZSBjaGVjayB0byBmbHVz aCBzdGFsZSBUTEIgZW50cmllcy4gVGhpcwotICAgICAgICAgICAgICAgICAqIG1heSBiZSB1bm5l Y2Vzc2FyeSAoZS5nLiwgcGFnZSB3YXMgR0RUL0xEVCkgYnV0IHRob3NlCi0gICAgICAgICAgICAg ICAgICogY2lyY3Vtc3RhbmNlcyBzaG91bGQgYmUgdmVyeSByYXJlLgorICAgICAgICAgICAgICAg ICAqIE9uIHR5cGUgY2hhbmdlIHdlIGNoZWNrIHRvIGZsdXNoIHN0YWxlIFRMQiBlbnRyaWVzLiBJ dCBpcworICAgICAgICAgICAgICAgICAqIHZpdGFsIHRoYXQgbm8gb3RoZXIgQ1BVcyBhcmUgbGVm dCB3aXRoIG1hcHBpbmdzIG9mIGEgZnJhbWUKKyAgICAgICAgICAgICAgICAgKiB3aGljaCBpcyBh Ym91dCB0byBiZWNvbWUgd3JpdGVhYmxlIHRvIHRoZSBndWVzdC4KICAgICAgICAgICAgICAgICAg Ki8KICAgICAgICAgICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlzX2NwdShzY3JhdGNoX2Nw dW1hc2spOwogCkBAIC0yNDg2LDcgKzI0OTYsNyBAQCBpbnQgbmV3X2d1ZXN0X2NyMyhtZm5fdCBt Zm4pCiAgICAgICAgICAgICByZXR1cm4gcmM7CiAgICAgICAgIH0KIAotICAgICAgICBpbnZhbGlk YXRlX3NoYWRvd19sZHQoY3VyciwgMCk7CisgICAgICAgIGludmFsaWRhdGVfc2hhZG93X2xkdChj dXJyKTsgLyogVW5jb25kaXRpb25hbCBUTEIgZmx1c2ggbGF0ZXIuICovCiAgICAgICAgIHdyaXRl X3B0YmFzZShjdXJyKTsKIAogICAgICAgICByZXR1cm4gMDsKQEAgLTI1MjQsNyArMjUzNCw3IEBA IGludCBuZXdfZ3Vlc3RfY3IzKG1mbl90IG1mbikKICAgICAgICAgcmV0dXJuIHJjOwogICAgIH0K IAotICAgIGludmFsaWRhdGVfc2hhZG93X2xkdChjdXJyLCAwKTsKKyAgICBpbnZhbGlkYXRlX3No YWRvd19sZHQoY3Vycik7IC8qIFVuY29uZGl0aW9uYWwgVExCIGZsdXNoIGxhdGVyLiAqLwogCiAg ICAgaWYgKCAhVk1fQVNTSVNUKGQsIG0ycF9zdHJpY3QpICYmICFwYWdpbmdfbW9kZV9yZWZjb3Vu dHMoZCkgKQogICAgICAgICBmaWxsX3JvX21wdChtZm4pOwpAQCAtMzAyNSw4ICszMDM1LDkgQEAg bG9uZyBkb19tbXVleHRfb3AoCiAgICAgICAgICAgICBlbHNlIGlmICggKGN1cnItPmFyY2gucHZf dmNwdS5sZHRfZW50cyAhPSBlbnRzKSB8fAogICAgICAgICAgICAgICAgICAgICAgIChjdXJyLT5h cmNoLnB2X3ZjcHUubGR0X2Jhc2UgIT0gcHRyKSApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAg ICAgICAgaW52YWxpZGF0ZV9zaGFkb3dfbGR0KGN1cnIsIDApOwotICAgICAgICAgICAgICAgIGZs dXNoX3RsYl9sb2NhbCgpOworICAgICAgICAgICAgICAgIGlmICggaW52YWxpZGF0ZV9zaGFkb3df bGR0KGN1cnIpICkKKyAgICAgICAgICAgICAgICAgICAgZmx1c2hfdGxiX2xvY2FsKCk7CisKICAg ICAgICAgICAgICAgICBjdXJyLT5hcmNoLnB2X3ZjcHUubGR0X2Jhc2UgPSBwdHI7CiAgICAgICAg ICAgICAgICAgY3Vyci0+YXJjaC5wdl92Y3B1LmxkdF9lbnRzID0gZW50czsKICAgICAgICAgICAg ICAgICBsb2FkX0xEVChjdXJyKTsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==