From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH] xen/arm: io: Protect the handlers with a read-write lock Date: Mon, 11 Jul 2016 19:07:57 +0100 Message-ID: <5783E07D.1030004@arm.com> References: <1467131671-24612-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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: Stefano Stabellini Cc: wei.chen@linaro.org, shankerd@codeaurora.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SGkgU3RlZmFubywKCk9uIDExLzA3LzE2IDE4OjQ5LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6 Cj4gT24gVHVlLCAyOCBKdW4gMjAxNiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+PiBDdXJyZW50bHks IGFjY2Vzc2luZyB0aGUgSS9PIGhhbmRsZXJzIGRvZXMgbm90IHJlcXVpcmUgdG8gdGFrZSBhIGxv Y2sKPj4gYmVjYXVzZSBuZXcgaGFuZGxlcnMgYXJlIGFsd2F5cyBhZGRlZCBhdCB0aGUgZW5kIG9m IHRoZSBhcnJheS4gSW4gYQo+PiBmb2xsb3ctdXAgcGF0Y2gsIHRoaXMgYXJyYXkgd2lsbCBiZSBz b3J0IHRvIG9wdGltaXplIHRoZSBsb29rIHVwLgo+Pgo+PiBHaXZlbiB0aGF0IG1vc3Qgb2YgdGhl IHRpbWUgdGhlIEkvTyBoYW5kbGVycyB3aWxsIG5vdCBiZSBtb2RpZnksCj4+IHVzaW5nIGEgc3Bp bmxvY2sgd2lsbCBhZGQgY29udGVudGlvbiB3aGVuIG11bHRpcGxlIHZDUFUgYXJlIGFjY2Vzc2lu Zwo+PiB0aGUgZW11bGF0ZWQgTU1JT3MuIFNvIHVzZSBhIHJlYWQtd3JpdGUgbG9jayB0byBwcm90 ZWN0ZWQgdGhlIGhhbmRsZXJzLgo+Pgo+PiBGaW5hbGx5LCB0YWtlIHRoZSBvcHBvcnR1bml0eSB0 byByZS1pbmRlbnQgY29ycmVjdGx5IGRvbWFpbl9pb19pbml0Lgo+Pgo+PiBTaWduZWQtb2ZmLWJ5 OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgo+Cj4gSSB3b3VsZCBhcHByZWNp YXRlIGlmIHlvdSBjb3VsZCBhdm9pZCBtaXhpbmcgaW5kZW50YXRpb24gY2hhbmdlcyB3aXRoCj4g b3RoZXIgY2hhbmdlcyBpbiB0aGUgZnV0dXJlLgoKVGhlIGluZGVudGF0aW9uIGNoYW5nZXMgd2Fz IHZlcnkgc21hbGwgYW5kIEkgZGlkIG5vdCBmZWVsIGl0IHdhcyAKbmVjZXNzYXJ5IHRvIGhhdmUg YSBzZXBhcmF0ZSBwYXRjaCBmb3IgaXQuIEkgdGVuZCB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIApw YXRjaGVzIHVubGVzcyBpdCBoaWRlcyBpbXBvcnRhbnQgY2hhbmdlcy4KCkFueXdheSwgSSB3aWxs IHRyeSB0byBzcGxpdCBjb2Rpbmcgc3R5bGUgY2hhbmdlcyBhbmQgZnVuY3Rpb25hbCBjaGFuZ2Vz IAppbiB0aGUgZnV0dXJlLgoKPgo+IFJldmlld2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz dGFiZWxsaW5pQGtlcm5lbC5vcmc+Cj4KPiBJJ2xsIGNvbW1pdC4KClRoYW5rIHlvdSEKClJlZ2Fy ZHMsCgo+Cj4+ICAgeGVuL2FyY2gvYXJtL2lvLmMgICAgICAgICAgfCA0NyArKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICAgeGVuL2luY2x1ZGUvYXNtLWFy bS9tbWlvLmggfCAgMyArKy0KPj4gICAyIGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyks IDIwIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2lvLmMgYi94 ZW4vYXJjaC9hcm0vaW8uYwo+PiBpbmRleCAwMTU2NzU1Li41YTk2ODM2IDEwMDY0NAo+PiAtLS0g YS94ZW4vYXJjaC9hcm0vaW8uYwo+PiArKysgYi94ZW4vYXJjaC9hcm0vaW8uYwo+PiBAQCAtNzAs MjMgKzcwLDM5IEBAIHN0YXRpYyBpbnQgaGFuZGxlX3dyaXRlKGNvbnN0IHN0cnVjdCBtbWlvX2hh bmRsZXIgKmhhbmRsZXIsIHN0cnVjdCB2Y3B1ICp2LAo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBoYW5kbGVyLT5wcml2KTsKPj4gICB9Cj4+Cj4+IC1pbnQgaGFuZGxlX21taW8o bW1pb19pbmZvX3QgKmluZm8pCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1taW9faGFuZGxlciAq ZmluZF9tbWlvX2hhbmRsZXIoc3RydWN0IGRvbWFpbiAqZCwKPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IGdwYSkKPj4gICB7Cj4+ IC0gICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50Owo+PiAtICAgIGludCBpOwo+PiAtICAgIGNv bnN0IHN0cnVjdCBtbWlvX2hhbmRsZXIgKmhhbmRsZXIgPSBOVUxMOwo+PiAtICAgIGNvbnN0IHN0 cnVjdCB2bW1pbyAqdm1taW8gPSAmdi0+ZG9tYWluLT5hcmNoLnZtbWlvOwo+PiArICAgIGNvbnN0 IHN0cnVjdCBtbWlvX2hhbmRsZXIgKmhhbmRsZXI7Cj4+ICsgICAgdW5zaWduZWQgaW50IGk7Cj4+ ICsgICAgc3RydWN0IHZtbWlvICp2bW1pbyA9ICZkLT5hcmNoLnZtbWlvOwo+PiArCj4+ICsgICAg cmVhZF9sb2NrKCZ2bW1pby0+bG9jayk7Cj4+Cj4+ICAgICAgIGZvciAoIGkgPSAwOyBpIDwgdm1t aW8tPm51bV9lbnRyaWVzOyBpKysgKQo+PiAgICAgICB7Cj4+ICAgICAgICAgICBoYW5kbGVyID0g JnZtbWlvLT5oYW5kbGVyc1tpXTsKPj4KPj4gLSAgICAgICAgaWYgKCAoaW5mby0+Z3BhID49IGhh bmRsZXItPmFkZHIpICYmCj4+IC0gICAgICAgICAgICAgKGluZm8tPmdwYSA8IChoYW5kbGVyLT5h ZGRyICsgaGFuZGxlci0+c2l6ZSkpICkKPj4gKyAgICAgICAgaWYgKCAoZ3BhID49IGhhbmRsZXIt PmFkZHIpICYmCj4+ICsgICAgICAgICAgICAgKGdwYSA8IChoYW5kbGVyLT5hZGRyICsgaGFuZGxl ci0+c2l6ZSkpICkKPj4gICAgICAgICAgICAgICBicmVhazsKPj4gICAgICAgfQo+Pgo+PiAgICAg ICBpZiAoIGkgPT0gdm1taW8tPm51bV9lbnRyaWVzICkKPj4gKyAgICAgICAgaGFuZGxlciA9IE5V TEw7Cj4+ICsKPj4gKyAgICByZWFkX3VubG9jaygmdm1taW8tPmxvY2spOwo+PiArCj4+ICsgICAg cmV0dXJuIGhhbmRsZXI7Cj4+ICt9Cj4+ICsKPj4gK2ludCBoYW5kbGVfbW1pbyhtbWlvX2luZm9f dCAqaW5mbykKPj4gK3sKPj4gKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7Cj4+ICsgICAg Y29uc3Qgc3RydWN0IG1taW9faGFuZGxlciAqaGFuZGxlciA9IE5VTEw7Cj4+ICsKPj4gKyAgICBo YW5kbGVyID0gZmluZF9tbWlvX2hhbmRsZXIodi0+ZG9tYWluLCBpbmZvLT5ncGEpOwo+PiArICAg IGlmICggIWhhbmRsZXIgKQo+PiAgICAgICAgICAgcmV0dXJuIDA7Cj4+Cj4+ICAgICAgIGlmICgg aW5mby0+ZGFidC53cml0ZSApCj4+IEBAIC0xMDQsNyArMTIwLDcgQEAgdm9pZCByZWdpc3Rlcl9t bWlvX2hhbmRsZXIoc3RydWN0IGRvbWFpbiAqZCwKPj4KPj4gICAgICAgQlVHX09OKHZtbWlvLT5u dW1fZW50cmllcyA+PSBNQVhfSU9fSEFORExFUik7Cj4+Cj4+IC0gICAgc3Bpbl9sb2NrKCZ2bW1p by0+bG9jayk7Cj4+ICsgICAgd3JpdGVfbG9jaygmdm1taW8tPmxvY2spOwo+Pgo+PiAgICAgICBo YW5kbGVyID0gJnZtbWlvLT5oYW5kbGVyc1t2bW1pby0+bnVtX2VudHJpZXNdOwo+Pgo+PiBAQCAt MTEzLDI0ICsxMjksMTcgQEAgdm9pZCByZWdpc3Rlcl9tbWlvX2hhbmRsZXIoc3RydWN0IGRvbWFp biAqZCwKPj4gICAgICAgaGFuZGxlci0+c2l6ZSA9IHNpemU7Cj4+ICAgICAgIGhhbmRsZXItPnBy aXYgPSBwcml2Owo+Pgo+PiAtICAgIC8qCj4+IC0gICAgICogaGFuZGxlX21taW8gaXMgbm90IHVz aW5nIHRoZSBsb2NrIHRvIGF2b2lkIGNvbnRlbnRpb24uCj4+IC0gICAgICogTWFrZSBzdXJlIHRo ZSBvdGhlciBwcm9jZXNzb3JzIHNlZSB0aGUgbmV3IGhhbmRsZXIgYmVmb3JlCj4+IC0gICAgICog dXBkYXRpbmcgdGhlIG51bWJlciBvZiBlbnRyaWVzCj4+IC0gICAgICovCj4+IC0gICAgZHNiKGlz aCk7Cj4+IC0KPj4gICAgICAgdm1taW8tPm51bV9lbnRyaWVzKys7Cj4+Cj4+IC0gICAgc3Bpbl91 bmxvY2soJnZtbWlvLT5sb2NrKTsKPj4gKyAgICB3cml0ZV91bmxvY2soJnZtbWlvLT5sb2NrKTsK Pj4gICB9Cj4+Cj4+ICAgaW50IGRvbWFpbl9pb19pbml0KHN0cnVjdCBkb21haW4gKmQpCj4+ICAg ewo+PiAtICAgc3Bpbl9sb2NrX2luaXQoJmQtPmFyY2gudm1taW8ubG9jayk7Cj4+IC0gICBkLT5h cmNoLnZtbWlvLm51bV9lbnRyaWVzID0gMDsKPj4gKyAgICByd2xvY2tfaW5pdCgmZC0+YXJjaC52 bW1pby5sb2NrKTsKPj4gKyAgICBkLT5hcmNoLnZtbWlvLm51bV9lbnRyaWVzID0gMDsKPj4KPj4g LSAgIHJldHVybiAwOwo+PiArICAgIHJldHVybiAwOwo+PiAgIH0KPj4KPj4gICAvKgo+PiBkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9tbWlvLmggYi94ZW4vaW5jbHVkZS9hc20tYXJt L21taW8uaAo+PiBpbmRleCBkYTFjYzJlLi4zMmYxMGYyIDEwMDY0NAo+PiAtLS0gYS94ZW4vaW5j bHVkZS9hc20tYXJtL21taW8uaAo+PiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL21taW8uaAo+ PiBAQCAtMjAsNiArMjAsNyBAQAo+PiAgICNkZWZpbmUgX19BU01fQVJNX01NSU9fSF9fCj4+Cj4+ ICAgI2luY2x1ZGUgPHhlbi9saWIuaD4KPj4gKyNpbmNsdWRlIDx4ZW4vcndsb2NrLmg+Cj4+ICAg I2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KPj4gICAjaW5jbHVkZSA8YXNtL3JlZ3MuaD4KPj4K Pj4gQEAgLTUxLDcgKzUyLDcgQEAgc3RydWN0IG1taW9faGFuZGxlciB7Cj4+Cj4+ICAgc3RydWN0 IHZtbWlvIHsKPj4gICAgICAgaW50IG51bV9lbnRyaWVzOwo+PiAtICAgIHNwaW5sb2NrX3QgbG9j azsKPj4gKyAgICByd2xvY2tfdCBsb2NrOwo+PiAgICAgICBzdHJ1Y3QgbW1pb19oYW5kbGVyIGhh bmRsZXJzW01BWF9JT19IQU5ETEVSXTsKPj4gICB9Owo+Pgo+PiAtLQo+PiAxLjkuMQo+Pgo+Cgot LSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK