From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Dyasli Subject: [PATCH v1 2/3] x86/vvmx: correct nested shadow VMCS handling Date: Mon, 13 Mar 2017 10:51:42 +0000 Message-ID: <20170313105143.20842-3-sergey.dyasli@citrix.com> References: <20170313105143.20842-1-sergey.dyasli@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170313105143.20842-1-sergey.dyasli@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.xen.org Cc: Andrew Cooper , Kevin Tian , Jan Beulich , Jun Nakajima , Sergey Dyasli List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5IHhlbiBhbHdheXMgc2V0cyB0aGUgc2hhZG93IFZNQ1MtaW5kaWNhdG9yIGJpdCBv biBuZXN0ZWQKdm1wdHJsZCBhbmQgYWx3YXlzIGNsZWFycyBpdCBvbiBuZXN0ZWQgdm1jbGVhci4g IFRoaXMgYmVoYXZpb3IgaXMKd3Jvbmcgd2hlbiB0aGUgZ3Vlc3QgbG9hZHMgYSBzaGFkb3cgVk1D Uzogc2hhZG93IGJpdCB3aWxsIGJlIGxvc3QKb24gbmVzdGVkIHZtY2xlYXIuCgpGaXggdGhpcyBi eSBjaGVja2luZyBpZiB0aGUgZ3Vlc3QgaGFzIHByb3ZpZGVkIGEgc2hhZG93IFZNQ1MuCgpTaWdu ZWQtb2ZmLWJ5OiBTZXJnZXkgRHlhc2xpIDxzZXJnZXkuZHlhc2xpQGNpdHJpeC5jb20+Ci0tLQog eGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jICAgICAgICB8IDIyICsrKysrKysrKysrKysrKysr Ky0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92dm14LmggfCAgMSArCiAyIGZpbGVz IGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5j CmluZGV4IDA5ZTQyNTAuLjMwMTc4NDkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14 L3Z2bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMKQEAgLTExMTksMTAgKzEx MTksMTkgQEAgc3RhdGljIGJvb2xfdCBudm14X3ZwaWRfZW5hYmxlZChjb25zdCBzdHJ1Y3QgdmNw dSAqdikKIAogc3RhdGljIHZvaWQgbnZteF9zZXRfdm1jc19wb2ludGVyKHN0cnVjdCB2Y3B1ICp2 LCBzdHJ1Y3Qgdm1jc19zdHJ1Y3QgKnZ2bWNzKQogeworICAgIHN0cnVjdCBuZXN0ZWR2bXggKm52 bXggPSAmdmNwdV8yX252bXgodik7CiAgICAgcGFkZHJfdCB2dm1jc19tYWRkciA9IHYtPmFyY2gu aHZtX3ZteC52bWNzX3NoYWRvd19tYWRkcjsKIAogICAgIF9fdm1wY2xlYXIodnZtY3NfbWFkZHIp OwotICAgIHZ2bWNzLT52bWNzX3JldmlzaW9uX2lkIHw9IFZNQ1NfUklEX1RZUEVfTUFTSzsKKyAg ICBpZiAoICFudm14LT5zaGFkb3dfdm1jcyApCisgICAgeworICAgICAgICAvKgorICAgICAgICAg KiBXZSBtdXN0IHNldCB0aGUgc2hhZG93IFZNQ1MtaW5kaWNhdG9yIGluIG9yZGVyIGZvciB0aGUg bmV4dCB2bWVudHJ5CisgICAgICAgICAqIHRvIHN1Y2NlZWQgd2l0aCBhIG5ld2x5IHNldCB1cCBs aW5rIHBvaW50ZXIgaW4gdm1jczAxLgorICAgICAgICAgKiBOb3RlOiBndWVzdCBjYW4gc2VlIHRo YXQgdGhpcyBiaXQgd2FzIHNldC4KKyAgICAgICAgICovCisgICAgICAgIHZ2bWNzLT52bWNzX3Jl dmlzaW9uX2lkIHw9IFZNQ1NfUklEX1RZUEVfTUFTSzsKKyAgICB9CiAgICAgX192bXdyaXRlKFZN Q1NfTElOS19QT0lOVEVSLCB2dm1jc19tYWRkcik7CiAgICAgX192bXdyaXRlKFZNUkVBRF9CSVRN QVAsIHBhZ2VfdG9fbWFkZHIodi0+YXJjaC5odm1fdm14LnZtcmVhZF9iaXRtYXApKTsKICAgICBf X3Ztd3JpdGUoVk1XUklURV9CSVRNQVAsIHBhZ2VfdG9fbWFkZHIodi0+YXJjaC5odm1fdm14LnZt d3JpdGVfYml0bWFwKSk7CkBAIC0xMTMwLDEwICsxMTM5LDEzIEBAIHN0YXRpYyB2b2lkIG52bXhf c2V0X3ZtY3NfcG9pbnRlcihzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IHZtY3Nfc3RydWN0ICp2dm1j cykKIAogc3RhdGljIHZvaWQgbnZteF9jbGVhcl92bWNzX3BvaW50ZXIoc3RydWN0IHZjcHUgKnYs IHN0cnVjdCB2bWNzX3N0cnVjdCAqdnZtY3MpCiB7CisgICAgc3RydWN0IG5lc3RlZHZteCAqbnZt eCA9ICZ2Y3B1XzJfbnZteCh2KTsKICAgICBwYWRkcl90IHZ2bWNzX21hZGRyID0gdi0+YXJjaC5o dm1fdm14LnZtY3Nfc2hhZG93X21hZGRyOwogCiAgICAgX192bXBjbGVhcih2dm1jc19tYWRkcik7 Ci0gICAgdnZtY3MtPnZtY3NfcmV2aXNpb25faWQgJj0gflZNQ1NfUklEX1RZUEVfTUFTSzsKKyAg ICBpZiAoICFudm14LT5zaGFkb3dfdm1jcyApCisgICAgICAgIHZ2bWNzLT52bWNzX3JldmlzaW9u X2lkICY9IH5WTUNTX1JJRF9UWVBFX01BU0s7CisgICAgbnZteC0+c2hhZG93X3ZtY3MgPSBmYWxz ZTsKICAgICBfX3Ztd3JpdGUoVk1DU19MSU5LX1BPSU5URVIsIH4wdWwpOwogICAgIF9fdm13cml0 ZShWTVJFQURfQklUTUFQLCAwKTsKICAgICBfX3Ztd3JpdGUoVk1XUklURV9CSVRNQVAsIDApOwpA QCAtMTY3NCwxMiArMTY4NiwxNCBAQCBpbnQgbnZteF9oYW5kbGVfdm1wdHJsZChzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCB3cml0YWJsZSAp CiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgc3RydWN0IG5lc3RlZHZteCAqbnZteCA9 ICZ2Y3B1XzJfbnZteCh2KTsKICAgICAgICAgICAgICAgICBzdHJ1Y3Qgdm1jc19zdHJ1Y3QgKnZ2 bWNzID0gdnZtY3g7CiAKKyAgICAgICAgICAgICAgICBudm14LT5zaGFkb3dfdm1jcyA9CisgICAg ICAgICAgICAgICAgICAgIHZ2bWNzLT52bWNzX3JldmlzaW9uX2lkICYgflZNWF9CQVNJQ19SRVZJ U0lPTl9NQVNLOwogICAgICAgICAgICAgICAgIGlmICggKCh2dm1jcy0+dm1jc19yZXZpc2lvbl9p ZCBeIHZteF9iYXNpY19tc3IpICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVk1YX0JBU0lDX1JFVklTSU9OX01BU0spIHx8Ci0gICAgICAgICAgICAgICAgICAgICAo IWNwdV9oYXNfdm14X3ZtY3Nfc2hhZG93aW5nICYmCi0gICAgICAgICAgICAgICAgICAgICAgKHZ2 bWNzLT52bWNzX3JldmlzaW9uX2lkICYgflZNWF9CQVNJQ19SRVZJU0lPTl9NQVNLKSkgKQorICAg ICAgICAgICAgICAgICAgICAgKCFjcHVfaGFzX3ZteF92bWNzX3NoYWRvd2luZyAmJiBudm14LT5z aGFkb3dfdm1jcykgKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgaHZt X3VubWFwX2d1ZXN0X2ZyYW1lKHZ2bWN4LCAxKTsKICAgICAgICAgICAgICAgICAgICAgdm1mYWls KHJlZ3MsIFZNWF9JTlNOX1ZNUFRSTERfSU5DT1JSRUNUX1ZNQ1NfSUQpOwpkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3Z2bXguaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv aHZtL3ZteC92dm14LmgKaW5kZXggY2EyZmIyNS4uOWE2NTIxOCAxMDA2NDQKLS0tIGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vdm14L3Z2bXguaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS92bXgvdnZteC5oCkBAIC01MSw2ICs1MSw3IEBAIHN0cnVjdCBuZXN0ZWR2bXggewogICAgIH0g ZXB0OwogICAgIHVpbnQzMl90IGd1ZXN0X3ZwaWQ7CiAgICAgc3RydWN0IGxpc3RfaGVhZCBsYXVu Y2hlZF9saXN0OworICAgIGJvb2wgc2hhZG93X3ZtY3M7CiB9OwogCiAjZGVmaW5lIHZjcHVfMl9u dm14KHYpCSh2Y3B1X25lc3RlZGh2bSh2KS51Lm52bXgpCi0tIAoyLjkuMwoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=