From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 08/13] optee: add support for RPC SHM buffers Date: Mon, 10 Sep 2018 14:01:23 +0100 Message-ID: References: <1535993677-20816-1-git-send-email-volodymyr_babchuk@epam.com> <1535993677-20816-9-git-send-email-volodymyr_babchuk@epam.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1535993677-20816-9-git-send-email-volodymyr_babchuk@epam.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Volodymyr Babchuk , xen-devel@lists.xenproject.org, xen-devel@lists.xen.org Cc: tee-dev@lists.linaro.org, Stefano Stabellini List-Id: xen-devel@lists.xenproject.org SGkgVm9sb2R5bXlyLAoKT24gMDMvMDkvMTggMTc6NTQsIFZvbG9keW15ciBCYWJjaHVrIHdyb3Rl Ogo+IE9QLVRFRSB1c3VhbGx5IHVzZXMgdGhlIHNhbWUgaWRlYSB3aXRoIGNvbW1hbmQgYnVmZmVy cyAoc2VlCj4gcHJldmlvdXMgY29tbWl0KSB0byBpc3N1ZSBSUEMgcmVxdWVzdHMuIFByb2JsZW0g aXMgdGhhdCBpbml0aWFsbHkKPiBpdCBoYXMgbm8gYnVmZmVyLCB3aGVyZSBpdCBjYW4gd3JpdGUg cmVxdWVzdC4gU28gdGhlIGZpcnN0IFJQQwo+IHJlcXVlc3QgaXQgbWFrZXMgaXMgc3BlY2lhbDog aXQgcmVxdWVzdHMgTlcgdG8gYWxsb2NhdGUgc2hhcmVkCj4gYnVmZmVyIGZvciBvdGhlciBSUEMg cmVxdWVzdHMuIFVzdWFsbHkgdGhpcyBidWZmZXIgaXMgYWxsb2NhdGVkCj4gb25seSBvbmNlIGZv ciBldmVyeSBPUC1URUUgdGhyZWFkIGFuZCBpdCByZW1haW5zIGFsbG9jYXRlZCBhbGwKPiB0aGUg dGltZSB1bnRpbCBzaHV0ZG93bi4KPiAKPiBNZWRpYXRvciBuZWVkcyB0byBwaW4gdGhpcyBidWZm ZXIocykgdG8gbWFrZSBzdXJlIHRoYXQgZG9tYWluIGNhbid0Cj4gdHJhbnNmZXIgaXQgdG8gc29t ZW9uZSBlbHNlLiBBbHNvIGl0IHNob3VsZCBiZSBtYXBwZWQgaW50byBYRU4KPiBhZGRyZXNzIHNw YWNlLCBiZWNhdXNlIG1lZGlhdG9yIG5lZWRzIHRvIGNoZWNrIHJlc3BvbnNlcyBmcm9tCj4gZ3Vl c3RzLgoKQ2FuIHlvdSBleHBsYWluIHdoeSB5b3UgYWx3YXlzIG5lZWQgdG8ga2VlcCB0aGUgc2hh cmVkIGJ1ZmZlciBtYXBwZWQgaW4gClhlbj8gV2h5IG5vdCB1c2luZyBhY2Nlc3NfZ3Vlc3RfbWVt b3J5X2J5X2lwYSBldmVyeSB0aW1lIHlvdSB3YW50IHRvIGdldCAKaW5mb3JtYXRpb24gZnJvbSB0 aGUgZ3Vlc3Q/Cgo+IAo+IFNpZ25lZC1vZmYtYnk6IFZvbG9keW15ciBCYWJjaHVrIDx2b2xvZHlt eXJfYmFiY2h1a0BlcGFtLmNvbT4KPiAtLS0KPiAgIHhlbi9hcmNoL2FybS90ZWUvb3B0ZWUuYyB8 IDEyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAg MSBmaWxlIGNoYW5nZWQsIDExOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL29wdGVlLmMgYi94ZW4vYXJjaC9hcm0vdGVlL29w dGVlLmMKPiBpbmRleCAxMDA4ZWJhLi42ZDZiNTFkIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2Fy bS90ZWUvb3B0ZWUuYwo+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvb3B0ZWUuYwo+IEBAIC0yMSw2 ICsyMSw3IEBACj4gICAjaW5jbHVkZSA8YXNtL3RlZS9vcHRlZV9zbWMuaD4KPiAgIAo+ICAgI2Rl ZmluZSBNQVhfU1REX0NBTExTICAgMTYKPiArI2RlZmluZSBNQVhfUlBDX1NITVMgICAgMTYKPiAg IAo+ICAgLyoKPiAgICAqIENhbGwgY29udGV4dC4gT1AtVEVFIGNhbiBpc3N1ZSBtdWx0aXBsZSBS UEMgcmV0dXJucyBkdXJpbmcgb25lIGNhbGwuCj4gQEAgLTM1LDExICszNiwyMiBAQCBzdHJ1Y3Qg c3RkX2NhbGxfY3R4IHsKPiAgICAgICBpbnQgcnBjX29wOwo+ICAgfTsKPiAgIAo+ICsvKiBQcmUt YWxsb2NhdGVkIFNITSBidWZmZXIgZm9yIFJQQyBjb21tYW5kcyAqLwo+ICtzdHJ1Y3Qgc2htX3Jw YyB7Cj4gKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Cj4gKyAgICBzdHJ1Y3Qgb3B0ZWVfbXNn X2FyZyAqZ3Vlc3RfYXJnOwo+ICsgICAgc3RydWN0IHBhZ2UgKmd1ZXN0X3BhZ2U7Cj4gKyAgICBt Zm5fdCBndWVzdF9tZm47Cj4gKyAgICB1aW50NjRfdCBjb29raWU7Cj4gK307Cj4gKwo+ICAgc3Ry dWN0IGRvbWFpbl9jdHggewo+ICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKPiAgICAgICBz dHJ1Y3QgbGlzdF9oZWFkIGNhbGxfY3R4X2xpc3Q7Cj4gKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIHNo bV9ycGNfbGlzdDsKPiAgICAgICBzdHJ1Y3QgZG9tYWluICpkb21haW47Cj4gICAgICAgYXRvbWlj X3QgY2FsbF9jdHhfY291bnQ7Cj4gKyAgICBhdG9taWNfdCBzaG1fcnBjX2NvdW50Owo+ICAgICAg IHNwaW5sb2NrX3QgbG9jazsKPiAgIH07Cj4gICAKPiBAQCAtMTQ1LDggKzE1NywxMCBAQCBzdGF0 aWMgaW50IG9wdGVlX2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkKQo+ICAgCj4gICAgICAgY3R4LT5k b21haW4gPSBkOwo+ICAgICAgIElOSVRfTElTVF9IRUFEKCZjdHgtPmNhbGxfY3R4X2xpc3QpOwo+ ICsgICAgSU5JVF9MSVNUX0hFQUQoJmN0eC0+c2htX3JwY19saXN0KTsKPiAgIAo+ICAgICAgIGF0 b21pY19zZXQoJmN0eC0+Y2FsbF9jdHhfY291bnQsIDApOwo+ICsgICAgYXRvbWljX3NldCgmY3R4 LT5zaG1fcnBjX2NvdW50LCAwKTsKPiAgICAgICBzcGluX2xvY2tfaW5pdCgmY3R4LT5sb2NrKTsK PiAgIAo+ICAgICAgIHNwaW5fbG9jaygmZG9tYWluX2N0eF9saXN0X2xvY2spOwo+IEBAIC0yNTYs MTEgKzI3MCw4MSBAQCBzdGF0aWMgc3RydWN0IHN0ZF9jYWxsX2N0eCAqZmluZF9jYWxsX2N0eChz dHJ1Y3QgZG9tYWluX2N0eCAqY3R4LCBpbnQgdGhyZWFkX2lkKQo+ICAgICAgIHJldHVybiBOVUxM Owo+ICAgfQo+ICAgCj4gK3N0YXRpYyBzdHJ1Y3Qgc2htX3JwYyAqYWxsb2NhdGVfYW5kX21hcF9z aG1fcnBjKHN0cnVjdCBkb21haW5fY3R4ICpjdHgsIHBhZGRyX3QgZ2FkZHIsCgpJIHdvdWxkIHBy ZWZlciBpZiB5b3UgcGFzcyBhIGdmbiBpbnN0ZWFkIG9mIHRoZSBhZGRyZXNzIGhlcmUuCgo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgY29va2llKQoK TklUOiBJbmRlbnRhdGlvbgoKPiArewo+ICsgICAgc3RydWN0IHNobV9ycGMgKnNobV9ycGM7Cj4g KyAgICBpbnQgY291bnQ7Cj4gKwo+ICsgICAgY291bnQgPSBhdG9taWNfYWRkX3VubGVzcygmY3R4 LT5zaG1fcnBjX2NvdW50LCAxLCBNQVhfUlBDX1NITVMpOwo+ICsgICAgaWYgKCBjb3VudCA9PSBN QVhfUlBDX1NITVMgKQo+ICsgICAgICAgIHJldHVybiBOVUxMOwo+ICsKPiArICAgIHNobV9ycGMg PSB4emFsbG9jKHN0cnVjdCBzaG1fcnBjKTsKPiArICAgIGlmICggIXNobV9ycGMgKQo+ICsgICAg ICAgIGdvdG8gZXJyOwo+ICsKPiArICAgIHNobV9ycGMtPmd1ZXN0X21mbiA9IGxvb2t1cF9hbmRf cGluX2d1ZXN0X3JhbV9hZGRyKGdhZGRyLCBOVUxMKTsKPiArCj4gKyAgICBpZiAoIG1mbl9lcShz aG1fcnBjLT5ndWVzdF9tZm4sIElOVkFMSURfTUZOKSApCj4gKyAgICAgICAgZ290byBlcnI7Cj4g Kwo+ICsgICAgc2htX3JwYy0+Z3Vlc3RfYXJnID0gbWFwX2RvbWFpbl9wYWdlX2dsb2JhbChzaG1f cnBjLT5ndWVzdF9tZm4pOwo+ICsgICAgaWYgKCAhc2htX3JwYy0+Z3Vlc3RfYXJnICkKPiArICAg IHsKPiArICAgICAgICBncHJpbnRrKFhFTkxPR19JTkZPLCAiQ291bGQgbm90IG1hcCBkb21haW4g cGFnZVxuIik7CgpZb3UgZG9uJ3QgdW5waW4gdGhlIGd1ZXN0IHBhZ2UgaWYgWGVuIGNhbid0IG1h cCB0aGUgcGFnZS4KCj4gKyAgICAgICAgZ290byBlcnI7Cj4gKyAgICB9Cj4gKyAgICBzaG1fcnBj LT5jb29raWUgPSBjb29raWU7Cj4gKwo+ICsgICAgc3Bpbl9sb2NrKCZjdHgtPmxvY2spOwo+ICsg ICAgbGlzdF9hZGRfdGFpbCgmc2htX3JwYy0+bGlzdCwgJmN0eC0+c2htX3JwY19saXN0KTsKPiAr ICAgIHNwaW5fdW5sb2NrKCZjdHgtPmxvY2spOwo+ICsKPiArICAgIHJldHVybiBzaG1fcnBjOwo+ ICsKPiArZXJyOgo+ICsgICAgYXRvbWljX2RlYygmY3R4LT5zaG1fcnBjX2NvdW50KTsKPiArICAg IHhmcmVlKHNobV9ycGMpOwo+ICsgICAgcmV0dXJuIE5VTEw7Cj4gK30KPiArCj4gK3N0YXRpYyB2 b2lkIGZyZWVfc2htX3JwYyhzdHJ1Y3QgZG9tYWluX2N0eCAqY3R4LCB1aW50NjRfdCBjb29raWUp Cj4gK3sKPiArICAgIHN0cnVjdCBzaG1fcnBjICpzaG1fcnBjOwo+ICsgICAgYm9vbCBmb3VuZCA9 IGZhbHNlOwo+ICsKPiArICAgIHNwaW5fbG9jaygmY3R4LT5sb2NrKTsKPiArCj4gKyAgICBsaXN0 X2Zvcl9lYWNoX2VudHJ5KCBzaG1fcnBjLCAmY3R4LT5zaG1fcnBjX2xpc3QsIGxpc3QgKQo+ICsg ICAgewo+ICsgICAgICAgIGlmICggc2htX3JwYy0+Y29va2llID09IGNvb2tpZSApCgpXaGF0IGRv ZXMgZ3VhcmFudGVlIHlvdSB0aGUgY29va2llIHdpbGwgYmUgdW5pcT8KCj4gKyAgICAgICAgewo+ ICsgICAgICAgICAgICBmb3VuZCA9IHRydWU7Cj4gKyAgICAgICAgICAgIGxpc3RfZGVsKCZzaG1f cnBjLT5saXN0KTsKPiArICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ ICsgICAgc3Bpbl91bmxvY2soJmN0eC0+bG9jayk7CgpBdCB0aGlzIHBvaW50IHlvdSBoYXZlIGEg c2htX3JwYyBpbiBoYW5kIHRvIGZyZWUuIEJ1dCB3aGF0IGRvZXMgCmd1YXJhbnRlZSB5b3Ugbm8t b25lIHdpbGwgdXNlIGl0PwoKPiArCj4gKyAgICBpZiAoICFmb3VuZCApIHsKPiArICAgICAgICBy ZXR1cm47Cj4gKyAgICB9CgpObyBuZWVkIGZvciB0aGUge30gaW4gYSBvbmUtbGluZXIuCgo+ICsK PiArICAgIGlmICggc2htX3JwYy0+Z3Vlc3RfYXJnICkgewoKQ29kaW5nIHN0eWxlOgoKaWYgKCAu Li4gKQp7Cgo+ICsgICAgICAgIHVucGluX2d1ZXN0X3JhbV9hZGRyKHNobV9ycGMtPmd1ZXN0X21m bik7Cj4gKyAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2VfZ2xvYmFsKHNobV9ycGMtPmd1ZXN0X2Fy Zyk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgeGZyZWUoc2htX3JwYyk7Cj4gK30KPiArCj4gICBzdGF0 aWMgdm9pZCBvcHRlZV9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQo+ICAgewo+ICAg ICAgIHN0cnVjdCBhcm1fc21jY2NfcmVzIHJlc3A7Cj4gICAgICAgc3RydWN0IGRvbWFpbl9jdHgg KmN0eDsKPiAgICAgICBzdHJ1Y3Qgc3RkX2NhbGxfY3R4ICpjYWxsLCAqY2FsbF90bXA7Cj4gKyAg ICBzdHJ1Y3Qgc2htX3JwYyAqc2htX3JwYywgKnNobV9ycGNfdG1wOwo+ICAgICAgIGJvb2wgZm91 bmQgPSBmYWxzZTsKPiAgIAo+ICAgICAgIC8qIEF0IHRoaXMgdGltZSBhbGwgZG9tYWluIFZDUFVz IHNob3VsZCBiZSBzdG9wcGVkICovCj4gQEAgLTI5MCw3ICszNzQsMTEgQEAgc3RhdGljIHZvaWQg b3B0ZWVfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCkKPiAgICAgICBsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmUoIGNhbGwsIGNhbGxfdG1wLCAmY3R4LT5jYWxsX2N0eF9saXN0LCBsaXN0 ICkKPiAgICAgICAgICAgZnJlZV9zdGRfY2FsbF9jdHgoY3R4LCBjYWxsKTsKPiAgIAo+ICsgICAg bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKCBzaG1fcnBjLCBzaG1fcnBjX3RtcCwgJmN0eC0+c2ht X3JwY19saXN0LCBsaXN0ICkKPiArICAgICAgICBmcmVlX3NobV9ycGMoY3R4LCBzaG1fcnBjLT5j b29raWUpOwo+ICsKPiAgICAgICBBU1NFUlQoIWF0b21pY19yZWFkKCZjdHgtPmNhbGxfY3R4X2Nv dW50KSk7Cj4gKyAgICBBU1NFUlQoIWF0b21pY19yZWFkKCZjdHgtPnNobV9ycGNfY291bnQpKTsK PiAgIAo+ICAgICAgIHhmcmVlKGN0eCk7Cj4gICB9Cj4gQEAgLTQ1Miw2ICs1NDAsMzIgQEAgb3V0 Ogo+ICAgICAgIHJldHVybiByZXQ7Cj4gICB9Cj4gICAKPiArc3RhdGljIHZvaWQgaGFuZGxlX3Jw Y19mdW5jX2FsbG9jKHN0cnVjdCBkb21haW5fY3R4ICpjdHgsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKPiArewo+ICsgICAg cGFkZHJfdCBwdHIgPSBnZXRfdXNlcl9yZWcocmVncywgMSkgPDwgMzIgfCBnZXRfdXNlcl9yZWco cmVncywgMik7Cj4gKwo+ICsgICAgaWYgKCBwdHIgJiAoT1BURUVfTVNHX05PTkNPTlRJR19QQUdF X1NJWkUgLSAxKSApCj4gKyAgICAgICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywgIkRvbWFpbiBy ZXR1cm5lZCBpbnZhbGlkIFJQQyBjb21tYW5kIGJ1ZmZlclxuIik7Cj4gKwo+ICsgICAgaWYgKCBw dHIgKSB7Cj4gKyAgICAgICAgdWludDY0X3QgY29va2llID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDQp IDw8IDMyIHwgZ2V0X3VzZXJfcmVnKHJlZ3MsIDUpOwo+ICsgICAgICAgIHN0cnVjdCBzaG1fcnBj ICpzaG1fcnBjOwo+ICsKPiArICAgICAgICBzaG1fcnBjID0gYWxsb2NhdGVfYW5kX21hcF9zaG1f cnBjKGN0eCwgcHRyLCBjb29raWUpOwo+ICsgICAgICAgIGlmICggIXNobV9ycGMgKQo+ICsgICAg ICAgIHsKPiArICAgICAgICAgICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywgIkZhaWxlZCB0byBh bGxvY2F0ZSBzaG1fcnBjIG9iamVjdFxuIik7Cj4gKyAgICAgICAgICAgIHB0ciA9IDA7Cj4gKyAg ICAgICAgfQo+ICsgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgcHRyID0gbWZuX3RvX21hZGRy KHNobV9ycGMtPmd1ZXN0X21mbik7Cj4gKwo+ICsgICAgICAgIHNldF91c2VyX3JlZyhyZWdzLCAx LCBwdHIgPj4gMzIpOwo+ICsgICAgICAgIHNldF91c2VyX3JlZyhyZWdzLCAyLCBwdHIgJiAweEZG RkZGRkZGKTsKPiArICAgIH0KPiArfQo+ICsKPiAgIHN0YXRpYyBib29sIGhhbmRsZV9ycGMoc3Ry dWN0IGRvbWFpbl9jdHggKmN0eCwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCj4gICB7Cj4g ICAgICAgc3RydWN0IHN0ZF9jYWxsX2N0eCAqY2FsbDsKPiBAQCAtNDY1LDExICs1NzksMTQgQEAg c3RhdGljIGJvb2wgaGFuZGxlX3JwYyhzdHJ1Y3QgZG9tYWluX2N0eCAqY3R4LCBzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncykKPiAgIAo+ICAgICAgIHN3aXRjaCAoIGNhbGwtPnJwY19vcCApIHsK PiAgICAgICBjYXNlIE9QVEVFX1NNQ19SUENfRlVOQ19BTExPQzoKPiAtICAgICAgICAvKiBUT0RP OiBBZGQgaGFuZGxpbmcgKi8KPiArICAgICAgICBoYW5kbGVfcnBjX2Z1bmNfYWxsb2MoY3R4LCBy ZWdzKTsKPiAgICAgICAgICAgYnJlYWs7Cj4gICAgICAgY2FzZSBPUFRFRV9TTUNfUlBDX0ZVTkNf RlJFRToKPiAtICAgICAgICAvKiBUT0RPOiBBZGQgaGFuZGxpbmcgKi8KPiArICAgIHsKPiArICAg ICAgICB1aW50NjRfdCBjb29raWUgPSBnZXRfdXNlcl9yZWcocmVncywgMSkgPDwgMzIgfCBnZXRf dXNlcl9yZWcocmVncywgMik7CgpOZXdsaW5lIGhlcmUuCgo+ICsgICAgICAgIGZyZWVfc2htX3Jw YyhjdHgsIGNvb2tpZSk7CgpJdCBmZWVscyBxdWl0ZSBzdXNwaWNpb3VzIHRvIGZyZWUgdGhlIG1l bW9yeSBpbiBYZW4gYmVmb3JlIGNhbGxpbmcgCk9QLVRFRS4gSSB0aGluayB0aGlzIG5lZWQgdG8g YmUgZG9uZSBhZnRlcndhcmRzLgoKPiAgICAgICAgICAgYnJlYWs7Cj4gKyAgICB9Cj4gICAgICAg Y2FzZSBPUFRFRV9TTUNfUlBDX0ZVTkNfRk9SRUlHTl9JTlRSOgo+ICAgICAgICAgICBicmVhazsK PiAgICAgICBjYXNlIE9QVEVFX1NNQ19SUENfRlVOQ19DTUQ6Cj4gCgpDaGVlcnMsCgotLSAKSnVs aWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs