From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] x86/vMSI-X: Fix host crash when shutting down guests with MSI capable devices Date: Thu, 21 Jul 2016 11:18:37 +0100 Message-ID: <1469096317-6643-1-git-send-email-andrew.cooper3@citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: 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 , Jan Beulich , Sander Eikelenboom List-Id: xen-devel@lists.xenproject.org Yy9zIDc0YzZkYzJkICJ4ODYvdk1TSS1YOiBkZWZlciBpbnRlcmNlcHQgaGFuZGxlciByZWdpc3Ry YXRpb24iIGNhdXNlZCBNU0ktWAp0YWJsZSBpbmZyYXN0cnVjdHVyZSBub3QgdG8gYWx3YXlzIGJl IGluaXRpYWxpc2VkLCBidXQgaXQgbWlzc2VkIG9uZSBwYXRoCndoaWNoIG5lZWRlZCBhbiBpcy1p bml0aWFsaXNlZCBjaGVjay4KCklmIGEgZGV2aWNlcyBpcyBwYXNzZWQgdGhyb3VnaCB0byBhIGRv bWFpbiB3aGljaCBpcyBNU0kgY2FwYWJsZSBidXQgbm90IE1TSS1YCmNhcGFibGUsIHRoZSBjYWxs IHRvIG1zaXh0YmxfaW5pdCgpIGlzIG9taXR0ZWQsIGJ1dCBhIFhFTl9ET01DVExfdW5iaW5kX3B0 X2lycQpoeXBlcmNhbGwgc3RpbGwgY2FsbHMgaW50byBtc2l4dGJsX3B0X3VucmVnaXN0ZXIoKS4g IFRoaXMgZm9sbG93cyB0aGUgbGlua2VkCmxpc3QgcG9pbnRlciB3aGljaCBpcyBzdGlsbCBOVUxM LgoKSW50cm9kdWNlIGFuIGlzLWluaXRhbGlzZWQgY2hlY2sgdG8gbXNpeHRibF9wdF91bnJlZ2lz dGVyKCkuCgpGdXJ0aGVybW9yZSwgdGhlIHB1cnBvc2Ugb2YgdGhlIG9wZW4tY29kZWQgbXNpeHRi bF9saXN0Lm5leHQgY2hlY2sgaXMgcmF0aGVyCnN1YnRsZS4gIEludHJvZHVjZSBhbiBtc2l4dGJs X2luaXRpYWxpc2VkKCkgcHJlZGljYXRlIGluc3RlYWQsIHdoaWNoIG1ha2VzIGl0cwpwdXJwb3Nl IGZhciBtb3JlIG9idmlvdXMuCgpSZXBvcnRlZC1ieTogU2FuZGVyIEVpa2VsZW5ib29tIDxsaW51 eEBlaWtlbGVuYm9vbS5pdD4KU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+ CkNDOiBTYW5kZXIgRWlrZWxlbmJvb20gPGxpbnV4QGVpa2VsZW5ib29tLml0PgoKU2FuZGVyIC0g d291bGQgeW91IG1pbmQgZG91YmxlIGNoZWNraW5nIHRoaXMgcGF0Y2g/Ci0tLQogeGVuL2FyY2gv eDg2L2h2bS92bXNpLmMgfCAxNiArKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv aHZtL3Ztc2kuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm1zaS5jCmluZGV4IGU0MThiOTguLmVmMWRm ZmYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm1zaS5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9odm0vdm1zaS5jCkBAIC0xNjYsNiArMTY2LDE2IEBAIHN0cnVjdCBtc2l4dGJsX2VudHJ5CiAK IHN0YXRpYyBERUZJTkVfUkNVX1JFQURfTE9DSyhtc2l4dGJsX3JjdV9sb2NrKTsKIAorLyoKKyAq IE1TSS1YIHRhYmxlIGluZnJhc3RydWN0dXJlIGlzIGR5bmFtaWNhbGx5IGluaXRpYWxpc2VkIHdo ZW4gYW4gTVNJLVggY2FwYWJsZQorICogZGV2aWNlIGlzIHBhc3NlZCB0aHJvdWdoIHRvIGEgZG9t YWluLCByYXRoZXIgdGhhbiB1bmNvbmRpdGlvbmFsbHkgZm9yIGFsbAorICogZG9tYWlucy4KKyAq Lworc3RhdGljIGJvb2wgbXNpeHRibF9pbml0aWFsaXNlZChjb25zdCBzdHJ1Y3QgZG9tYWluICpk KQoreworICAgIHJldHVybiAhIWQtPmFyY2guaHZtX2RvbWFpbi5tc2l4dGJsX2xpc3QubmV4dDsK K30KKwogc3RhdGljIHN0cnVjdCBtc2l4dGJsX2VudHJ5ICptc2l4dGJsX2ZpbmRfZW50cnkoCiAg ICAgc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgYWRkcikKIHsKQEAgLTUxOSw3ICs1Mjks NyBAQCB2b2lkIG1zaXh0YmxfcHRfdW5yZWdpc3RlcihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qg cGlycSAqcGlycSkKICAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CiAgICAgQVNTRVJUKHNw aW5faXNfbG9ja2VkKCZkLT5ldmVudF9sb2NrKSk7CiAKLSAgICBpZiAoICFoYXNfdmxhcGljKGQp ICkKKyAgICBpZiAoICFtc2l4dGJsX2luaXRpYWxpc2VkKGQpICkKICAgICAgICAgcmV0dXJuOwog CiAgICAgaXJxX2Rlc2MgPSBwaXJxX3NwaW5fbG9ja19pcnFfZGVzYyhwaXJxLCBOVUxMKTsKQEAg LTU1Miw3ICs1NjIsNyBAQCB2b2lkIG1zaXh0YmxfaW5pdChzdHJ1Y3QgZG9tYWluICpkKQogICAg IHN0cnVjdCBodm1faW9faGFuZGxlciAqaGFuZGxlcjsKIAogICAgIGlmICggIWhhc19odm1fY29u dGFpbmVyX2RvbWFpbihkKSB8fCAhaGFzX3ZsYXBpYyhkKSB8fAotICAgICAgICAgZC0+YXJjaC5o dm1fZG9tYWluLm1zaXh0YmxfbGlzdC5uZXh0ICkKKyAgICAgICAgIG1zaXh0YmxfaW5pdGlhbGlz ZWQoZCkgKQogICAgICAgICByZXR1cm47CiAKICAgICBJTklUX0xJU1RfSEVBRCgmZC0+YXJjaC5o dm1fZG9tYWluLm1zaXh0YmxfbGlzdCk7CkBAIC01NjksNyArNTc5LDcgQEAgdm9pZCBtc2l4dGJs X3B0X2NsZWFudXAoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICBzdHJ1Y3QgbXNpeHRibF9lbnRy eSAqZW50cnksICp0ZW1wOwogCi0gICAgaWYgKCAhZC0+YXJjaC5odm1fZG9tYWluLm1zaXh0Ymxf bGlzdC5uZXh0ICkKKyAgICBpZiAoICFtc2l4dGJsX2luaXRpYWxpc2VkKGQpICkKICAgICAgICAg cmV0dXJuOwogCiAgICAgc3Bpbl9sb2NrKCZkLT5ldmVudF9sb2NrKTsKLS0gCjIuMS40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==