From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v3] xen/arm: fix rank/vgic lock inversion bug Date: Tue, 3 Jan 2017 15:29:27 -0800 Message-ID: <1483486167-24607-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cOYWP-0005q1-H0 for xen-devel@lists.xenproject.org; Tue, 03 Jan 2017 23:29:37 +0000 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 QWx3YXlzIHNldCB0aGUgbmV3IHBoeXNpY2FsIGlycSBhZmZpbml0eSBhdCB0aGUgYmVnaW5uaW5n IG9mCnZnaWNfbWlncmF0ZV9pcnEsIGluIGFsbCBjYXNlcy4KCk5vIG5lZWQgdG8gc2V0IHBoeXNp Y2FsIGlycSBhZmZpbml0eSBpbiBnaWNfdXBkYXRlX29uZV9sciBhbnltb3JlLApzb2x2aW5nIHRo ZSBsb2NrIGludmVyc2lvbiBwcm9ibGVtLgoKQWZ0ZXIgbWlncmF0aW5nIGFuIGludGVycnVwdCBm cm9tIHZjcHUvcGNwdSAwIHRvIHZjcHUvcGNwdSAxLCBpdCBpcwpwb3NzaWJsZSB0byByZWNlaXZl IGEgcGh5c2ljYWwgaW50ZXJydXB0IG9uIHBjcHUgMSwgd2hpY2ggWGVuIGlzCnN1cHBvc2VkIHRv IGluamVjdCBpbnRvIHZjcHUgMSwgYmVmb3JlIHRoZSBMUiBvbiBwY3B1IDAgaGFzIGJlZW4KY2xl YXJlZC4gSW4gdGhpcyBjYXNlIHRoZSBpcnEgaXMgc3RpbGwgbWFya2VkIGFzCkdJQ19JUlFfR1VF U1RfTUlHUkFUSU5HLCBhbmQgc3RydWN0IHBlbmRpbmdfaXJxIGlzIHN0aWxsICJpbmZsaWdodCIg b24KdmNwdSAwLiBBcyB0aGUgaXJxIGNhbm5vdCBiZSAiaW5mbGlnaHQiIG9uIHZjcHUgMCBhbmQg dmNwdSAxCnNpbXVsdGFuZW91c2x5LCBkcm9wIHRoZSBpbnRlcnJ1cHQuCgpDb3Zlcml0eS1JRDog MTM4MTg1NQpDb3Zlcml0eS1JRDogMTM4MTg1MwoKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFi ZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KIHhlbi9hcmNoL2FybS9naWMuYyAg fCAgNiArLS0tLS0KIHhlbi9hcmNoL2FybS92Z2ljLmMgfCAxOSArKysrKysrKysrKy0tLS0tLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMuYyBiL3hlbi9hcmNoL2FybS9naWMuYwppbmRleCBh NTM0OGYyLi43NjdmYzllIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLmMKKysrIGIveGVu L2FyY2gvYXJtL2dpYy5jCkBAIC01MDQsMTEgKzUwNCw3IEBAIHN0YXRpYyB2b2lkIGdpY191cGRh dGVfb25lX2xyKHN0cnVjdCB2Y3B1ICp2LCBpbnQgaSkKICAgICAgICAgICAgIGdpY19yYWlzZV9n dWVzdF9pcnEodiwgaXJxLCBwLT5wcmlvcml0eSk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAg ICAgbGlzdF9kZWxfaW5pdCgmcC0+aW5mbGlnaHQpOwotICAgICAgICAgICAgaWYgKCB0ZXN0X2Fu ZF9jbGVhcl9iaXQoR0lDX0lSUV9HVUVTVF9NSUdSQVRJTkcsICZwLT5zdGF0dXMpICkKLSAgICAg ICAgICAgIHsKLSAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdl90YXJnZXQgPSB2Z2ljX2dl dF90YXJnZXRfdmNwdSh2LCBpcnEpOwotICAgICAgICAgICAgICAgIGlycV9zZXRfYWZmaW5pdHko cC0+ZGVzYywgY3B1bWFza19vZih2X3RhcmdldC0+cHJvY2Vzc29yKSk7Ci0gICAgICAgICAgICB9 CisgICAgICAgICAgICBjbGVhcl9iaXQoR0lDX0lSUV9HVUVTVF9NSUdSQVRJTkcsICZwLT5zdGF0 dXMpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMu YyBiL3hlbi9hcmNoL2FybS92Z2ljLmMKaW5kZXggMzY0ZDVmMC4uMTFmZmI5YiAxMDA2NDQKLS0t IGEveGVuL2FyY2gvYXJtL3ZnaWMuYworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy5jCkBAIC0yNjQs MjAgKzI2NCwxNyBAQCB2b2lkIHZnaWNfbWlncmF0ZV9pcnEoc3RydWN0IHZjcHUgKm9sZCwgc3Ry dWN0IHZjcHUgKm5ldywgdW5zaWduZWQgaW50IGlycSkKICAgICBpZiAoIHAtPmRlc2MgPT0gTlVM TCApCiAgICAgICAgIHJldHVybjsKIAorICAgIGlycV9zZXRfYWZmaW5pdHkocC0+ZGVzYywgY3B1 bWFza19vZihuZXctPnByb2Nlc3NvcikpOworCiAgICAgLyogbWlncmF0aW9uIGFscmVhZHkgaW4g cHJvZ3Jlc3MsIG5vIG5lZWQgdG8gZG8gYW55dGhpbmcgKi8KICAgICBpZiAoIHRlc3RfYml0KEdJ Q19JUlFfR1VFU1RfTUlHUkFUSU5HLCAmcC0+c3RhdHVzKSApCiAgICAgICAgIHJldHVybjsKKyAg ICBpZiAoIGxpc3RfZW1wdHkoJnAtPmluZmxpZ2h0KSApCisgICAgICAgIHJldHVybjsKIAogICAg IHBlcmZjX2luY3IodmdpY19pcnFfbWlncmF0ZXMpOwogCiAgICAgc3Bpbl9sb2NrX2lycXNhdmUo Jm9sZC0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKLQotICAgIGlmICggbGlzdF9lbXB0eSgmcC0+ aW5mbGlnaHQpICkKLSAgICB7Ci0gICAgICAgIGlycV9zZXRfYWZmaW5pdHkocC0+ZGVzYywgY3B1 bWFza19vZihuZXctPnByb2Nlc3NvcikpOwotICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZvbGQtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiAg ICAgLyogSWYgdGhlIElSUSBpcyBzdGlsbCBscl9wZW5kaW5nLCByZS1pbmplY3QgaXQgdG8gdGhl IG5ldyB2Y3B1ICovCiAgICAgaWYgKCAhbGlzdF9lbXB0eSgmcC0+bHJfcXVldWUpICkKICAgICB7 CkBAIC0yODYsNyArMjgzLDYgQEAgdm9pZCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2Y3B1ICpv bGQsIHN0cnVjdCB2Y3B1ICpuZXcsIHVuc2lnbmVkIGludCBpcnEpCiAgICAgICAgIGxpc3RfZGVs X2luaXQoJnAtPmluZmxpZ2h0KTsKICAgICAgICAgaXJxX3NldF9hZmZpbml0eShwLT5kZXNjLCBj cHVtYXNrX29mKG5ldy0+cHJvY2Vzc29yKSk7CiAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJm9sZC0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKLSAgICAgICAgdmdpY192Y3B1X2luamVj dF9pcnEobmV3LCBpcnEpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIC8qIGlmIHRoZSBJ UlEgaXMgaW4gYSBHSUNIX0xSIHJlZ2lzdGVyLCBzZXQgR0lDX0lSUV9HVUVTVF9NSUdSQVRJTkcK QEAgLTQ5NSw2ICs0OTEsMTMgQEAgdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X2lycShzdHJ1Y3QgdmNw dSAqdiwgdW5zaWduZWQgaW50IHZpcnEpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBp ZiAoIHRlc3RfYml0KEdJQ19JUlFfR1VFU1RfTUlHUkFUSU5HLCAmbi0+c3RhdHVzKSApCisgICAg eworICAgICAgICAvKiBEcm9wIHRoZSBpbnRlcnJ1cHQsIGJlY2F1c2UgaXQgaXMgc3RpbGwgaW5m bGlnaHQgb24gYW5vdGhlciB2Y3B1ICovCisgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUo JnYtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg ICBzZXRfYml0KEdJQ19JUlFfR1VFU1RfUVVFVUVELCAmbi0+c3RhdHVzKTsKIAogICAgIGlmICgg IWxpc3RfZW1wdHkoJm4tPmluZmxpZ2h0KSApCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=