From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] x86/p2m: Stop other vcpus using a nested p2m before clearing it Date: Tue, 7 Feb 2017 18:48:13 +0000 Message-ID: <1486493293-2644-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: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org VW50aWwgdGhlIElQSSBoYXMgY29tcGxldGVkLCBvdGhlciBwcm9jZXNzb3JzIG1pZ2h0IGJlIHJ1 bm5pbmcgb24gdGhpcyBuZXN0ZWQKcDJtIG9iamVjdC4gIGNsZWFyX2RvbWFpbl9wYWdlKCkgZG9l cyBub3QgZ3VhcmFudGVlIHRvIG1ha2UgOC1ieXRlIGF0b21pYwp1cGRhdGVzLCB3aGljaCBtZWFu cyB0aGF0IGEgcGFnZXdhbGsgb24gYSByZW1vdGUgcHJvY2Vzc29yIG1pZ2h0IGVuY291bnRlciBh CnBhcnRpYWwgdXBkYXRlLgoKVGhpcyBpcyBjdXJyZW50bHkgc2FmZSBhcyBvdGhlciBpc3N1ZXMg cHJldmVudHMgYSBuZXN0ZWQgcDJtIGV2ZXIgYmVpbmcgc2hhcmVkCmJldHdlZW4gdHdvIGNwdXMg KGFsdGhvdWdoIHRoaXMgaXMgY29udHJhcnkgdG8gdGhlIG9yaWdpbmFsIHBsYW4pLgoKU2V0dGlu ZyBwMm0tPm5wMm1fYmFzZSB0byBQMk1fQkFTRV9FQUREUiBiZWZvcmUgdGhlIElQSSBlbnN1cmVz IHRoYXQgdGhlIElQSSdkCnByb2Nlc3NvcnMgd29uJ3QgY29udGludWUgdG8gdXNlIHRoZSBmbHVz aGVkIG1hcHBpbmdzLgoKV2hpbGUgbW9kaWZ5aW5nIHRoaXMgZnVuY3Rpb24sIHJlbW92ZSBhbGwg dGhlIHRyYWlsaW5nIHdoaXRlc3BhY2UgYW5kIHR3ZWFrCnN0eWxlIGluIHRoZSBhZmZlY3RlZCBh cmVhcy4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogVGltIERl ZWdhbiA8dGltQHhlbi5vcmc+CkNDOiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNp dHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L21tL3AybS5jIHwgMTggKysrKysrKysrKystLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMK aW5kZXggNzY3NWU5Yy4uYzViMTY0MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5j CisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtMTYxOCw4ICsxNjE4LDEwIEBAIHAybV9m bHVzaF90YWJsZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQogCiAgICAgcDJtX2xvY2socDJtKTsK IAotICAgIC8qICJIb3N0IiBwMm0gdGFibGVzIGNhbiBoYXZlIHNoYXJlZCBlbnRyaWVzICZjIHRo YXQgbmVlZCBhIGJpdCBtb3JlIAotICAgICAqIGNhcmUgd2hlbiBkaXNjYXJkaW5nIHRoZW0gKi8K KyAgICAvKgorICAgICAqICJIb3N0IiBwMm0gdGFibGVzIGNhbiBoYXZlIHNoYXJlZCBlbnRyaWVz ICZjIHRoYXQgbmVlZCBhIGJpdCBtb3JlIGNhcmUKKyAgICAgKiB3aGVuIGRpc2NhcmRpbmcgdGhl bS4KKyAgICAgKi8KICAgICBBU1NFUlQoIXAybV9pc19ob3N0cDJtKHAybSkpOwogICAgIC8qIE5l c3RlZCBwMm0ncyBkbyBub3QgZG8gcG9kLCBoZW5jZSB0aGUgYXNzZXJ0cyAoYW5kIG5vIHBvZCBs b2NrKSovCiAgICAgQVNTRVJUKHBhZ2VfbGlzdF9lbXB0eSgmcDJtLT5wb2Quc3VwZXIpKTsKQEAg LTE2MzMsMTkgKzE2MzUsMjEgQEAgcDJtX2ZsdXNoX3RhYmxlKHN0cnVjdCBwMm1fZG9tYWluICpw Mm0pCiAKICAgICAvKiBUaGlzIGlzIG5vIGxvbmdlciBhIHZhbGlkIG5lc3RlZCBwMm0gZm9yIGFu eSBhZGRyZXNzIHNwYWNlICovCiAgICAgcDJtLT5ucDJtX2Jhc2UgPSBQMk1fQkFTRV9FQUREUjsK LSAgICAKLSAgICAvKiBaYXAgdGhlIHRvcCBsZXZlbCBvZiB0aGUgdHJpZSAqLwotICAgIG1mbiA9 IHBhZ2V0YWJsZV9nZXRfbWZuKHAybV9nZXRfcGFnZXRhYmxlKHAybSkpOwotICAgIGNsZWFyX2Rv bWFpbl9wYWdlKG1mbik7CiAKICAgICAvKiBNYWtlIHN1cmUgbm9ib2R5IGVsc2UgaXMgdXNpbmcg dGhpcyBwMm0gdGFibGUgKi8KICAgICBuZXN0ZWRodm1fdm1jeF9mbHVzaHRsYihwMm0pOwogCisg ICAgLyogWmFwIHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHRyaWUgKi8KKyAgICBtZm4gPSBwYWdldGFi bGVfZ2V0X21mbihwMm1fZ2V0X3BhZ2V0YWJsZShwMm0pKTsKKyAgICBjbGVhcl9kb21haW5fcGFn ZShtZm4pOworCiAgICAgLyogRnJlZSB0aGUgcmVzdCBvZiB0aGUgdHJpZSBwYWdlcyBiYWNrIHRv IHRoZSBwYWdpbmcgcG9vbCAqLwogICAgIHRvcCA9IG1mbl90b19wYWdlKG1mbik7CiAgICAgd2hp bGUgKCAocGcgPSBwYWdlX2xpc3RfcmVtb3ZlX2hlYWQoJnAybS0+cGFnZXMpKSApCi0gICAgICAg IGlmICggcGcgIT0gdG9wICkgCisgICAgeworICAgICAgICBpZiAoIHBnICE9IHRvcCApCiAgICAg ICAgICAgICBkLT5hcmNoLnBhZ2luZy5mcmVlX3BhZ2UoZCwgcGcpOworICAgIH0KICAgICBwYWdl X2xpc3RfYWRkKHRvcCwgJnAybS0+cGFnZXMpOwogCiAgICAgcDJtX3VubG9jayhwMm0pOwotLSAK Mi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK