From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-sn1nam02on0102.outbound.protection.outlook.com ([104.47.36.102]:5120 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1032256AbeCAPeq (ORCPT ); Thu, 1 Mar 2018 10:34:46 -0500 From: Sasha Levin To: "stable@vger.kernel.org" , "stable-commits@vger.kernel.org" CC: Liran Alon , Paolo Bonzini , =?utf-8?B?UmFkaW0gS3LEjW3DocWZ?= , Sasha Levin Subject: [added to the 4.1 stable tree] KVM: nVMX: Fix races when sending nested PI while dest enters/leaves L2 Date: Thu, 1 Mar 2018 15:26:12 +0000 Message-ID: <20180301152116.1486-342-alexander.levin@microsoft.com> References: <20180301152116.1486-1-alexander.levin@microsoft.com> In-Reply-To: <20180301152116.1486-1-alexander.levin@microsoft.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: RnJvbTogTGlyYW4gQWxvbiA8bGlyYW4uYWxvbkBvcmFjbGUuY29tPg0KDQpUaGlzIHBhdGNoIGhh cyBiZWVuIGFkZGVkIHRvIHRoZSA0LjEgc3RhYmxlIHRyZWUuIElmIHlvdSBoYXZlIGFueQ0Kb2Jq ZWN0aW9ucywgcGxlYXNlIGxldCB1cyBrbm93Lg0KDQo9PT09PT09PT09PT09PT0NCg0KWyBVcHN0 cmVhbSBjb21taXQgNmI2OTc3MTE3ZjUwZDYwNDU1YWNlODZiMmQyNTZmNmZiNGYzZGUwNSBdDQoN CkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW86DQoxLiBDUFUgQSBjYWxscyB2bXhfZGVs aXZlcl9uZXN0ZWRfcG9zdGVkX2ludGVycnVwdCgpIHRvIHNlbmQgYW4gSVBJDQp0byBDUFUgQiB2 aWEgdmlydHVhbCBwb3N0ZWQtaW50ZXJydXB0IG1lY2hhbmlzbS4NCjIuIENQVSBCIGlzIGN1cnJl bnRseSBleGVjdXRpbmcgTDIgZ3Vlc3QuDQozLiB2bXhfZGVsaXZlcl9uZXN0ZWRfcG9zdGVkX2lu dGVycnVwdCgpIGNhbGxzDQprdm1fdmNwdV90cmlnZ2VyX3Bvc3RlZF9pbnRlcnJ1cHQoKSB3aGlj aCB3aWxsIG5vdGUgdGhhdA0KdmNwdS0+bW9kZSA9PSBJTl9HVUVTVF9NT0RFLg0KNC4gQXNzdW1l IHRoYXQgYmVmb3JlIENQVSBBIHNlbmRzIHRoZSBwaHlzaWNhbCBQT1NURURfSU5UUl9ORVNURURf VkVDVE9SDQpJUEksIENQVSBCIGV4aXRzIGZyb20gTDIgdG8gTDAgZHVyaW5nIGV2ZW50LWRlbGl2 ZXJ5DQoodmFsaWQgSURULXZlY3RvcmluZy1pbmZvKS4NCjUuIENQVSBBIG5vdyBzZW5kcyB0aGUg cGh5c2ljYWwgSVBJLiBUaGUgSVBJIGlzIHJlY2VpdmVkIGluIGhvc3QgYW5kDQppdCdzIGhhbmRs ZXIgKHNtcF9rdm1fcG9zdGVkX2ludHJfbmVzdGVkX2lwaSgpKSBkb2VzIG5vdGhpbmcuDQo2LiBB c3N1bWUgdGhhdCBiZWZvcmUgQ1BVIEEgc2V0cyBwaV9wZW5kaW5nPXRydWUgYW5kIEtWTV9SRVFf RVZFTlQsDQpDUFUgQiBjb250aW51ZXMgdG8gcnVuIGluIEwwIGFuZCByZWFjaCB2Y3B1X2VudGVy X2d1ZXN0KCkuIEFzDQpLVk1fUkVRX0VWRU5UIGlzIG5vdCBzZXQgeWV0LCB2Y3B1X2VudGVyX2d1 ZXN0KCkgd2lsbCBjb250aW51ZSBhbmQgcmVzdW1lDQpMMiBndWVzdC4NCjcuIEF0IHRoaXMgcG9p bnQsIENQVSBBIHNldHMgcGlfcGVuZGluZz10cnVlIGFuZCBLVk1fUkVRX0VWRU5UIGJ1dA0KaXQn cyB0b28gbGF0ZSEgQ1BVIEIgYWxyZWFkeSBlbnRlcmVkIEwyIGFuZCBLVk1fUkVRX0VWRU5UIHdp bGwgb25seSBiZQ0KY29uc3VtZWQgYXQgbmV4dCBMMiBlbnRyeSENCg0KQW5vdGhlciBzY2VuYXJp byB0byBjb25zaWRlcjoNCjEuIENQVSBBIGNhbGxzIHZteF9kZWxpdmVyX25lc3RlZF9wb3N0ZWRf aW50ZXJydXB0KCkgdG8gc2VuZCBhbiBJUEkNCnRvIENQVSBCIHZpYSB2aXJ0dWFsIHBvc3RlZC1p bnRlcnJ1cHQgbWVjaGFuaXNtLg0KMi4gQXNzdW1lIHRoYXQgYmVmb3JlIENQVSBBIGNhbGxzIGt2 bV92Y3B1X3RyaWdnZXJfcG9zdGVkX2ludGVycnVwdCgpLA0KQ1BVIEIgaXMgYXQgTDAgYW5kIGlz IGFib3V0IHRvIHJlc3VtZSBpbnRvIEwyLiBGdXJ0aGVyIGFzc3VtZSB0aGF0IGl0IGlzDQppbiB2 Y3B1X2VudGVyX2d1ZXN0KCkgYWZ0ZXIgY2hlY2sgZm9yIEtWTV9SRVFfRVZFTlQuDQozLiBBdCB0 aGlzIHBvaW50LCBDUFUgQSBjYWxscyBrdm1fdmNwdV90cmlnZ2VyX3Bvc3RlZF9pbnRlcnJ1cHQo KSB3aGljaA0Kd2lsbCBub3RlIHRoYXQgdmNwdS0+bW9kZSAhPSBJTl9HVUVTVF9NT0RFLiBUaGVy ZWZvcmUsIGRvIG5vdGhpbmcgYW5kDQpyZXR1cm4gZmFsc2UuIFRoZW4sIHdpbGwgc2V0IHBpX3Bl bmRpbmc9dHJ1ZSBhbmQgS1ZNX1JFUV9FVkVOVC4NCjQuIE5vdyBDUFUgQiBjb250aW51ZSBhbmQg cmVzdW1lcyBpbnRvIEwyIGd1ZXN0IHdpdGhvdXQgcHJvY2Vzc2luZw0KdGhlIHBvc3RlZC1pbnRl cnJ1cHQgdW50aWwgbmV4dCBMMiBlbnRyeSENCg0KVG8gZml4IGJvdGggaXNzdWVzLCB3ZSBqdXN0 IG5lZWQgdG8gY2hhbmdlDQp2bXhfZGVsaXZlcl9uZXN0ZWRfcG9zdGVkX2ludGVycnVwdCgpIHRv IHNldCBwaV9wZW5kaW5nPXRydWUgYW5kDQpLVk1fUkVRX0VWRU5UIGJlZm9yZSBjYWxsaW5nIGt2 bV92Y3B1X3RyaWdnZXJfcG9zdGVkX2ludGVycnVwdCgpLg0KDQpJdCB3aWxsIGZpeCB0aGUgZmly c3Qgc2NlbmFyaW8gYnkgY2hhZ2luZyBzdGVwICg2KSB0byBub3RlIHRoYXQNCktWTV9SRVFfRVZF TlQgYW5kIHBpX3BlbmRpbmc9dHJ1ZSBhbmQgdGhlcmVmb3JlIHByb2Nlc3MNCm5lc3RlZCBwb3N0 ZWQtaW50ZXJydXB0Lg0KDQpJdCB3aWxsIGZpeCB0aGUgc2Vjb25kIHNjZW5hcmlvIGJ5IHR3byBw b3NzaWJsZSB3YXlzOg0KMS4gSWYga3ZtX3ZjcHVfdHJpZ2dlcl9wb3N0ZWRfaW50ZXJydXB0KCkg aXMgY2FsbGVkIHdoaWxlIENQVSBCIGhhcyBjaGFuZ2VkDQp2Y3B1LT5tb2RlIHRvIElOX0dVRVNU X01PREUsIHBoeXNpY2FsIElQSSB3aWxsIGJlIHNlbnQgYW5kIHdpbGwgYmUgcmVjZWl2ZWQNCndo ZW4gQ1BVIHJlc3VtZXMgaW50byBMMi4NCjIuIElmIGt2bV92Y3B1X3RyaWdnZXJfcG9zdGVkX2lu dGVycnVwdCgpIGlzIGNhbGxlZCB3aGlsZSBDUFUgQiBoYXNuJ3QgeWV0DQpjaGFuZ2VkIHZjcHUt Pm1vZGUgdG8gSU5fR1VFU1RfTU9ERSwgdGhlbiBhZnRlciBDUFUgQiB3aWxsIGNoYW5nZQ0KdmNw dS0+bW9kZSBpdCB3aWxsIGNhbGwga3ZtX3JlcXVlc3RfcGVuZGluZygpIHdoaWNoIHdpbGwgcmV0 dXJuIHRydWUgYW5kDQp0aGVyZWZvcmUgZm9yY2UgYW5vdGhlciByb3VuZCBvZiB2Y3B1X2VudGVy X2d1ZXN0KCkgd2hpY2ggd2lsbCBub3RlIHRoYXQNCktWTV9SRVFfRVZFTlQgYW5kIHBpX3BlbmRp bmc9dHJ1ZSBhbmQgdGhlcmVmb3JlIHByb2Nlc3MgbmVzdGVkDQpwb3N0ZWQtaW50ZXJydXB0Lg0K DQpDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZw0KRml4ZXM6IDcwNTY5OWExMzk5NCAoIktWTTog blZNWDogRW5hYmxlIG5lc3RlZCBwb3N0ZWQgaW50ZXJydXB0IHByb2Nlc3NpbmciKQ0KU2lnbmVk LW9mZi1ieTogTGlyYW4gQWxvbiA8bGlyYW4uYWxvbkBvcmFjbGUuY29tPg0KUmV2aWV3ZWQtYnk6 IE5pa2l0YSBMZXNoZW5rbyA8bmlraXRhLmxlc2hjaGVua29Ab3JhY2xlLmNvbT4NClJldmlld2Vk LWJ5OiBLcmlzaCBTYWRodWtoYW4gPGtyaXNoLnNhZGh1a2hhbkBvcmFjbGUuY29tPg0KW0FkZCBr dm1fdmNwdV9raWNrIHRvIGFsc28gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIEwxIGRvZXNuJ3QgaW50 ZXJjZXB0IEwyIEhMVA0KIGFuZCBMMiBleGVjdXRlcyBITFQgaW5zdHJ1Y3Rpb24uIC0gUGFvbG9d DQpTaWduZWQtb2ZmLWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPg0KU2ln bmVkLW9mZi1ieTogUmFkaW0gS3LEjW3DocWZIDxya3JjbWFyQHJlZGhhdC5jb20+DQpTaWduZWQt b2ZmLWJ5OiBTYXNoYSBMZXZpbiA8YWxleGFuZGVyLmxldmluQG1pY3Jvc29mdC5jb20+DQotLS0N CiBhcmNoL3g4Ni9rdm0vdm14LmMgfCA1ICsrKy0tDQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS92bXgu YyBiL2FyY2gveDg2L2t2bS92bXguYw0KaW5kZXggMWE2OTJiNjMyOTE0Li42MDkyZTZjODNkZTAg MTAwNjQ0DQotLS0gYS9hcmNoL3g4Ni9rdm0vdm14LmMNCisrKyBiL2FyY2gveDg2L2t2bS92bXgu Yw0KQEAgLTQ0MjAsMTQgKzQ0MjAsMTUgQEAgc3RhdGljIGludCB2bXhfZGVsaXZlcl9uZXN0ZWRf cG9zdGVkX2ludGVycnVwdChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsDQogDQogCWlmIChpc19ndWVz dF9tb2RlKHZjcHUpICYmDQogCSAgICB2ZWN0b3IgPT0gdm14LT5uZXN0ZWQucG9zdGVkX2ludHJf bnYpIHsNCi0JCS8qIHRoZSBQSVIgYW5kIE9OIGhhdmUgYmVlbiBzZXQgYnkgTDEuICovDQotCQlr dm1fdmNwdV90cmlnZ2VyX3Bvc3RlZF9pbnRlcnJ1cHQodmNwdSk7DQogCQkvKg0KIAkJICogSWYg YSBwb3N0ZWQgaW50ciBpcyBub3QgcmVjb2duaXplZCBieSBoYXJkd2FyZSwNCiAJCSAqIHdlIHdp bGwgYWNjb21wbGlzaCBpdCBpbiB0aGUgbmV4dCB2bWVudHJ5Lg0KIAkJICovDQogCQl2bXgtPm5l c3RlZC5waV9wZW5kaW5nID0gdHJ1ZTsNCiAJCWt2bV9tYWtlX3JlcXVlc3QoS1ZNX1JFUV9FVkVO VCwgdmNwdSk7DQorCQkvKiB0aGUgUElSIGFuZCBPTiBoYXZlIGJlZW4gc2V0IGJ5IEwxLiAqLw0K KwkJaWYgKCFrdm1fdmNwdV90cmlnZ2VyX3Bvc3RlZF9pbnRlcnJ1cHQodmNwdSkpDQorCQkJa3Zt X3ZjcHVfa2ljayh2Y3B1KTsNCiAJCXJldHVybiAwOw0KIAl9DQogCXJldHVybiAtMTsNCi0tIA0K Mi4xNC4xDQo=