From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC PATCH] mesa: Export BOs in RW mode Date: Wed, 3 Jul 2019 17:47:24 +0200 Message-ID: <20190703154724.GJ15868@phenom.ffwll.local> References: <20190703133357.10217-1-boris.brezillon@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: mesa-dev-bounces@lists.freedesktop.org Sender: "mesa-dev" To: Rob Herring Cc: ML mesa-dev , Boris Brezillon , Alyssa Rosenzweig , dri-devel , Steven Price List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKdWwgMDMsIDIwMTkgYXQgMDc6NDU6MzJBTSAtMDYwMCwgUm9iIEhlcnJpbmcgd3Jv dGU6Cj4gT24gV2VkLCBKdWwgMywgMjAxOSBhdCA3OjM0IEFNIEJvcmlzIEJyZXppbGxvbgo+IDxi b3Jpcy5icmV6aWxsb25AY29sbGFib3JhLmNvbT4gd3JvdGU6Cj4gPgo+ID4gRXhwb3J0ZWQgQk9z IG1pZ2h0IGJlIGltcG9ydGVkIGJhY2ssIHRoZW4gbW1hcCgpLWVkIHRvIGJlIHdyaXR0ZW4KPiA+ IHRvby4gTW9zdCBkcml2ZXJzIGhhbmRsZSB0aGF0IGJ5IG1tYXAoKS1pbmcgdGhlIEdFTSBoYW5k bGUgYWZ0ZXIgaXQncwo+ID4gYmVlbiBpbXBvcnRlZCwgYnV0LCBhY2NvcmRpbmcgdG8gWzFdLCB0 aGlzIGlzIGlsbGVnYWwuCj4gCj4gSXQncyBub3QgaWxsZWdhbCwgYnV0IGlzIHN1cHBvc2VkIHRv IGdvIHRocnUgdGhlIGRtYWJ1ZiBtbWFwCj4gZnVuY3Rpb25zLiBIb3dldmVyLCBub25lIG9mIHRo ZSBkcml2ZXIgSSd2ZSBsb29rZWQgYXQgKGV0bmF2aXYsIG1zbSwKPiB2M2QsIHZnZW0pIGRvIHRo YXQuIEl0IHByb2JhYmx5IHdvcmtzIGJlY2F1c2UgaXQncyB0aGUgc2FtZSBkcml2ZXIKPiBkb2lu ZyB0aGUgaW1wb3J0IGFuZCBleHBvcnQgb3IgYm90aCBkcml2ZXJzIGhhdmUgZXNzZW50aWFsbHkg dGhlIHNhbWUKPiBpbXBsZW1lbnRhdGlvbnMuCgpGb3Igc2VsZi1pbXBvcnQgd2Ugc2hvcnQtY2ly Y3VpdCBvdXQgdGhlIHVuZGVybHlpbmcgZG1hLWJ1ZiBhbmQgZGlyZWN0bHkKZ28gdG8gdGhlIGdl bV9ibyBhZ2Fpbi4KCj4gPiBUaGUgcGFuZnJvc3QKPiA+IGRyaXZlciBoYXMgcmVjZW50bHkgc3dp dGNoZWQgdG8gdGhpcyBnZW5lcmljIGhlbHBlciAod2hpY2ggd2FzIHJlbmFtZWQKPiA+IGludG8g ZHJtX2dlbV9tYXBfb2Zmc2V0KCkgaW4gdGhlIG1lYW50aW1lKSBbMl0sIGFuZCBtbWFwKCktaW5n Cj4gPiBvZiBpbXBvcnRlZCBCT3Mgbm93IGZhaWxzLgo+IAo+IEkgdGhpbmsgSSdtIGdvaW5nIHRv IHJldmVydCB0aGlzLgoKQ2FuJ3Qgd2UgY2hhbmdlIHRoZSBoZWxwZXIgdG8gZm9yY2UgdGhlIHJ3 IG1vZGUgdG8gbWFrZSB0aGlzIHdvcms/CgpBc2lkZTogVGhlIHJlYXNvbiBJJ20gbm90IGEgaHVn ZSBmYW4gb2YgZm9yd2FyZGluZyBnZW0gbW1hcCB0byBkbWEtYnVmCm1tYXAgaXMgdGhhdCBnZW5l cmFsbHkgdGhlIGJlZ2luL2VuZF9jcHVfYWNjZXNzIHN0dWZmIGdldHMgbG90cyBvbiB0aGUgd2F5 CnRoZXJlLiBXaGljaCBtb3N0bHkgZG9lc24ndCBtYXR0ZXIgc2luY2UgZXZlcnlvbmUgcHJlZmVy cyB0byBzaGFyZQpjb2hlcmVudCBidWZmZXJzLCBleGNlcHQgd2hlbiBpdCB0b3RhbGx5IGRvZXMg bWF0dGVyLiBTbyBieSBmb3J3YXJkaW5nCm1tYXAgYW5kIHByZXRlbmRpbmcgaXQgYWxsIGtlZXBz IHdvcmtpbmcgYXMtaXMgd2UncmUgZGlnZ2luZyBvdXJzZWx2ZXMgYQpiaXQgaW50byBhIGhvbGUg SSB0aGluayA6LS8KClNpbmNlIHRoZSBzYW1lIGRpc2N1c3Npb24gaXMgaGFwcGVuaW5nIHdpdGgg ZXRuYXZpdjogV2h5IGV4YWN0bHkgZG9lcyBtZXNhCm5lZWQgdG8gbW1hcCBpbXBvcnRlZCBidWZm ZXJzPwotRGFuaWVsCgo+IAo+ID4gTm93IEknbSB3b25kZXJpbmcgaG93IHRoaXMgc2hvdWxkIGJl IHNvbHZlZC4gSSBndWVzcyB0aGUgZmlyc3QgcXVlc3Rpb24KPiA+IGlzLCBpcyBtbWFwKCktaW5n IG9mIGltcG9ydGVkIEJPcyByZWFsbHkgZm9yYmlkZGVuIGZvciBhbGwgQk9zPyBJIGd1ZXNzCj4g PiBjYWxsaW5nIG1tYXAoKSBvbiBhIGJ1ZmZlciB0aGF0J3MgYmVlbiBleHBvcnRlZCBieSB0aGUg RFJNIGRyaXZlciBpdHNlbGYKPiA+IHRoZW4gcmUtaW1wb3J0ZWQgc2hvdWxkbid0IGh1cnQsIHNv IG1heWJlIHdlIGNhbiBjaGVjayB0aGF0IGJlZm9yZQo+ID4gZmFpbGluZy4KPiA+Cj4gPiBOb3cs IGlmIHdlIHJlYWxseSB3YW50IHRvIGZvcmJpZCBtbWFwKCkgb24gaW1wb3J0ZWQgQk9zLCB0aGF0 IG1lYW5zIHdlCj4gPiBuZWVkIGEgc29sdXRpb24gdG8gbW1hcCgpIHRoZSBkbWFidWYgb2JqZWN0 IGRpcmVjdGx5LCBhbmQgc29tZXRpbWVzIHRoaXMKPiA+IG1hcHBpbmcgd2lsbCByZXF1ZXN0IFJX IHBlcm1pc3Npb25zLiBUaGUgcHJvYmxlbSBpcywgYWxsIGZ1bmN0aW9uCj4gPiBleHBvcnRpbmcg Qk9zIGluIG1lc2EgYXJlIGV4cG9ydGluZyB0aGVtIGluIFJPLW1vZGUgKHJlc3VsdGluZyBGRCBp cwo+ID4gT19SRUFEKSwgdGh1cyBwcmV2ZW50aW5nIG1tYXAoKXMgaW4gUlcgbW9kZS4KPiA+Cj4g PiBUaGlzIHBhdGNoIG1vZGlmaWVzIGFsbAo+ID4gZHJtUHJpbWVIYW5kbGVUb0ZEKCkvaW9jdGwo RFJNX0lPQ1RMX1BSSU1FX0hBTkRMRV9UT19GRCkgY2FsbCBzaXRlcwo+ID4gdG8gcGFzcyB0aGUg RFJNX1JEV1IgZmxhZyBzbyB0aGF0IHdoYXQncyBkZXNjcmliZWQgYWJvdmUgYmVjb21lcwo+ID4g cG9zc2libGUuCj4gPgo+ID4gSSdtIG5vdCBzYXlpbmcgdGhpcyBpcyB3aGF0IHdlIHNob3VsZCBk bywgaXQncyBtb3JlIGEgd2F5IHRvIHN0YXJ0IHRoZQo+ID4gZGlzY3Vzc2lvbi4gRmVlbCBmcmVl IHRvIHByb3Bvc2UgYWx0ZXJuaXZlcyB0byB0aGlzIHNvbHV0aW9uLgo+ID4KPiA+IFsxXWh0dHBz Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4 LmdpdC90cmVlL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmM/aD12NS4yLXJjNyNuMzE4Cj4gPiBb Ml1odHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2RybS9kcm0tbWlzYy9jb21taXQvZHJpdmVy cy9ncHUvZHJtL3BhbmZyb3N0P2lkPTU4M2JiZjQ2MTMzYzcyNmJhZTI3N2U4ZjRlMzJiZmJhMmE1 MjhjN2YKPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXpp bGxvbkBjb2xsYWJvcmEuY29tPgo+ID4gQ2M6IDxkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnPgo+ID4gQ2M6IDxtZXNhLWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmc+Cj4gPiBDYzogU3Rl dmVuIFByaWNlIDxzdGV2ZW4ucHJpY2VAYXJtLmNvbT4KPiA+IENjOiBSb2IgSGVycmluZyA8cm9i aEBrZXJuZWwub3JnPgo+ID4gLS0tCj4gPiBDYy1pbmcgZHJpLWRldmVsIGlzIG5vdCBhIG1pc3Rh a2UsIEkgcmVhbGx5IHRvIGhhdmUgZmVlZGJhY2sgZnJvbSB0aGUgRFJNCj4gPiBtYWludGFpbmVy cywgc2luY2UgdGhpcyBzdGFydGVkIHdpdGggYSBrZXJuZWwtc2lkZSBjaGFuZ2UuCj4gPiAtLS0K PiA+ICBzcmMvZXRuYXZpdi9kcm0vZXRuYXZpdl9iby5jICAgICAgICAgICAgICAgICAgICAgIHwg NCArKy0tCj4gPiAgc3JjL2ZyZWVkcmVuby9kcm0vZnJlZWRyZW5vX2JvLmMgICAgICAgICAgICAg ICAgICB8IDQgKystLQo+ID4gIHNyYy9mcmVlZHJlbm8vdnVsa2FuL3R1X2RybS5jICAgICAgICAg ICAgICAgICAgICAgfCAyICstCj4gPiAgc3JjL2dhbGxpdW0vYXV4aWxpYXJ5L3JlbmRlcm9ubHkv cmVuZGVyb25seS5jICAgICB8IDIgKy0KPiA+ICBzcmMvZ2FsbGl1bS9kcml2ZXJzL2lyaXMvaXJp c19idWZtZ3IuYyAgICAgICAgICAgIHwgMiArLQo+ID4gIHNyYy9nYWxsaXVtL2RyaXZlcnMvbGlt YS9saW1hX2JvLmMgICAgICAgICAgICAgICAgfCAyICstCj4gPiAgc3JjL2dhbGxpdW0vZHJpdmVy cy9wYW5mcm9zdC9wYW5fZHJtLmMgICAgICAgICAgICB8IDIgKy0KPiA+ICBzcmMvZ2FsbGl1bS9k cml2ZXJzL3YzZC92M2RfYnVmbWdyLmMgICAgICAgICAgICAgIHwgMiArLQo+ID4gIHNyYy9nYWxs aXVtL2RyaXZlcnMvdmM0L3ZjNF9idWZtZ3IuYyAgICAgICAgICAgICAgfCAyICstCj4gPiAgc3Jj L2dhbGxpdW0vd2luc3lzL3JhZGVvbi9kcm0vcmFkZW9uX2RybV9iby5jICAgICB8IDMgKystCj4g PiAgc3JjL2dhbGxpdW0vd2luc3lzL3N2Z2EvZHJtL3Ztd19zY3JlZW5fZHJpLmMgICAgICB8IDUg KysrLS0KPiA+ICBzcmMvZ2FsbGl1bS93aW5zeXMvc3cva21zLWRyaS9rbXNfZHJpX3N3X3dpbnN5 cy5jIHwgMiArLQo+ID4gIHNyYy9nYWxsaXVtL3dpbnN5cy92aXJnbC9kcm0vdmlyZ2xfZHJtX3dp bnN5cy5jICAgfCAzICsrLQo+ID4gIHNyYy9pbnRlbC92dWxrYW4vYW52X2dlbS5jICAgICAgICAg ICAgICAgICAgICAgICAgfCAyICstCj4gPiAgc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndf YnVmbWdyLmMgICAgICAgICAgICB8IDIgKy0KPiA+ICAxNSBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNl cnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvc3JjL2V0bmF2 aXYvZHJtL2V0bmF2aXZfYm8uYyBiL3NyYy9ldG5hdml2L2RybS9ldG5hdml2X2JvLmMKPiA+IGlu ZGV4IDZlOTUyZmE0Nzg1OC4uOTI2MzQxNDFiNTgwIDEwMDY0NAo+ID4gLS0tIGEvc3JjL2V0bmF2 aXYvZHJtL2V0bmF2aXZfYm8uYwo+ID4gKysrIGIvc3JjL2V0bmF2aXYvZHJtL2V0bmF2aXZfYm8u Ywo+ID4gQEAgLTI5NCw4ICsyOTQsOCBAQCBpbnQgZXRuYV9ib19kbWFidWYoc3RydWN0IGV0bmFf Ym8gKmJvKQo+ID4gIHsKPiA+ICAgICAgICAgaW50IHJldCwgcHJpbWVfZmQ7Cj4gPgo+ID4gLSAg ICAgICByZXQgPSBkcm1QcmltZUhhbmRsZVRvRkQoYm8tPmRldi0+ZmQsIGJvLT5oYW5kbGUsIERS TV9DTE9FWEVDLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpbWVfZmQp Owo+ID4gKyAgICAgICByZXQgPSBkcm1QcmltZUhhbmRsZVRvRkQoYm8tPmRldi0+ZmQsIGJvLT5o YW5kbGUsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fQ0xPRVhFQyB8 IERSTV9SRFdSLCAmcHJpbWVfZmQpOwo+ID4gICAgICAgICBpZiAocmV0KSB7Cj4gPiAgICAgICAg ICAgICAgICAgRVJST1JfTVNHKCJmYWlsZWQgdG8gZ2V0IGRtYWJ1ZiBmZDogJWQiLCByZXQpOwo+ ID4gICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiBkaWZmIC0tZ2l0IGEvc3JjL2ZyZWVk cmVuby9kcm0vZnJlZWRyZW5vX2JvLmMgYi9zcmMvZnJlZWRyZW5vL2RybS9mcmVlZHJlbm9fYm8u Ywo+ID4gaW5kZXggNzQ0OTE2MGYxMzcxLi5iYTE5YjA4ZDdjNTQgMTAwNjQ0Cj4gPiAtLS0gYS9z cmMvZnJlZWRyZW5vL2RybS9mcmVlZHJlbm9fYm8uYwo+ID4gKysrIGIvc3JjL2ZyZWVkcmVuby9k cm0vZnJlZWRyZW5vX2JvLmMKPiA+IEBAIC0zMTgsOCArMzE4LDggQEAgaW50IGZkX2JvX2RtYWJ1 ZihzdHJ1Y3QgZmRfYm8gKmJvKQo+ID4gIHsKPiA+ICAgICAgICAgaW50IHJldCwgcHJpbWVfZmQ7 Cj4gPgo+ID4gLSAgICAgICByZXQgPSBkcm1QcmltZUhhbmRsZVRvRkQoYm8tPmRldi0+ZmQsIGJv LT5oYW5kbGUsIERSTV9DTE9FWEVDLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgJnByaW1l X2ZkKTsKPiA+ICsgICAgICAgcmV0ID0gZHJtUHJpbWVIYW5kbGVUb0ZEKGJvLT5kZXYtPmZkLCBi by0+aGFuZGxlLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0NMT0VY RUMgfCBEUk1fUkRXUiwgJnByaW1lX2ZkKTsKPiA+ICAgICAgICAgaWYgKHJldCkgewo+ID4gICAg ICAgICAgICAgICAgIEVSUk9SX01TRygiZmFpbGVkIHRvIGdldCBkbWFidWYgZmQ6ICVkIiwgcmV0 KTsKPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4gZGlmZiAtLWdpdCBhL3NyYy9m cmVlZHJlbm8vdnVsa2FuL3R1X2RybS5jIGIvc3JjL2ZyZWVkcmVuby92dWxrYW4vdHVfZHJtLmMK PiA+IGluZGV4IDliMmU2Zjc4ODc5ZS4uNmJlZjMwMTJkZGI1IDEwMDY0NAo+ID4gLS0tIGEvc3Jj L2ZyZWVkcmVuby92dWxrYW4vdHVfZHJtLmMKPiA+ICsrKyBiL3NyYy9mcmVlZHJlbm8vdnVsa2Fu L3R1X2RybS5jCj4gPiBAQCAtMTQ3LDcgKzE0Nyw3IEBAIHR1X2dlbV9leHBvcnRfZG1hYnVmKGNv bnN0IHN0cnVjdCB0dV9kZXZpY2UgKmRldiwgdWludDMyX3QgZ2VtX2hhbmRsZSkKPiA+ICB7Cj4g PiAgICAgaW50IHByaW1lX2ZkOwo+ID4gICAgIGludCByZXQgPSBkcm1QcmltZUhhbmRsZVRvRkQo ZGV2LT5waHlzaWNhbF9kZXZpY2UtPmxvY2FsX2ZkLCBnZW1faGFuZGxlLAo+ID4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0NMT0VYRUMsICZwcmltZV9mZCk7Cj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fQ0xPRVhFQyB8IERSTV9SRFdSLCAmcHJp bWVfZmQpOwo+ID4KPiA+ICAgICByZXR1cm4gcmV0ID09IDAgPyBwcmltZV9mZCA6IC0xOwo+ID4g IH0KPiA+IGRpZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvcmVuZGVyb25seS9yZW5k ZXJvbmx5LmMgYi9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvcmVuZGVyb25seS9yZW5kZXJvbmx5LmMK PiA+IGluZGV4IGQ2YTM0NDAwOTM3OC4uYzFjYzMxMTE1MTA1IDEwMDY0NAo+ID4gLS0tIGEvc3Jj L2dhbGxpdW0vYXV4aWxpYXJ5L3JlbmRlcm9ubHkvcmVuZGVyb25seS5jCj4gPiArKysgYi9zcmMv Z2FsbGl1bS9hdXhpbGlhcnkvcmVuZGVyb25seS9yZW5kZXJvbmx5LmMKPiA+IEBAIC0xMDEsNyAr MTAxLDcgQEAgcmVuZGVyb25seV9jcmVhdGVfa21zX2R1bWJfYnVmZmVyX2Zvcl9yZXNvdXJjZShz dHJ1Y3QgcGlwZV9yZXNvdXJjZSAqcnNjLAo+ID4gICAgIG91dF9oYW5kbGUtPnR5cGUgPSBXSU5T WVNfSEFORExFX1RZUEVfRkQ7Cj4gPiAgICAgb3V0X2hhbmRsZS0+c3RyaWRlID0gY3JlYXRlX2R1 bWIucGl0Y2g7Cj4gPgo+ID4gLSAgIGVyciA9IGRybVByaW1lSGFuZGxlVG9GRChyby0+a21zX2Zk LCBjcmVhdGVfZHVtYi5oYW5kbGUsIE9fQ0xPRVhFQywKPiA+ICsgICBlcnIgPSBkcm1QcmltZUhh bmRsZVRvRkQocm8tPmttc19mZCwgY3JlYXRlX2R1bWIuaGFuZGxlLCBPX0NMT0VYRUMgfCBPX1JE V1IsCj4gPiAgICAgICAgICAgKGludCAqKSZvdXRfaGFuZGxlLT5oYW5kbGUpOwo+ID4gICAgIGlm IChlcnIgPCAwKSB7Cj4gPiAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gZXhwb3J0 IGR1bWIgYnVmZmVyOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKPiA+IGRpZmYgLS1naXQgYS9z cmMvZ2FsbGl1bS9kcml2ZXJzL2lyaXMvaXJpc19idWZtZ3IuYyBiL3NyYy9nYWxsaXVtL2RyaXZl cnMvaXJpcy9pcmlzX2J1Zm1nci5jCj4gPiBpbmRleCBkODA5NDU4MjQwOTguLjY4ZTVkOGE4YmIx MyAxMDA2NDQKPiA+IC0tLSBhL3NyYy9nYWxsaXVtL2RyaXZlcnMvaXJpcy9pcmlzX2J1Zm1nci5j Cj4gPiArKysgYi9zcmMvZ2FsbGl1bS9kcml2ZXJzL2lyaXMvaXJpc19idWZtZ3IuYwo+ID4gQEAg LTEzNjksNyArMTM2OSw3IEBAIGlyaXNfYm9fZXhwb3J0X2RtYWJ1ZihzdHJ1Y3QgaXJpc19ibyAq Ym8sIGludCAqcHJpbWVfZmQpCj4gPiAgICAgaXJpc19ib19tYWtlX2V4dGVybmFsKGJvKTsKPiA+ Cj4gPiAgICAgaWYgKGRybVByaW1lSGFuZGxlVG9GRChidWZtZ3ItPmZkLCBiby0+Z2VtX2hhbmRs ZSwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9DTE9FWEVDLCBwcmltZV9mZCkg IT0gMCkKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9DTE9FWEVDIHwgRFJNX1JE V1IsIHByaW1lX2ZkKSAhPSAwKQo+ID4gICAgICAgIHJldHVybiAtZXJybm87Cj4gPgo+ID4gICAg IGJvLT5yZXVzYWJsZSA9IGZhbHNlOwo+ID4gZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVtL2RyaXZl cnMvbGltYS9saW1hX2JvLmMgYi9zcmMvZ2FsbGl1bS9kcml2ZXJzL2xpbWEvbGltYV9iby5jCj4g PiBpbmRleCAxZDZkZDcyMDYwMmEuLmRmMDExNGZjNjdlZCAxMDA2NDQKPiA+IC0tLSBhL3NyYy9n YWxsaXVtL2RyaXZlcnMvbGltYS9saW1hX2JvLmMKPiA+ICsrKyBiL3NyYy9nYWxsaXVtL2RyaXZl cnMvbGltYS9saW1hX2JvLmMKPiA+IEBAIC0yMDUsNyArMjA1LDcgQEAgYm9vbCBsaW1hX2JvX2V4 cG9ydChzdHJ1Y3QgbGltYV9ibyAqYm8sIHN0cnVjdCB3aW5zeXNfaGFuZGxlICpoYW5kbGUpCj4g PiAgICAgICAgcmV0dXJuIHRydWU7Cj4gPgo+ID4gICAgIGNhc2UgV0lOU1lTX0hBTkRMRV9UWVBF X0ZEOgo+ID4gLSAgICAgIGlmIChkcm1QcmltZUhhbmRsZVRvRkQoc2NyZWVuLT5mZCwgYm8tPmhh bmRsZSwgRFJNX0NMT0VYRUMsCj4gPiArICAgICAgaWYgKGRybVByaW1lSGFuZGxlVG9GRChzY3Jl ZW4tPmZkLCBiby0+aGFuZGxlLCBEUk1fQ0xPRVhFQyB8IERSTV9SRFdSLAo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGludCopJmhhbmRsZS0+aGFuZGxlKSkKPiA+ICAgICAgICAg ICByZXR1cm4gZmFsc2U7Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVtL2RyaXZlcnMv cGFuZnJvc3QvcGFuX2RybS5jIGIvc3JjL2dhbGxpdW0vZHJpdmVycy9wYW5mcm9zdC9wYW5fZHJt LmMKPiA+IGluZGV4IDhkZTRmNDgzNDM1Yy4uYTA4NjU3NWM0NTNhIDEwMDY0NAo+ID4gLS0tIGEv c3JjL2dhbGxpdW0vZHJpdmVycy9wYW5mcm9zdC9wYW5fZHJtLmMKPiA+ICsrKyBiL3NyYy9nYWxs aXVtL2RyaXZlcnMvcGFuZnJvc3QvcGFuX2RybS5jCj4gPiBAQCAtMTgxLDcgKzE4MSw3IEBAIHBh bmZyb3N0X2RybV9leHBvcnRfYm8oc3RydWN0IHBhbmZyb3N0X3NjcmVlbiAqc2NyZWVuLCBjb25z dCBzdHJ1Y3QgcGFuZnJvc3RfYm8KPiA+ICB7Cj4gPiAgICAgICAgICBzdHJ1Y3QgZHJtX3ByaW1l X2hhbmRsZSBhcmdzID0gewo+ID4gICAgICAgICAgICAgICAgICAuaGFuZGxlID0gYm8tPmdlbV9o YW5kbGUsCj4gPiAtICAgICAgICAgICAgICAgIC5mbGFncyA9IERSTV9DTE9FWEVDLAo+ID4gKyAg ICAgICAgICAgICAgICAuZmxhZ3MgPSBEUk1fQ0xPRVhFQyB8IERSTV9SRFdSLAo+ID4gICAgICAg ICAgfTsKPiA+Cj4gPiAgICAgICAgICBpbnQgcmV0ID0gZHJtSW9jdGwoc2NyZWVuLT5mZCwgRFJN X0lPQ1RMX1BSSU1FX0hBTkRMRV9UT19GRCwgJmFyZ3MpOwo+ID4gZGlmZiAtLWdpdCBhL3NyYy9n YWxsaXVtL2RyaXZlcnMvdjNkL3YzZF9idWZtZ3IuYyBiL3NyYy9nYWxsaXVtL2RyaXZlcnMvdjNk L3YzZF9idWZtZ3IuYwo+ID4gaW5kZXggZjBkZjFiOTgzNzM3Li4wYzc4OTk0ZDg5OWYgMTAwNjQ0 Cj4gPiAtLS0gYS9zcmMvZ2FsbGl1bS9kcml2ZXJzL3YzZC92M2RfYnVmbWdyLmMKPiA+ICsrKyBi L3NyYy9nYWxsaXVtL2RyaXZlcnMvdjNkL3YzZF9idWZtZ3IuYwo+ID4gQEAgLTQyNCw3ICs0MjQs NyBAQCB2M2RfYm9fZ2V0X2RtYWJ1ZihzdHJ1Y3QgdjNkX2JvICpibykKPiA+ICB7Cj4gPiAgICAg ICAgICBpbnQgZmQ7Cj4gPiAgICAgICAgICBpbnQgcmV0ID0gZHJtUHJpbWVIYW5kbGVUb0ZEKGJv LT5zY3JlZW4tPmZkLCBiby0+aGFuZGxlLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPX0NMT0VYRUMsICZmZCk7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERSTV9DTE9FWEVDIHwgRFJNX1JEV1IsICZmZCk7Cj4gPiAgICAgICAgICBp ZiAocmV0ICE9IDApIHsKPiA+ICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWls ZWQgdG8gZXhwb3J0IGdlbSBibyAlZCB0byBkbWFidWZcbiIsCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgYm8tPmhhbmRsZSk7Cj4gPiBkaWZmIC0tZ2l0IGEvc3JjL2dhbGxpdW0vZHJpdmVy cy92YzQvdmM0X2J1Zm1nci5jIGIvc3JjL2dhbGxpdW0vZHJpdmVycy92YzQvdmM0X2J1Zm1nci5j Cj4gPiBpbmRleCA3MTZjYTUwZWEwNjkuLmM3ZTg5YjZhNTE3ZSAxMDA2NDQKPiA+IC0tLSBhL3Ny Yy9nYWxsaXVtL2RyaXZlcnMvdmM0L3ZjNF9idWZtZ3IuYwo+ID4gKysrIGIvc3JjL2dhbGxpdW0v ZHJpdmVycy92YzQvdmM0X2J1Zm1nci5jCj4gPiBAQCAtNDYyLDcgKzQ2Miw3IEBAIHZjNF9ib19n ZXRfZG1hYnVmKHN0cnVjdCB2YzRfYm8gKmJvKQo+ID4gIHsKPiA+ICAgICAgICAgIGludCBmZDsK PiA+ICAgICAgICAgIGludCByZXQgPSBkcm1QcmltZUhhbmRsZVRvRkQoYm8tPnNjcmVlbi0+ZmQs IGJvLT5oYW5kbGUsCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9f Q0xPRVhFQywgJmZkKTsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RFJNX0NMT0VYRUMgfCBEUk1fUkRXUiwgJmZkKTsKPiA+ICAgICAgICAgIGlmIChyZXQgIT0gMCkg ewo+ID4gICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBleHBvcnQg Z2VtIGJvICVkIHRvIGRtYWJ1ZlxuIiwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICBiby0+ aGFuZGxlKTsKPiA+IGRpZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS93aW5zeXMvcmFkZW9uL2RybS9y YWRlb25fZHJtX2JvLmMgYi9zcmMvZ2FsbGl1bS93aW5zeXMvcmFkZW9uL2RybS9yYWRlb25fZHJt X2JvLmMKPiA+IGluZGV4IGQxZTJhODY4NWJhOS4uYWU3OTU4YThiODkyIDEwMDY0NAo+ID4gLS0t IGEvc3JjL2dhbGxpdW0vd2luc3lzL3JhZGVvbi9kcm0vcmFkZW9uX2RybV9iby5jCj4gPiArKysg Yi9zcmMvZ2FsbGl1bS93aW5zeXMvcmFkZW9uL2RybS9yYWRlb25fZHJtX2JvLmMKPiA+IEBAIC0x MzIwLDcgKzEzMjAsOCBAQCBzdGF0aWMgYm9vbCByYWRlb25fd2luc3lzX2JvX2dldF9oYW5kbGUo c3RydWN0IHBiX2J1ZmZlciAqYnVmZmVyLAo+ID4gICAgICB9IGVsc2UgaWYgKHdoYW5kbGUtPnR5 cGUgPT0gV0lOU1lTX0hBTkRMRV9UWVBFX0tNUykgewo+ID4gICAgICAgICAgd2hhbmRsZS0+aGFu ZGxlID0gYm8tPmhhbmRsZTsKPiA+ICAgICAgfSBlbHNlIGlmICh3aGFuZGxlLT50eXBlID09IFdJ TlNZU19IQU5ETEVfVFlQRV9GRCkgewo+ID4gLSAgICAgICAgaWYgKGRybVByaW1lSGFuZGxlVG9G RCh3cy0+ZmQsIGJvLT5oYW5kbGUsIERSTV9DTE9FWEVDLCAoaW50Kikmd2hhbmRsZS0+aGFuZGxl KSkKPiA+ICsgICAgICAgIGlmIChkcm1QcmltZUhhbmRsZVRvRkQod3MtPmZkLCBiby0+aGFuZGxl LCBEUk1fQ0xPRVhFQyB8IERSTV9SRFdSLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoaW50Kikmd2hhbmRsZS0+aGFuZGxlKSkKPiA+ICAgICAgICAgICAgICByZXR1cm4gZmFs c2U7Cj4gPiAgICAgIH0KPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvc3JjL2dhbGxpdW0vd2luc3lzL3N2 Z2EvZHJtL3Ztd19zY3JlZW5fZHJpLmMgYi9zcmMvZ2FsbGl1bS93aW5zeXMvc3ZnYS9kcm0vdm13 X3NjcmVlbl9kcmkuYwo+ID4gaW5kZXggYTg1ZWUxOGU0NWI5Li4yNGY2ZGRhYzA4OTAgMTAwNjQ0 Cj4gPiAtLS0gYS9zcmMvZ2FsbGl1bS93aW5zeXMvc3ZnYS9kcm0vdm13X3NjcmVlbl9kcmkuYwo+ ID4gKysrIGIvc3JjL2dhbGxpdW0vd2luc3lzL3N2Z2EvZHJtL3Ztd19zY3JlZW5fZHJpLmMKPiA+ IEBAIC0zNDUsOCArMzQ1LDkgQEAgdm13X2RybV9zdXJmYWNlX2dldF9oYW5kbGUoc3RydWN0IHN2 Z2Ffd2luc3lzX3NjcmVlbiAqc3dzLAo+ID4gICAgICAgICB3aGFuZGxlLT5oYW5kbGUgPSB2c3Jm LT5zaWQ7Cj4gPiAgICAgICAgIGJyZWFrOwo+ID4gICAgICBjYXNlIFdJTlNZU19IQU5ETEVfVFlQ RV9GRDoKPiA+IC0gICAgICAgcmV0ID0gZHJtUHJpbWVIYW5kbGVUb0ZEKHZ3cy0+aW9jdGwuZHJt X2ZkLCB2c3JmLT5zaWQsIERSTV9DTE9FWEVDLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoaW50ICopJndoYW5kbGUtPmhhbmRsZSk7Cj4gPiArICAgICAgIHJldCA9IGRybVBy aW1lSGFuZGxlVG9GRCh2d3MtPmlvY3RsLmRybV9mZCwgdnNyZi0+c2lkLAo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0NMT0VYRUMgfCBEUk1fUkRXUiwKPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQgKikmd2hhbmRsZS0+aGFuZGxlKTsKPiA+ ICAgICAgICAgaWYgKHJldCkgewo+ID4gICAgICAgICAgIHZtd19lcnJvcigiRmFpbGVkIHRvIGdl dCBmaWxlIGRlc2NyaXB0b3IgZnJvbSBwcmltZS5cbiIpOwo+ID4gICAgICAgICAgIHJldHVybiBG QUxTRTsKPiA+IGRpZmYgLS1naXQgYS9zcmMvZ2FsbGl1bS93aW5zeXMvc3cva21zLWRyaS9rbXNf ZHJpX3N3X3dpbnN5cy5jIGIvc3JjL2dhbGxpdW0vd2luc3lzL3N3L2ttcy1kcmkva21zX2RyaV9z d193aW5zeXMuYwo+ID4gaW5kZXggZDliNDE3ZGM0ZGFkLi5jZTQ3ZTY2YWIxZTUgMTAwNjQ0Cj4g PiAtLS0gYS9zcmMvZ2FsbGl1bS93aW5zeXMvc3cva21zLWRyaS9rbXNfZHJpX3N3X3dpbnN5cy5j Cj4gPiArKysgYi9zcmMvZ2FsbGl1bS93aW5zeXMvc3cva21zLWRyaS9rbXNfZHJpX3N3X3dpbnN5 cy5jCj4gPiBAQCAtNDQ2LDcgKzQ0Niw3IEBAIGttc19zd19kaXNwbGF5dGFyZ2V0X2dldF9oYW5k bGUoc3RydWN0IHN3X3dpbnN5cyAqd2luc3lzLAo+ID4gICAgICAgIHJldHVybiBUUlVFOwo+ID4g ICAgIGNhc2UgV0lOU1lTX0hBTkRMRV9UWVBFX0ZEOgo+ID4gICAgICAgIGlmICghZHJtUHJpbWVI YW5kbGVUb0ZEKGttc19zdy0+ZmQsIGttc19zd19kdC0+aGFuZGxlLAo+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRFJNX0NMT0VYRUMsIChpbnQqKSZ3aGFuZGxlLT5oYW5kbGUpKSB7 Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fQ0xPRVhFQyB8IERSTV9SRFdS LCAoaW50Kikmd2hhbmRsZS0+aGFuZGxlKSkgewo+ID4gICAgICAgICAgIHdoYW5kbGUtPnN0cmlk ZSA9IHBsYW5lLT5zdHJpZGU7Cj4gPiAgICAgICAgICAgd2hhbmRsZS0+b2Zmc2V0ID0gcGxhbmUt Pm9mZnNldDsKPiA+ICAgICAgICAgICByZXR1cm4gVFJVRTsKPiA+IGRpZmYgLS1naXQgYS9zcmMv Z2FsbGl1bS93aW5zeXMvdmlyZ2wvZHJtL3ZpcmdsX2RybV93aW5zeXMuYyBiL3NyYy9nYWxsaXVt L3dpbnN5cy92aXJnbC9kcm0vdmlyZ2xfZHJtX3dpbnN5cy5jCj4gPiBpbmRleCA5ZWVjOTJmNTcz NjMuLjA3ZmFiMjczNWUyNSAxMDA2NDQKPiA+IC0tLSBhL3NyYy9nYWxsaXVtL3dpbnN5cy92aXJn bC9kcm0vdmlyZ2xfZHJtX3dpbnN5cy5jCj4gPiArKysgYi9zcmMvZ2FsbGl1bS93aW5zeXMvdmly Z2wvZHJtL3ZpcmdsX2RybV93aW5zeXMuYwo+ID4gQEAgLTQxOCw3ICs0MTgsOCBAQCBzdGF0aWMg Ym9vbGVhbiB2aXJnbF9kcm1fd2luc3lzX3Jlc291cmNlX2dldF9oYW5kbGUoc3RydWN0IHZpcmds X3dpbnN5cyAqcXdzLAo+ID4gICAgIH0gZWxzZSBpZiAod2hhbmRsZS0+dHlwZSA9PSBXSU5TWVNf SEFORExFX1RZUEVfS01TKSB7Cj4gPiAgICAgICAgd2hhbmRsZS0+aGFuZGxlID0gcmVzLT5ib19o YW5kbGU7Cj4gPiAgICAgfSBlbHNlIGlmICh3aGFuZGxlLT50eXBlID09IFdJTlNZU19IQU5ETEVf VFlQRV9GRCkgewo+ID4gLSAgICAgIGlmIChkcm1QcmltZUhhbmRsZVRvRkQocWR3cy0+ZmQsIHJl cy0+Ym9faGFuZGxlLCBEUk1fQ0xPRVhFQywgKGludCopJndoYW5kbGUtPmhhbmRsZSkpCj4gPiAr ICAgICAgaWYgKGRybVByaW1lSGFuZGxlVG9GRChxZHdzLT5mZCwgcmVzLT5ib19oYW5kbGUsIERS TV9DTE9FWEVDIHwgRFJNX1JEV1IsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo aW50Kikmd2hhbmRsZS0+aGFuZGxlKSkKPiA+ICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7Cj4g PiAgICAgICAgbXR4X2xvY2soJnFkd3MtPmJvX2hhbmRsZXNfbXV0ZXgpOwo+ID4gICAgICAgIHV0 aWxfaGFzaF90YWJsZV9zZXQocWR3cy0+Ym9faGFuZGxlcywgKHZvaWQgKikodWludHB0cl90KXJl cy0+Ym9faGFuZGxlLCByZXMpOwo+ID4gZGlmZiAtLWdpdCBhL3NyYy9pbnRlbC92dWxrYW4vYW52 X2dlbS5jIGIvc3JjL2ludGVsL3Z1bGthbi9hbnZfZ2VtLmMKPiA+IGluZGV4IDFiZGYwNDBjMWEz Ny4uOGYwNzkyODYzOGNlIDEwMDY0NAo+ID4gLS0tIGEvc3JjL2ludGVsL3Z1bGthbi9hbnZfZ2Vt LmMKPiA+ICsrKyBiL3NyYy9pbnRlbC92dWxrYW4vYW52X2dlbS5jCj4gPiBAQCAtMzk5LDcgKzM5 OSw3IEBAIGFudl9nZW1faGFuZGxlX3RvX2ZkKHN0cnVjdCBhbnZfZGV2aWNlICpkZXZpY2UsIHVp bnQzMl90IGdlbV9oYW5kbGUpCj4gPiAgewo+ID4gICAgIHN0cnVjdCBkcm1fcHJpbWVfaGFuZGxl IGFyZ3MgPSB7Cj4gPiAgICAgICAgLmhhbmRsZSA9IGdlbV9oYW5kbGUsCj4gPiAtICAgICAgLmZs YWdzID0gRFJNX0NMT0VYRUMsCj4gPiArICAgICAgLmZsYWdzID0gRFJNX0NMT0VYRUMgfCBEUk1f UkRXUiwKPiA+ICAgICB9Owo+ID4KPiA+ICAgICBpbnQgcmV0ID0gYW52X2lvY3RsKGRldmljZS0+ ZmQsIERSTV9JT0NUTF9QUklNRV9IQU5ETEVfVE9fRkQsICZhcmdzKTsKPiA+IGRpZmYgLS1naXQg YS9zcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuYyBiL3NyYy9tZXNhL2RyaXZl cnMvZHJpL2k5NjUvYnJ3X2J1Zm1nci5jCj4gPiBpbmRleCBhN2M2ODQwNjMxNTguLmVlNjM5ZDJj ZjIzYSAxMDA2NDQKPiA+IC0tLSBhL3NyYy9tZXNhL2RyaXZlcnMvZHJpL2k5NjUvYnJ3X2J1Zm1n ci5jCj4gPiArKysgYi9zcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuYwo+ID4g QEAgLTE0ODksNyArMTQ4OSw3IEBAIGJyd19ib19nZW1fZXhwb3J0X3RvX3ByaW1lKHN0cnVjdCBi cndfYm8gKmJvLCBpbnQgKnByaW1lX2ZkKQo+ID4gICAgIGJyd19ib19tYWtlX2V4dGVybmFsKGJv KTsKPiA+Cj4gPiAgICAgaWYgKGRybVByaW1lSGFuZGxlVG9GRChidWZtZ3ItPmZkLCBiby0+Z2Vt X2hhbmRsZSwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9DTE9FWEVDLCBwcmlt ZV9mZCkgIT0gMCkKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9DTE9FWEVDIHwg RFJNX1JEV1IsIHByaW1lX2ZkKSAhPSAwKQo+ID4gICAgICAgIHJldHVybiAtZXJybm87Cj4gPgo+ ID4gICAgIGJvLT5yZXVzYWJsZSA9IGZhbHNlOwo+ID4gLS0KPiA+IDIuMjEuMAo+ID4KPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApEYW5p ZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxv Zy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwptZXNhLWRldiBtYWlsaW5nIGxpc3QKbWVzYS1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbWVzYS1kZXY=