From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH] x86/vpt: fix a bug in pt_update_irq() Date: Tue, 10 Oct 2017 05:32:31 +0800 Message-ID: <1507584751-5671-1-git-send-email-chao.gao@intel.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@lists.xen.org Cc: Kevin Tian , Quan Xu , Andrew Cooper , Jan Beulich , Chao Gao , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org cHRfdXBkYXRlX2lycSgpIGlzIGV4cGVjdGVkIHRvIHJldHVybiB0aGUgdmVjdG9yIG51bWJlciBv ZiBwZXJpb2RpYwp0aW1lciBpbnRlcnJ1cHQsIHdoaWNoIHNob3VsZCBiZSBzZXQgaW4gdklSUiBv ZiB2bGFwaWMuIE90aGVyd2lzZSBpdAp3b3VsZCB0cmlnZ2VyIHRoZSBhc3NlcnRpb24gaW4gdm14 X2ludHJfYXNzaXN0KCksIHBsZWFzZSBzZWVpbmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y Zy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE3LTEwL21zZzAwOTE1Lmh0bWwuCgpCdXQgaXQg ZmFpbHMgdG8gYWNoaWV2ZSB0aGF0IGluIHRoZSBmb2xsb3dpbmcgdHdvIGNhc2U6CjEuIGh2bV9p c2FfaXJxX2Fzc2VydCgpIG1heSBub3Qgc2V0IHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB2SVJS IGZvcgptYXNrIGZpZWxkIG9mIElPQVBJQyBSVEUgaXMgc2V0LiBQbGVhc2UgcmVmZXIgdG8gdGhl IGNhbGwgdHJlZQp2bXhfaW50cl9hc3Npc3QoKSAtPiBwdF91cGRhdGVfaXJxKCkgLT4gaHZtX2lz YV9pcnFfYXNzZXJ0KCkgLT4KYXNzZXJ0X2lycSgpIC0+IGFzc2VydF9nc2koKSAtPiB2aW9hcGlj X2lycV9wb3NpdGl2ZV9lZGdlKCkuIFRoZSBwYXRjaApjaGVja3Mgd2hldGhlciB0aGUgdmVjdG9y IGlzIHNldCBvciBub3QgaW4gdklSUiBvZiB2bGFwaWMgYmVmb3JlCnJldHVybmluZy4KCjIuIHNv bWVvbmUgY2hhbmdlcyB0aGUgdmVjdG9yIGZpZWxkIG9mIElPQVBJQyBSVEUgYmV0d2VlbiBhc3Nl cnRpbmcKdGhlIGlycSBhbmQgZ2V0dGluZyB0aGUgdmVjdG9yIG9mIHRoZSBpcnEsIGxlYWRpbmcg dG8gc2V0dGluZyB0aGUKb2xkIHZlY3RvciBudW1iZXIgYnV0IHJldHVybmluZyBhIGRpZmZlcmVu dCB2ZWN0b3IgbnVtYmVyLiBUaGlzIHBhdGNoCmhvbGRzIHRoZSBpcnFfbG9jayB3aGVuIGRvaW5n IHRoZSB0d28gb3BlcmF0aW9ucyB0byBwcmV2ZW50IHRoZSBjYXNlLgoKU2lnbmVkLW9mZi1ieTog Q2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2lycS5j ICAgICAgICAgICB8IDExICsrKysrKy0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMgICAg ICAgIHwgMTEgKysrKysrKysrKwogeGVuL2FyY2gveDg2L2h2bS92cHQuYyAgICAgICAgICAgfCA0 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9pcnEuaCAgICB8ICAxICsKIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZsYXBp Yy5oIHwgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2lycS5jIGIveGVuL2FyY2gveDg2 L2h2bS9pcnEuYwppbmRleCBlNDI1ZGY5Li43YjBjMGIxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL2lycS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaXJxLmMKQEAgLTE2OCwyMCArMTY4 LDIzIEBAIHZvaWQgaHZtX2dzaV9kZWFzc2VydChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBp bnQgZ3NpKQogICAgIHNwaW5fdW5sb2NrKCZkLT5hcmNoLmh2bV9kb21haW4uaXJxX2xvY2spOwog fQogCi12b2lkIGh2bV9pc2FfaXJxX2Fzc2VydCgKLSAgICBzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBpbnQgaXNhX2lycSkKK3ZvaWQgaHZtX2lzYV9pcnFfYXNzZXJ0X2xvY2tlZChzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaXNhX2lycSkKIHsKICAgICBzdHJ1Y3QgaHZtX2lycSAq aHZtX2lycSA9IGh2bV9kb21haW5faXJxKGQpOwogICAgIHVuc2lnbmVkIGludCBnc2kgPSBodm1f aXNhX2lycV90b19nc2koaXNhX2lycSk7CiAKICAgICBBU1NFUlQoaXNhX2lycSA8PSAxNSk7Ci0K LSAgICBzcGluX2xvY2soJmQtPmFyY2guaHZtX2RvbWFpbi5pcnFfbG9jayk7CisgICAgQVNTRVJU KHNwaW5faXNfbG9ja2VkKCZkLT5hcmNoLmh2bV9kb21haW4uaXJxX2xvY2spKTsKIAogICAgIGlm ICggIV9fdGVzdF9hbmRfc2V0X2JpdChpc2FfaXJxLCAmaHZtX2lycS0+aXNhX2lycS5pKSAmJgog ICAgICAgICAgKGh2bV9pcnEtPmdzaV9hc3NlcnRfY291bnRbZ3NpXSsrID09IDApICkKICAgICAg ICAgYXNzZXJ0X2lycShkLCBnc2ksIGlzYV9pcnEpOworfQogCit2b2lkIGh2bV9pc2FfaXJxX2Fz c2VydChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaXNhX2lycSkKK3sKKyAgICBzcGlu X2xvY2soJmQtPmFyY2guaHZtX2RvbWFpbi5pcnFfbG9jayk7CisgICAgaHZtX2lzYV9pcnFfYXNz ZXJ0X2xvY2tlZChkLCBpc2FfaXJxKTsKICAgICBzcGluX3VubG9jaygmZC0+YXJjaC5odm1fZG9t YWluLmlycV9sb2NrKTsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bGFwaWMu YyBiL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMKaW5kZXggNGJmYzUzZS4uYjI3YjE1YiAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bGFwaWMuYworKysgYi94ZW4vYXJjaC94ODYvaHZt L3ZsYXBpYy5jCkBAIC0xMzcsNiArMTM3LDE3IEBAIHN0YXRpYyB2b2lkIHZsYXBpY19lcnJvcihz dHJ1Y3QgdmxhcGljICp2bGFwaWMsIHVuc2lnbmVkIGludCBlcnJtYXNrKQogICAgIHNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJnZsYXBpYy0+ZXNyX2xvY2ssIGZsYWdzKTsKIH0KIAorYm9vbCB2bGFw aWNfdGVzdF9pcnEoc3RydWN0IHZsYXBpYyAqdmxhcGljLCB1aW50OF90IHZlYykKK3sKKyAgICBp ZiAoIHVubGlrZWx5KHZlYyA8IDE2KSApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlm ICggaHZtX2Z1bmNzLnN5bmNfcGlyX3RvX2lyciApCisgICAgICAgIGh2bV9mdW5jcy5zeW5jX3Bp cl90b19pcnIodmxhcGljX3ZjcHUodmxhcGljKSk7CisKKyAgICByZXR1cm4gdmxhcGljX3Rlc3Rf dmVjdG9yKHZlYywgJnZsYXBpYy0+cmVncy0+ZGF0YVtBUElDX0lSUl0pOworfQorCiB2b2lkIHZs YXBpY19zZXRfaXJxKHN0cnVjdCB2bGFwaWMgKnZsYXBpYywgdWludDhfdCB2ZWMsIHVpbnQ4X3Qg dHJpZykKIHsKICAgICBzdHJ1Y3QgdmNwdSAqdGFyZ2V0ID0gdmxhcGljX3ZjcHUodmxhcGljKTsK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdnB0LmMgYi94ZW4vYXJjaC94ODYvaHZtL3Zw dC5jCmluZGV4IDM4NDExNDAuLmY0NDUxZmQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v dnB0LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92cHQuYwpAQCAtMjUyLDcgKzI1Miw3IEBAIGlu dCBwdF91cGRhdGVfaXJxKHN0cnVjdCB2Y3B1ICp2KQogICAgIHN0cnVjdCBsaXN0X2hlYWQgKmhl YWQgPSAmdi0+YXJjaC5odm1fdmNwdS50bV9saXN0OwogICAgIHN0cnVjdCBwZXJpb2RpY190aW1l ICpwdCwgKnRlbXAsICplYXJsaWVzdF9wdDsKICAgICB1aW50NjRfdCBtYXhfbGFnOwotICAgIGlu dCBpcnEsIGlzX2xhcGljOworICAgIGludCBpcnEsIGlzX2xhcGljLCBwdF92ZWN0b3I7CiAKICAg ICBzcGluX2xvY2soJnYtPmFyY2guaHZtX3ZjcHUudG1fbG9jayk7CiAKQEAgLTI5MiwyNSArMjky LDQyIEBAIGludCBwdF91cGRhdGVfaXJxKHN0cnVjdCB2Y3B1ICp2KQogCiAgICAgc3Bpbl91bmxv Y2soJnYtPmFyY2guaHZtX3ZjcHUudG1fbG9jayk7CiAKKyAgICAvKgorICAgICAqIElmIHBlcmlv ZGljIHRpbWVyIGludGVycnV0IGlzIGhhbmRsZWQgYnkgbGFwaWMsIGl0cyB2ZWN0b3IgaW4KKyAg ICAgKiBJUlIgaXMgcmV0dXJuZWQgYW5kIHVzZWQgdG8gc2V0IGVvaV9leGl0X2JpdG1hcCBmb3Ig dmlydHVhbAorICAgICAqIGludGVycnVwdCBkZWxpdmVyeSBjYXNlLiBPdGhlcndpc2UgcmV0dXJu IC0xIHRvIGRvIG5vdGhpbmcuCisgICAgICovCiAgICAgaWYgKCBpc19sYXBpYyApCisgICAgewog ICAgICAgICB2bGFwaWNfc2V0X2lycSh2Y3B1X3ZsYXBpYyh2KSwgaXJxLCAwKTsKKyAgICAgICAg cHRfdmVjdG9yID0gaXJxOworICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICBodm1faXNh X2lycV9kZWFzc2VydCh2LT5kb21haW4sIGlycSk7Ci0gICAgICAgIGh2bV9pc2FfaXJxX2Fzc2Vy dCh2LT5kb21haW4sIGlycSk7CisgICAgICAgIC8qCisgICAgICAgICAqIEhvbGQgJ2lycV9sb2Nr JyB0byBwcmV2ZW50IGNoYW5naW5nIHRoZSBpbnRlcnJ1cHQgdmVjdG9yIGJldHdlZW4KKyAgICAg ICAgICogYXNzZXJ0aW5nIHRoZSBpcnEgYW5kIGdldHRpbmcgdGhlIGludGVycnVwdCB2ZWN0b3Ig b2YgdGhlIGlycS4KKyAgICAgICAgICovCisgICAgICAgIHNwaW5fbG9jaygmdi0+ZG9tYWluLT5h cmNoLmh2bV9kb21haW4uaXJxX2xvY2spOworICAgICAgICBodm1faXNhX2lycV9hc3NlcnRfbG9j a2VkKHYtPmRvbWFpbiwgaXJxKTsKKyAgICAgICAgaWYgKCBwbGF0Zm9ybV9sZWdhY3lfaXJxKGly cSkgJiYgdmxhcGljX2FjY2VwdF9waWNfaW50cih2KSAmJgorICAgICAgICAgICAgIHYtPmRvbWFp bi0+YXJjaC5odm1fZG9tYWluLnZwaWNbaXJxID4+IDNdLmludF9vdXRwdXQgKQorICAgICAgICAg ICAgcHRfdmVjdG9yID0gLTE7CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAg cHRfdmVjdG9yID0gcHRfaXJxX3ZlY3RvcihlYXJsaWVzdF9wdCwgaHZtX2ludHNyY19sYXBpYyk7 CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogaHZtX2lzYV9pcnFfYXNzZXJ0X2xvY2tl ZCgpIG1heSBub3Qgc2V0IHRoZSBjb3JyZXNwb25kaW5nIGJpdAorICAgICAgICAgICAgICogaW4g dklSUiB3aGVuIG1hc2sgZmllbGQgb2YgSU9BUElDIFJURSBpcyBzZXQuIENoZWNrIGl0IGFnYWlu LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoICF2bGFwaWNfdGVzdF9pcnEodmNw dV92bGFwaWModiksIHB0X3ZlY3RvcikgKQorICAgICAgICAgICAgICAgIHB0X3ZlY3RvciA9IC0x OworICAgICAgICB9CisgICAgICAgIHNwaW5fdW5sb2NrKCZ2LT5kb21haW4tPmFyY2guaHZtX2Rv bWFpbi5pcnFfbG9jayk7CiAgICAgfQogCi0gICAgLyoKLSAgICAgKiBJZiBwZXJpb2RpYyB0aW1l ciBpbnRlcnJ1dCBpcyBoYW5kbGVkIGJ5IGxhcGljLCBpdHMgdmVjdG9yIGluCi0gICAgICogSVJS IGlzIHJldHVybmVkIGFuZCB1c2VkIHRvIHNldCBlb2lfZXhpdF9iaXRtYXAgZm9yIHZpcnR1YWwK LSAgICAgKiBpbnRlcnJ1cHQgZGVsaXZlcnkgY2FzZS4gT3RoZXJ3aXNlIHJldHVybiAtMSB0byBk byBub3RoaW5nLiAgCi0gICAgICovIAotICAgIGlmICggIWlzX2xhcGljICYmCi0gICAgICAgICBw bGF0Zm9ybV9sZWdhY3lfaXJxKGlycSkgJiYgdmxhcGljX2FjY2VwdF9waWNfaW50cih2KSAmJgot ICAgICAgICAgKCZ2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbiktPnZwaWNbaXJxID4+IDNdLmlu dF9vdXRwdXQgKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgZWxzZSAKLSAgICAgICAgcmV0dXJu IHB0X2lycV92ZWN0b3IoZWFybGllc3RfcHQsIGh2bV9pbnRzcmNfbGFwaWMpOworICAgIHJldHVy biBwdF92ZWN0b3I7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgcGVyaW9kaWNfdGltZSAqaXNfcHRfaXJx KApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaXJxLmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L2h2bS9pcnEuaAppbmRleCAzYjZiNGJkLi5kMjAxMzFhIDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9pcnEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS9pcnEuaApAQCAtMTg5LDYgKzE4OSw3IEBAIHZvaWQgaHZtX3BjaV9pbnR4X2RlYXNzZXJ0KHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkZXZpY2UsCiAKIC8qIE1vZGlmeSBzdGF0ZSBv ZiBhbiBJU0EgZGV2aWNlJ3MgSVJRIHdpcmUuICovCiB2b2lkIGh2bV9pc2FfaXJxX2Fzc2VydChz dHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaXNhX2lycSk7Cit2b2lkIGh2bV9pc2FfaXJx X2Fzc2VydF9sb2NrZWQoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlzYV9pcnEpOwog dm9pZCBodm1faXNhX2lycV9kZWFzc2VydChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQg aXNhX2lycSk7CiAKIC8qIE1vZGlmeSBzdGF0ZSBvZiBHU0lzLiAqLwpkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vdmxhcGljLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92 bGFwaWMuaAppbmRleCBhNjNmY2Q1Li4xZjg0OWM0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS92bGFwaWMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bGFwaWMu aApAQCAtMTEwLDYgKzExMCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB2bGFwaWNfc2V0X3JlZygK IAogYm9vbF90IGlzX3ZsYXBpY19sdnRwY19lbmFibGVkKHN0cnVjdCB2bGFwaWMgKnZsYXBpYyk7 CiAKK2Jvb2wgdmxhcGljX3Rlc3RfaXJxKHN0cnVjdCB2bGFwaWMgKnZsYXBpYywgdWludDhfdCB2 ZWMpOwogdm9pZCB2bGFwaWNfc2V0X2lycShzdHJ1Y3QgdmxhcGljICp2bGFwaWMsIHVpbnQ4X3Qg dmVjLCB1aW50OF90IHRyaWcpOwogCiBpbnQgdmxhcGljX2hhc19wZW5kaW5nX2lycShzdHJ1Y3Qg dmNwdSAqdik7Ci0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==