From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 3/4] arm, vgic_migrate_irq: take the right vgic lock Date: Wed, 21 Dec 2016 18:15:12 -0800 Message-ID: <1482372913-18366-3-git-send-email-sstabellini@kernel.org> References: <1482372913-18366-1-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cJsuh-0001Vk-Na for xen-devel@lists.xenproject.org; Thu, 22 Dec 2016 02:15:23 +0000 In-Reply-To: <1482372913-18366-1-git-send-email-sstabellini@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: julien.grall@arm.com Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org QWx3YXlzIHRha2UgdGhlIHZnaWMgbG9jayBvZiB0aGUgb2xkIHZjcHUuIFdoZW4gbW9yZSB0aGFu IG9uZSBpcnEKbWlncmF0aW9uIGlzIHJlcXVlc3RlZCBiZWZvcmUgdGhlIGZpcnN0IG9uZSBjb21w bGV0ZXMsIHRha2UgdGhlIHZnaWMKbG9jayBvZiB0aGUgb2xkZXN0IHZjcHUuCgpXcml0ZSB0aGUg bmV3IHZjcHUgaWQgaW50byB0aGUgcmFuayBmcm9tIHZnaWNfbWlncmF0ZV9pcnEsIHByb3RlY3Rl ZCBieQp0aGUgb2xkZXN0IHZnaWMgdmNwdSBsb2NrLgoKVXNlIGJhcnJpZXJzIHRvIGVuc3VyZSBw cm9wZXIgb3JkZXJpbmcgYmV0d2VlbiBjbGVhcmluZyBpbmZsaWdodCBhbmQKTUlHUkFUSU5HIGFu ZCBzZXR0aW5nIHZjcHUgdG8gR0lDX0lOVkFMSURfVkNQVS4KClNpZ25lZC1vZmYtYnk6IFN0ZWZh bm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KLS0tCiB4ZW4vYXJjaC9hcm0v Z2ljLmMgICAgICAgICB8ICA1ICsrKysrCiB4ZW4vYXJjaC9hcm0vdmdpYy12Mi5jICAgICB8IDEy ICsrKy0tLS0tLS0tCiB4ZW4vYXJjaC9hcm0vdmdpYy12My5jICAgICB8ICA2ICstLS0tLQogeGVu L2FyY2gvYXJtL3ZnaWMuYyAgICAgICAgfCA1MCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaCB8ICAzICsrLQog NSBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLmMKaW5kZXggMzE4 OTY5My4uNTExNDhiNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy5jCisrKyBiL3hlbi9h cmNoL2FybS9naWMuYwpAQCAtNTEyLDYgKzUxMiwxMSBAQCBzdGF0aWMgdm9pZCBnaWNfdXBkYXRl X29uZV9scihzdHJ1Y3QgdmNwdSAqdiwgaW50IGkpCiAgICAgICAgICAgICAgICAgc3RydWN0IHZj cHUgKnZfdGFyZ2V0ID0gdmdpY19nZXRfdGFyZ2V0X3ZjcHUodiwgaXJxKTsKICAgICAgICAgICAg ICAgICBpcnFfc2V0X2FmZmluaXR5KHAtPmRlc2MsIGNwdW1hc2tfb2Yodl90YXJnZXQtPnByb2Nl c3NvcikpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgLyogCisgICAgICAgICAgICAgKiBD bGVhciBNSUdSQVRJTkcsIHNldCBuZXcgYWZmaW5pdHksIHRoZW4gY2xlYXIgdmNwdS4gVGhpcwor ICAgICAgICAgICAgICogYmFycmllciBwYWlycyB3aXRoIHRoZSBvbmUgaW4gdmdpY19taWdyYXRl X2lycS4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgc21wX21iKCk7CiAgICAgICAgICAg ICBwLT52Y3B1ID0gR0lDX0lOVkFMSURfVkNQVTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdp dCBhL3hlbi9hcmNoL2FybS92Z2ljLXYyLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy12Mi5jCmluZGV4 IDNkYmNmZTguLjM4YjFiZTEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLXYyLmMKKysr IGIveGVuL2FyY2gvYXJtL3ZnaWMtdjIuYwpAQCAtMTU0LDE1ICsxNTQsOSBAQCBzdGF0aWMgdm9p ZCB2Z2ljX3N0b3JlX2l0YXJnZXRzcihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmdpY19pcnFf cmFuayAqcmFuaywKIAogICAgICAgICBvbGRfdGFyZ2V0ID0gcmFuay0+dmNwdVtvZmZzZXRdOwog Ci0gICAgICAgIC8qIE9ubHkgbWlncmF0ZSB0aGUgdklSUSBpZiB0aGUgdGFyZ2V0IHZDUFUgaGFz IGNoYW5nZWQgKi8KLSAgICAgICAgaWYgKCBuZXdfdGFyZ2V0ICE9IG9sZF90YXJnZXQgKQotICAg ICAgICB7Ci0gICAgICAgICAgICB2Z2ljX21pZ3JhdGVfaXJxKGQtPnZjcHVbb2xkX3RhcmdldF0s Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQtPnZjcHVbbmV3X3RhcmdldF0sCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnEpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmFu ay0+dmNwdVtvZmZzZXRdID0gbmV3X3RhcmdldDsKKyAgICAgICAgdmdpY19taWdyYXRlX2lycShk LT52Y3B1W29sZF90YXJnZXRdLAorICAgICAgICAgICAgICAgIGQtPnZjcHVbbmV3X3RhcmdldF0s CisgICAgICAgICAgICAgICAgdmlycSwgJnJhbmstPnZjcHVbb2Zmc2V0XSk7CiAgICAgfQogfQog CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy12My5jIGIveGVuL2FyY2gvYXJtL3ZnaWMt djMuYwppbmRleCBkNjE0NzlkLi42ZmIwZmRkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdp Yy12My5jCisrKyBiL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKQEAgLTE1MCwxMSArMTUwLDcgQEAg c3RhdGljIHZvaWQgdmdpY19zdG9yZV9pcm91dGVyKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB2 Z2ljX2lycV9yYW5rICpyYW5rLAogICAgIGlmICggIW5ld192Y3B1ICkKICAgICAgICAgcmV0dXJu OwogCi0gICAgLyogT25seSBtaWdyYXRlIHRoZSBJUlEgaWYgdGhlIHRhcmdldCB2Q1BVIGhhcyBj aGFuZ2VkICovCi0gICAgaWYgKCBuZXdfdmNwdSAhPSBvbGRfdmNwdSApCi0gICAgICAgIHZnaWNf bWlncmF0ZV9pcnEob2xkX3ZjcHUsIG5ld192Y3B1LCB2aXJxKTsKLQotICAgIHJhbmstPnZjcHVb b2Zmc2V0XSA9IG5ld192Y3B1LT52Y3B1X2lkOworICAgIHZnaWNfbWlncmF0ZV9pcnEob2xkX3Zj cHUsIG5ld192Y3B1LCB2aXJxLCAmcmFuay0+dmNwdVtvZmZzZXRdKTsKIH0KIAogc3RhdGljIGlu bGluZSBib29sIHZnaWNfcmVnNjRfY2hlY2tfYWNjZXNzKHN0cnVjdCBoc3JfZGFidCBkYWJ0KQpk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLmMKaW5k ZXggZjJlM2VkYS4uY2NlYWMyNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMuYworKysg Yi94ZW4vYXJjaC9hcm0vdmdpYy5jCkBAIC0yNTcsOSArMjU3LDggQEAgc3RhdGljIGludCB2Z2lj X2dldF92aXJxX3ByaW9yaXR5KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlycSkKICAg ICByZXR1cm4gcHJpb3JpdHk7CiB9CiAKLXZvaWQgdmdpY19taWdyYXRlX2lycShzdHJ1Y3QgdmNw dSAqb2xkLCBzdHJ1Y3QgdmNwdSAqbmV3LCB1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQg X192Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2Y3B1ICpvbGQsIHN0cnVjdCB2Y3B1ICpuZXcsIHVu c2lnbmVkIGludCBpcnEpCiB7Ci0gICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICBzdHJ1Y3Qg cGVuZGluZ19pcnEgKnAgPSBpcnFfdG9fcGVuZGluZyhvbGQsIGlycSk7CiAKICAgICAvKiBub3Ro aW5nIHRvIGRvIGZvciB2aXJ0dWFsIGludGVycnVwdHMgKi8KQEAgLTI3MiwxMiArMjcxLDkgQEAg dm9pZCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2Y3B1ICpvbGQsIHN0cnVjdCB2Y3B1ICpuZXcs IHVuc2lnbmVkIGludCBpcnEpCiAKICAgICBwZXJmY19pbmNyKHZnaWNfaXJxX21pZ3JhdGVzKTsK IAotICAgIHNwaW5fbG9ja19pcnFzYXZlKCZvbGQtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Ci0K ICAgICBpZiAoIGxpc3RfZW1wdHkoJnAtPmluZmxpZ2h0KSApCiAgICAgewogICAgICAgICBpcnFf c2V0X2FmZmluaXR5KHAtPmRlc2MsIGNwdW1hc2tfb2YobmV3LT5wcm9jZXNzb3IpKTsKLSAgICAg ICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmb2xkLT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOwog ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIC8qIElmIHRoZSBJUlEgaXMgc3RpbGwgbHJfcGVu ZGluZywgcmUtaW5qZWN0IGl0IHRvIHRoZSBuZXcgdmNwdSAqLwpAQCAtMjg3LDcgKzI4Myw2IEBA IHZvaWQgdmdpY19taWdyYXRlX2lycShzdHJ1Y3QgdmNwdSAqb2xkLCBzdHJ1Y3QgdmNwdSAqbmV3 LCB1bnNpZ25lZCBpbnQgaXJxKQogICAgICAgICBsaXN0X2RlbF9pbml0KCZwLT5scl9xdWV1ZSk7 CiAgICAgICAgIGxpc3RfZGVsX2luaXQoJnAtPmluZmxpZ2h0KTsKICAgICAgICAgaXJxX3NldF9h ZmZpbml0eShwLT5kZXNjLCBjcHVtYXNrX29mKG5ldy0+cHJvY2Vzc29yKSk7Ci0gICAgICAgIHNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJm9sZC0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKICAgICAg ICAgdmdpY192Y3B1X2luamVjdF9pcnEobmV3LCBpcnEpOwogICAgICAgICByZXR1cm47CiAgICAg fQpAQCAtMjk2LDcgKzI5MSw0OCBAQCB2b2lkIHZnaWNfbWlncmF0ZV9pcnEoc3RydWN0IHZjcHUg Km9sZCwgc3RydWN0IHZjcHUgKm5ldywgdW5zaWduZWQgaW50IGlycSkKICAgICBpZiAoICFsaXN0 X2VtcHR5KCZwLT5pbmZsaWdodCkgKQogICAgICAgICBzZXRfYml0KEdJQ19JUlFfR1VFU1RfTUlH UkFUSU5HLCAmcC0+c3RhdHVzKTsKIAotICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm9sZC0+ YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKK30KKwordm9pZCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVj dCB2Y3B1ICpvbGQsIHN0cnVjdCB2Y3B1ICpuZXcsIHVuc2lnbmVkIGludCBpcnEsCisgICAgICAg IHVpbnQ4X3QgKnJhbmtfdmNwdSkKK3sKKyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnA7CisgICAg dW5zaWduZWQgbG9uZyBmbGFnczsKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKKyAgICB1aW50OF90IHZj cHU7CisKKyAgICAvKiBPbmx5IG1pZ3JhdGUgdGhlIElSUSBpZiB0aGUgdGFyZ2V0IHZDUFUgaGFz IGNoYW5nZWQgKi8KKyAgICBpZiAoIG5ldyA9PSBvbGQgKQorICAgICAgICByZXR1cm47CisKKyAg ICAvKiAKKyAgICAgKiBJbiBtb3N0IGNhc2VzLCBwLT52Y3B1IGlzIGVpdGhlciBpbnZhbGlkIG9y IHRoZSBzYW1lIGFzICJvbGQiLgorICAgICAqIFRoZSBvbmx5IGV4Y2VwdGlvbnMgYXJlIGNhc2Vz IHdoZXJlIHRoZSBpbnRlcnJ1cHQgaGFzIGFscmVhZHkKKyAgICAgKiBiZWVuIG1pZ3JhdGVkIHRv IGEgZGlmZmVyZW50IHZjcHUsIGJ1dCB0aGUgaXJxIG1pZ3JhdGlvbiBpcyBzdGlsbAorICAgICAq IGluIHByb2dyZXNzIChHSUNfSVJRX0dVRVNUX01JR1JBVElORyBoYXMgYmVlbiBzZXQpLiBJZiB0 aGF0IGlzCisgICAgICogdGhlIGNhc2UsIHRoZW4gIm9sZCIgcG9pbnRzIHRvIGFuIGludGVybWVk aWFyeSB2Y3B1IHdlIGRvbid0IGNhcmUKKyAgICAgKiBhYm91dC4gV2Ugd2FudCB0byB0YWtlIHRo ZSBsb2NrIG9uIHRoZSBvbGRlciB2Y3B1IGluc3RlYWQsCisgICAgICogYmVjYXVzZSB0aGF0IGlz IHRoZSBvbmUgZ2ljX3VwZGF0ZV9vbmVfbHIgaG9sZHMuCisgICAgICoKKyAgICAgKiBUaGUgdmdp YyBsb2NrIGlzIHRoZSBvbmx5IGxvY2sgcHJvdGVjdGluZyBhY2Nlc3NlcyB0byByYW5rX3ZjcHUK KyAgICAgKiBmcm9tIGdpY191cGRhdGVfb25lX2xyLiBIb3dldmVyLCB3cml0ZXMgdG8gcmFua192 Y3B1IGFyZSBzdGlsbAorICAgICAqIHByb3RlY3RlZCBieSB0aGUgcmFuayBsb2NrLgorICAgICAq LworICAgIHAgPSBpcnFfdG9fcGVuZGluZyhvbGQsIGlycSk7CisgICAgdmNwdSA9IHAtPnZjcHU7 CisKKyAgICAvKiBUaGlzIHBhaXJzIHdpdGggdGhlIGJhcnJpZXIgaW4gZ2ljX3VwZGF0ZV9vbmVf bHIuICovCisgICAgc21wX21iKCk7CisKKyAgICBpZiAoIHZjcHUgIT0gR0lDX0lOVkFMSURfVkNQ VSApCisgICAgICAgIHYgPSBvbGQtPmRvbWFpbi0+dmNwdVt2Y3B1XTsKKyAgICBlbHNlCisgICAg ICAgIHYgPSBvbGQ7CisKKyAgICBzcGluX2xvY2tfaXJxc2F2ZSgmdi0+YXJjaC52Z2ljLmxvY2ss IGZsYWdzKTsKKyAgICBfX3ZnaWNfbWlncmF0ZV9pcnEob2xkLCBuZXcsIGlycSk7CisgICAgKnJh bmtfdmNwdSA9IG5ldy0+dmNwdV9pZDsKKyAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2LT5h cmNoLnZnaWMubG9jaywgZmxhZ3MpOwogfQogCiB2b2lkIGFyY2hfbW92ZV9pcnFzKHN0cnVjdCB2 Y3B1ICp2KQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS92Z2ljLmggYi94ZW4vaW5j bHVkZS9hc20tYXJtL3ZnaWMuaAppbmRleCBmZGU1YjMyLi5kY2UyZjg0IDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMu aApAQCAtMzE0LDcgKzMxNCw4IEBAIGV4dGVybiBpbnQgdmNwdV92Z2ljX2ZyZWUoc3RydWN0IHZj cHUgKnYpOwogZXh0ZXJuIGJvb2wgdmdpY190b19zZ2koc3RydWN0IHZjcHUgKnYsIHJlZ2lzdGVy X3Qgc2dpciwKICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gZ2ljX3NnaV9tb2RlIGlycW1v ZGUsIGludCB2aXJxLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNnaV90 YXJnZXQgKnRhcmdldCk7Ci1leHRlcm4gdm9pZCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2Y3B1 ICpvbGQsIHN0cnVjdCB2Y3B1ICpuZXcsIHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIHZvaWQg dmdpY19taWdyYXRlX2lycShzdHJ1Y3QgdmNwdSAqb2xkLCBzdHJ1Y3QgdmNwdSAqbmV3LCB1bnNp Z25lZCBpbnQgaXJxLAorICAgICAgICB1aW50OF90ICpyYW5rX3ZjcHUpOwogCiAvKiBSZXNlcnZl IGEgc3BlY2lmaWMgZ3Vlc3QgdklSUSAqLwogZXh0ZXJuIGJvb2wgdmdpY19yZXNlcnZlX3ZpcnEo c3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZpcnEpOwotLSAKMS45LjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK