From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 03/12] dma-buf: lock the reservation object during (un)map_dma_buf v3 Date: Wed, 17 Apr 2019 16:08:04 +0200 Message-ID: <20190417140804.GD13337@phenom.ffwll.local> References: <20190416183841.1577-1-christian.koenig@amd.com> <20190416183841.1577-4-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190416183841.1577-4-christian.koenig-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Christian =?iso-8859-1?Q?K=F6nig?= Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, sumit.semwal-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org T24gVHVlLCBBcHIgMTYsIDIwMTkgYXQgMDg6Mzg6MzJQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5p ZyB3cm90ZToKPiBNYWtlIGl0IG1hbmRhdG9yeSBmb3IgZHluYW1pYyBkbWEtYnVmIGNhbGxiYWNr cyB0byBiZSBjYWxsZWQgd2l0aCB0aGUKPiByZXNlcnZhdGlvbiBsb2NrIGhlbGQuCj4gCj4gRm9y IHN0YXRpYyBkbWEtYnVmIGV4cG9ydGVycyB3ZSBzdGlsbCBoYXZlIHRoZSBmYWxsYmFjayBvZiB1 c2luZyBjYWNoZWQgc2d0Lgo+IAo+IHYyOiByZW9yZGVyZWQKPiB2MzogcmViYXNlZCBvbiBzZ3Qg Y2FjaGluZwo+IHY0OiB1c2UgdGhlIGNhY2hlZCBzZ3Qgd2hlbiBwb3NzaWJsZQo+IAo+IFNpZ25l ZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KCkkg dGhpbmsgdGhlcmUncyBhIGJpdCBhIHJlYmFzZSBjaGFvcyBnb2luZyBvbjoKLSBzb21lIGNvbW1l bnRzIGxlZnQgYmVoaW5kIHdpdGggbm9fc2d0X2NhY2hlLCB3aGljaCBJIGNhbid0IGZpbmQgYW55 bW9yZQotIHRoZSBmdW5jdGlvbiBzaWduYXR1cmUgcmV3b3JrIG9mIGRtYV9idWZfYXR0YWNoIHNo b3VsZCBpbW8gYmUgc3BsaXQgb3V0CgpOZXh0IGlzc3VlIGlzIHRoYXQgdGhlIHJlc2VydmF0aW9u IG9iamVjdCBsb2NraW5nIGlzIHN0aWxsIGluIHRoZSBwYXRoIG9mCmRtYV9idWZfbWFwLCBzbyBw cm9iYWJseSBzdGlsbCBnb2luZyB0byByZXN1bHQgaW4gdG9ucyBvZiBsb2NrZGVwIHNwbGF0cy4K RXhjZXB0IHRoZSBpOTE1K2FtZGdwdSBwYXRoIHNob3VsZCBub3cgd29yayBkdWUgdG8gdGhlIGZh c3RwYXRoLgoKTm90IHN1cmUgdGhhdCdzIGEgc29sdXRpb24gdGhhdCByZWFsbHkgd29ya3MsIGp1 c3QgaGlkZXMgdGhhdApmdW5kYW1lbnRhbGx5IHdlIHN0aWxsIGhhdmUgdGhhdCBpc3N1ZSBvZiBp bmNvbXBhdGlibGUgbG9ja2luZyBjaGFpbnMKYmV0d2VlbiBkaWZmZXJlbnQgZHJpdmVycy4KLURh bmllbAoKPiAtLS0KPiAgZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyAgICAgICAgICAgICAgICAg ICAgIHwgMjQgKysrKysrKysrKy0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2Fy bWFkYV9nZW0uYyAgICAgICAgICAgfCAgNiArKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3By aW1lLmMgICAgICAgICAgICAgICAgICAgfCAgNiArKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9kbWFidWYuYyAgICAgICAgfCAgNiArKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0v dGVncmEvZ2VtLmMgICAgICAgICAgICAgICAgICAgfCAgNiArKysrLQo+ICBkcml2ZXJzL2dwdS9k cm0vdWRsL3VkbF9kbWFidWYuYyAgICAgICAgICAgICAgfCAgNiArKysrLQo+ICAuLi4vY29tbW9u L3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jICAgfCAgNiArKysrLQo+ICAuLi4vbWVk aWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLXNnLmMgfCAgNiArKysrLQo+ICBkcml2 ZXJzL3N0YWdpbmcvbWVkaWEvdGVncmEtdmRlL3RlZ3JhLXZkZS5jICAgfCAgNiArKysrLQo+ICBp bmNsdWRlL2xpbnV4L2RtYS1idWYuaCAgICAgICAgICAgICAgICAgICAgICAgfCAyMyArKysrKysr KysrKysrKysrLS0KPiAgMTAgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgMjEgZGVs ZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVmLmMgYi9k cml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jCj4gaW5kZXggZWY0ODBlNWZiMjM5Li44M2M5MmJmZDk2 NGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYwo+ICsrKyBiL2RyaXZl cnMvZG1hLWJ1Zi9kbWEtYnVmLmMKPiBAQCAtNTMyLDggKzUzMiw5IEBAIEVYUE9SVF9TWU1CT0xf R1BMKGRtYV9idWZfcHV0KTsKPiAgLyoqCj4gICAqIGRtYV9idWZfYXR0YWNoIC0gQWRkIHRoZSBk ZXZpY2UgdG8gZG1hX2J1ZidzIGF0dGFjaG1lbnRzIGxpc3Q7IG9wdGlvbmFsbHksCj4gICAqIGNh bGxzIGF0dGFjaCgpIG9mIGRtYV9idWZfb3BzIHRvIGFsbG93IGRldmljZS1zcGVjaWZpYyBhdHRh Y2ggZnVuY3Rpb25hbGl0eQo+IC0gKiBAZG1hYnVmOglbaW5dCWJ1ZmZlciB0byBhdHRhY2ggZGV2 aWNlIHRvLgo+IC0gKiBAZGV2OglbaW5dCWRldmljZSB0byBiZSBhdHRhY2hlZC4KPiArICogQGlu Zm86CVtpbl0JaG9sZHMgYWxsIHRoZSBhdHRhY2ggcmVsYXRlZCBpbmZvcm1hdGlvbiBwcm92aWRl ZAo+ICsgKgkJCWJ5IHRoZSBpbXBvcnRlci4gc2VlICZzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5m bwo+ICsgKgkJCWZvciBmdXJ0aGVyIGRldGFpbHMuCj4gICAqCj4gICAqIFJldHVybnMgc3RydWN0 IGRtYV9idWZfYXR0YWNobWVudCBwb2ludGVyIGZvciB0aGlzIGF0dGFjaG1lbnQuIEF0dGFjaG1l bnRzCj4gICAqIG11c3QgYmUgY2xlYW5lZCB1cCBieSBjYWxsaW5nIGRtYV9idWZfZGV0YWNoKCku Cj4gQEAgLTU0NywyMCArNTQ4LDIwIEBAIEVYUE9SVF9TWU1CT0xfR1BMKGRtYV9idWZfcHV0KTsK PiAgICogYWNjZXNzaWJsZSB0byBAZGV2LCBhbmQgY2Fubm90IGJlIG1vdmVkIHRvIGEgbW9yZSBz dWl0YWJsZSBwbGFjZS4gVGhpcyBpcwo+ICAgKiBpbmRpY2F0ZWQgd2l0aCB0aGUgZXJyb3IgY29k ZSAtRUJVU1kuCj4gICAqLwo+IC1zdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICpkbWFfYnVmX2F0 dGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAo+IC0JCQkJCSAgc3RydWN0IGRldmljZSAqZGV2 KQo+ICtzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICpkbWFfYnVmX2F0dGFjaChjb25zdCBzdHJ1 Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyAqaW5mbykKPiAgewo+ICsJc3RydWN0IGRtYV9idWYgKmRt YWJ1ZiA9IGluZm8tPmRtYWJ1ZjsKPiAgCXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFj aDsKPiAgCWludCByZXQ7Cj4gIAo+IC0JaWYgKFdBUk5fT04oIWRtYWJ1ZiB8fCAhZGV2KSkKPiAr CWlmIChXQVJOX09OKCFkbWFidWYgfHwgIWluZm8tPmRldikpCj4gIAkJcmV0dXJuIEVSUl9QVFIo LUVJTlZBTCk7Cj4gIAo+ICAJYXR0YWNoID0ga3phbGxvYyhzaXplb2YoKmF0dGFjaCksIEdGUF9L RVJORUwpOwo+ICAJaWYgKCFhdHRhY2gpCj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4g IAo+IC0JYXR0YWNoLT5kZXYgPSBkZXY7Cj4gKwlhdHRhY2gtPmRldiA9IGluZm8tPmRldjsKPiAg CWF0dGFjaC0+ZG1hYnVmID0gZG1hYnVmOwo+ICAKPiAgCW11dGV4X2xvY2soJmRtYWJ1Zi0+bG9j ayk7Cj4gQEAgLTY4OCw5ICs2ODksOSBAQCBzdHJ1Y3Qgc2dfdGFibGUgKmRtYV9idWZfbWFwX2F0 dGFjaG1lbnQoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAo+ICAJaWYgKGF0dGFj aC0+c2d0KQo+ICAJCXJldHVybiBhdHRhY2gtPnNndDsKPiAgCj4gLQlzZ190YWJsZSA9IGF0dGFj aC0+ZG1hYnVmLT5vcHMtPm1hcF9kbWFfYnVmKGF0dGFjaCwgZGlyZWN0aW9uKTsKPiAtCWlmICgh c2dfdGFibGUpCj4gLQkJc2dfdGFibGUgPSBFUlJfUFRSKC1FTk9NRU0pOwo+ICsJcmVzZXJ2YXRp b25fb2JqZWN0X2xvY2soYXR0YWNoLT5kbWFidWYtPnJlc3YsIE5VTEwpOwo+ICsJc2dfdGFibGUg PSBkbWFfYnVmX21hcF9hdHRhY2htZW50X2xvY2tlZChhdHRhY2gsIGRpcmVjdGlvbik7Cj4gKwly ZXNlcnZhdGlvbl9vYmplY3RfdW5sb2NrKGF0dGFjaC0+ZG1hYnVmLT5yZXN2KTsKPiAgCj4gIAly ZXR1cm4gc2dfdGFibGU7Cj4gIH0KPiBAQCAtNzQ0LDggKzc0NSw5IEBAIHZvaWQgZG1hX2J1Zl91 bm1hcF9hdHRhY2htZW50KHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKPiAgCWlm IChhdHRhY2gtPnNndCA9PSBzZ190YWJsZSkKPiAgCQlyZXR1cm47Cj4gIAo+IC0JYXR0YWNoLT5k bWFidWYtPm9wcy0+dW5tYXBfZG1hX2J1ZihhdHRhY2gsIHNnX3RhYmxlLAo+IC0JCQkJCQlkaXJl Y3Rpb24pOwo+ICsJcmVzZXJ2YXRpb25fb2JqZWN0X2xvY2soYXR0YWNoLT5kbWFidWYtPnJlc3Ys IE5VTEwpOwo+ICsJZG1hX2J1Zl91bm1hcF9hdHRhY2htZW50X2xvY2tlZChhdHRhY2gsIHNnX3Rh YmxlLCBkaXJlY3Rpb24pOwo+ICsJcmVzZXJ2YXRpb25fb2JqZWN0X3VubG9jayhhdHRhY2gtPmRt YWJ1Zi0+cmVzdik7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTF9HUEwoZG1hX2J1Zl91bm1hcF9hdHRh Y2htZW50KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRh X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmMKPiBpbmRleCA2NDJk MGU3MGQwZjguLjE5YzQ3ODIxMDMyZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJt YWRhL2FybWFkYV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dl bS5jCj4gQEAgLTUwMSw2ICs1MDEsMTAgQEAgYXJtYWRhX2dlbV9wcmltZV9leHBvcnQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCj4gIHN0cnVjdCBk cm1fZ2VtX29iamVjdCAqCj4gIGFybWFkYV9nZW1fcHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkbWFfYnVmICpidWYpCj4gIHsKPiArCXN0cnVjdCBkbWFfYnVmX2F0 dGFjaF9pbmZvIGF0dGFjaF9pbmZvID0gewo+ICsJCS5kZXYgPSBkZXYtPmRldiwKPiArCQkuZG1h YnVmID0gYnVmCj4gKwl9Owo+ICAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoOwo+ ICAJc3RydWN0IGFybWFkYV9nZW1fb2JqZWN0ICpkb2JqOwo+ICAKPiBAQCAtNTE2LDcgKzUyMCw3 IEBAIGFybWFkYV9nZW1fcHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVj dCBkbWFfYnVmICpidWYpCj4gIAkJfQo+ICAJfQo+ICAKPiAtCWF0dGFjaCA9IGRtYV9idWZfYXR0 YWNoKGJ1ZiwgZGV2LT5kZXYpOwo+ICsJYXR0YWNoID0gZG1hX2J1Zl9hdHRhY2goJmF0dGFjaF9p bmZvKTsKPiAgCWlmIChJU19FUlIoYXR0YWNoKSkKPiAgCQlyZXR1cm4gRVJSX0NBU1QoYXR0YWNo KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fcHJpbWUuYwo+IGluZGV4IDIzMWUzZjZkNWY0MS4uMWZhZGY1ZDVlZDMz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fcHJpbWUuYwo+IEBAIC03MDksNiArNzA5LDEwIEBAIHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqZHJtX2dlbV9wcmltZV9pbXBvcnRfZGV2KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gIAkJCQkJICAgIHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+ICAJCQkJCSAgICBzdHJ1 Y3QgZGV2aWNlICphdHRhY2hfZGV2KQo+ICB7Cj4gKwlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5m byBhdHRhY2hfaW5mbyA9IHsKPiArCQkuZGV2ID0gYXR0YWNoX2RldiwKPiArCQkuZG1hYnVmID0g ZG1hX2J1Zgo+ICsJfTsKPiAgCXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaDsKPiAg CXN0cnVjdCBzZ190YWJsZSAqc2d0Owo+ICAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7Cj4g QEAgLTcyOSw3ICs3MzMsNyBAQCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmRybV9nZW1fcHJpbWVf aW1wb3J0X2RldihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJaWYgKCFkZXYtPmRyaXZlci0+ Z2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZSkKPiAgCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsK PiAgCj4gLQlhdHRhY2ggPSBkbWFfYnVmX2F0dGFjaChkbWFfYnVmLCBhdHRhY2hfZGV2KTsKPiAr CWF0dGFjaCA9IGRtYV9idWZfYXR0YWNoKCZhdHRhY2hfaW5mbyk7Cj4gIAlpZiAoSVNfRVJSKGF0 dGFjaCkpCj4gIAkJcmV0dXJuIEVSUl9DQVNUKGF0dGFjaCk7Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jCj4gaW5kZXggODJlMmNhMTdhNDQxLi5hYTdmNjg1YmQ2Y2Eg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYwo+IEBAIC0yNzcsNiAr Mjc3LDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgaTkx NV9nZW1fb2JqZWN0X2RtYWJ1Zl9vcHMgPSB7Cj4gIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqaTkx NV9nZW1fcHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkJICAgICBz dHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZikKPiAgewo+ICsJc3RydWN0IGRtYV9idWZfYXR0YWNoX2lu Zm8gYXR0YWNoX2luZm8gPSB7Cj4gKwkJLmRldiA9IGRldi0+ZGV2LAo+ICsJCS5kbWFidWYgPSBk bWFfYnVmCj4gKwl9Owo+ICAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoOwo+ICAJ c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAgCWludCByZXQ7Cj4gQEAgLTI5NSw3 ICsyOTksNyBAQCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmk5MTVfZ2VtX3ByaW1lX2ltcG9ydChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJfQo+ICAKPiAgCS8qIG5lZWQgdG8gYXR0YWNoICov Cj4gLQlhdHRhY2ggPSBkbWFfYnVmX2F0dGFjaChkbWFfYnVmLCBkZXYtPmRldik7Cj4gKwlhdHRh Y2ggPSBkbWFfYnVmX2F0dGFjaCgmYXR0YWNoX2luZm8pOwo+ICAJaWYgKElTX0VSUihhdHRhY2gp KQo+ICAJCXJldHVybiBFUlJfQ0FTVChhdHRhY2gpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCj4gaW5k ZXggNGY4MDEwMGZmNWYzLi44ZTZiNmM4NzlhZGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3RlZ3JhL2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCj4gQEAg LTMzMiw2ICszMzIsMTAgQEAgc3RydWN0IHRlZ3JhX2JvICp0ZWdyYV9ib19jcmVhdGVfd2l0aF9o YW5kbGUoc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICBzdGF0aWMgc3RydWN0IHRlZ3JhX2JvICp0 ZWdyYV9ib19pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKPiAgCQkJCQlzdHJ1Y3QgZG1h X2J1ZiAqYnVmKQo+ICB7Cj4gKwlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyBhdHRhY2hfaW5m byA9IHsKPiArCQkuZGV2ID0gZHJtLT5kZXYsCj4gKwkJLmRtYWJ1ZiA9IGJ1Zgo+ICsJfTsKPiAg CXN0cnVjdCB0ZWdyYV9kcm0gKnRlZ3JhID0gZHJtLT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBk bWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaDsKPiAgCXN0cnVjdCB0ZWdyYV9ibyAqYm87Cj4gQEAg LTM0MSw3ICszNDUsNyBAQCBzdGF0aWMgc3RydWN0IHRlZ3JhX2JvICp0ZWdyYV9ib19pbXBvcnQo c3RydWN0IGRybV9kZXZpY2UgKmRybSwKPiAgCWlmIChJU19FUlIoYm8pKQo+ICAJCXJldHVybiBi bzsKPiAgCj4gLQlhdHRhY2ggPSBkbWFfYnVmX2F0dGFjaChidWYsIGRybS0+ZGV2KTsKPiArCWF0 dGFjaCA9IGRtYV9idWZfYXR0YWNoKCZhdHRhY2hfaW5mbyk7Cj4gIAlpZiAoSVNfRVJSKGF0dGFj aCkpIHsKPiAgCQllcnIgPSBQVFJfRVJSKGF0dGFjaCk7Cj4gIAkJZ290byBmcmVlOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS91ZGwvdWRsX2RtYWJ1Zi5jCj4gaW5kZXggNTU2ZjYyNjYyYWE5Li44NmI5MjhmOTc0MmYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZG1hYnVmLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdWRsL3VkbF9kbWFidWYuYwo+IEBAIC0yMjYsNiArMjI2LDEwIEBAIHN0YXRp YyBpbnQgdWRsX3ByaW1lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICBzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKnVkbF9nZW1fcHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gIAkJCQlzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZikKPiAgewo+ICsJc3RydWN0IGRtYV9i dWZfYXR0YWNoX2luZm8gYXR0YWNoX2luZm8gPSB7Cj4gKwkJLmRldiA9IGRldi0+ZGV2LAo+ICsJ CS5kbWFidWYgPSBkbWFfYnVmCj4gKwl9Owo+ICAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAq YXR0YWNoOwo+ICAJc3RydWN0IHNnX3RhYmxlICpzZzsKPiAgCXN0cnVjdCB1ZGxfZ2VtX29iamVj dCAqdW9iajsKPiBAQCAtMjMzLDcgKzIzNyw3IEBAIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqdWRs X2dlbV9wcmltZV9pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4gIAkvKiBuZWVk IHRvIGF0dGFjaCAqLwo+ICAJZ2V0X2RldmljZShkZXYtPmRldik7Cj4gLQlhdHRhY2ggPSBkbWFf YnVmX2F0dGFjaChkbWFfYnVmLCBkZXYtPmRldik7Cj4gKwlhdHRhY2ggPSBkbWFfYnVmX2F0dGFj aCgmYXR0YWNoX2luZm8pOwo+ICAJaWYgKElTX0VSUihhdHRhY2gpKSB7Cj4gIAkJcHV0X2Rldmlj ZShkZXYtPmRldik7Cj4gIAkJcmV0dXJuIEVSUl9DQVNUKGF0dGFjaCk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jIGIv ZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtY29udGlnLmMKPiBp bmRleCBhZmYwYWI3YmY4M2QuLjFmMjY4N2I1ZWIwZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21l ZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWRtYS1jb250aWcuYwo+ICsrKyBiL2RyaXZl cnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jCj4gQEAgLTY3 Niw2ICs2NzYsMTAgQEAgc3RhdGljIHZvaWQgdmIyX2RjX2RldGFjaF9kbWFidWYodm9pZCAqbWVt X3ByaXYpCj4gIHN0YXRpYyB2b2lkICp2YjJfZGNfYXR0YWNoX2RtYWJ1ZihzdHJ1Y3QgZGV2aWNl ICpkZXYsIHN0cnVjdCBkbWFfYnVmICpkYnVmLAo+ICAJdW5zaWduZWQgbG9uZyBzaXplLCBlbnVt IGRtYV9kYXRhX2RpcmVjdGlvbiBkbWFfZGlyKQo+ICB7Cj4gKwlzdHJ1Y3QgZG1hX2J1Zl9hdHRh Y2hfaW5mbyBhdHRhY2hfaW5mbyA9IHsKPiArCQkuZGV2ID0gZGV2LAo+ICsJCS5kbWFidWYgPSBk YnVmCj4gKwl9Owo+ICAJc3RydWN0IHZiMl9kY19idWYgKmJ1ZjsKPiAgCXN0cnVjdCBkbWFfYnVm X2F0dGFjaG1lbnQgKmRiYTsKPiAgCj4gQEAgLTY5MSw3ICs2OTUsNyBAQCBzdGF0aWMgdm9pZCAq dmIyX2RjX2F0dGFjaF9kbWFidWYoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZG1hX2J1ZiAq ZGJ1ZiwKPiAgCj4gIAlidWYtPmRldiA9IGRldjsKPiAgCS8qIGNyZWF0ZSBhdHRhY2htZW50IGZv ciB0aGUgZG1hYnVmIHdpdGggdGhlIHVzZXIgZGV2aWNlICovCj4gLQlkYmEgPSBkbWFfYnVmX2F0 dGFjaChkYnVmLCBidWYtPmRldik7Cj4gKwlkYmEgPSBkbWFfYnVmX2F0dGFjaCgmYXR0YWNoX2lu Zm8pOwo+ICAJaWYgKElTX0VSUihkYmEpKSB7Cj4gIAkJcHJfZXJyKCJmYWlsZWQgdG8gYXR0YWNo IGRtYWJ1ZlxuIik7Cj4gIAkJa2ZyZWUoYnVmKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtc2cuYyBiL2RyaXZlcnMvbWVkaWEvY29t bW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLXNnLmMKPiBpbmRleCAwMTVlNzM3MDk1Y2QuLmNi ZDYyNmQyMzkzYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIv dmlkZW9idWYyLWRtYS1zZy5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYy L3ZpZGVvYnVmMi1kbWEtc2cuYwo+IEBAIC02MDgsNiArNjA4LDEwIEBAIHN0YXRpYyB2b2lkIHZi Ml9kbWFfc2dfZGV0YWNoX2RtYWJ1Zih2b2lkICptZW1fcHJpdikKPiAgc3RhdGljIHZvaWQgKnZi Ml9kbWFfc2dfYXR0YWNoX2RtYWJ1ZihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkbWFfYnVm ICpkYnVmLAo+ICAJdW5zaWduZWQgbG9uZyBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBk bWFfZGlyKQo+ICB7Cj4gKwlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyBhdHRhY2hfaW5mbyA9 IHsKPiArCQkuZGV2ID0gZGV2LAo+ICsJCS5kbWFidWYgPSBkYnVmCj4gKwl9Owo+ICAJc3RydWN0 IHZiMl9kbWFfc2dfYnVmICpidWY7Cj4gIAlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICpkYmE7 Cj4gIAo+IEBAIC02MjMsNyArNjI3LDcgQEAgc3RhdGljIHZvaWQgKnZiMl9kbWFfc2dfYXR0YWNo X2RtYWJ1ZihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkbWFfYnVmICpkYnVmLAo+ICAKPiAg CWJ1Zi0+ZGV2ID0gZGV2Owo+ICAJLyogY3JlYXRlIGF0dGFjaG1lbnQgZm9yIHRoZSBkbWFidWYg d2l0aCB0aGUgdXNlciBkZXZpY2UgKi8KPiAtCWRiYSA9IGRtYV9idWZfYXR0YWNoKGRidWYsIGJ1 Zi0+ZGV2KTsKPiArCWRiYSA9IGRtYV9idWZfYXR0YWNoKCZhdHRhY2hfaW5mbyk7Cj4gIAlpZiAo SVNfRVJSKGRiYSkpIHsKPiAgCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggZG1hYnVmXG4iKTsK PiAgCQlrZnJlZShidWYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvdGVn cmEtdmRlL3RlZ3JhLXZkZS5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL3RlZ3JhLXZkZS90ZWdy YS12ZGUuYwo+IGluZGV4IGFhNmM2YmJhOTYxZS4uNWExMGMxZmFjYzI3IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvc3RhZ2luZy9tZWRpYS90ZWdyYS12ZGUvdGVncmEtdmRlLmMKPiArKysgYi9kcml2 ZXJzL3N0YWdpbmcvbWVkaWEvdGVncmEtdmRlL3RlZ3JhLXZkZS5jCj4gQEAgLTU2OCw2ICs1Njgs MTAgQEAgc3RhdGljIGludCB0ZWdyYV92ZGVfYXR0YWNoX2RtYWJ1ZihzdHJ1Y3QgZGV2aWNlICpk ZXYsCj4gIAkJCQkgICBzaXplX3QgKnNpemUsCj4gIAkJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVj dGlvbiBkbWFfZGlyKQo+ICB7Cj4gKwlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyBhdHRhY2hf aW5mbyA9IHsKPiArCQkuZGV2ID0gZGV2LAo+ICsJCS5kbWFidWYgPSBkbWFidWYKPiArCX07Cj4g IAlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2htZW50Owo+ICAJc3RydWN0IGRtYV9i dWYgKmRtYWJ1ZjsKPiAgCXN0cnVjdCBzZ190YWJsZSAqc2d0Owo+IEBAIC01OTEsNyArNTk1LDcg QEAgc3RhdGljIGludCB0ZWdyYV92ZGVfYXR0YWNoX2RtYWJ1ZihzdHJ1Y3QgZGV2aWNlICpkZXYs Cj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAl9Cj4gIAo+IC0JYXR0YWNobWVudCA9IGRtYV9idWZf YXR0YWNoKGRtYWJ1ZiwgZGV2KTsKPiArCWF0dGFjaG1lbnQgPSBkbWFfYnVmX2F0dGFjaCgmYXR0 YWNoX2luZm8pOwo+ICAJaWYgKElTX0VSUihhdHRhY2htZW50KSkgewo+ICAJCWRldl9lcnIoZGV2 LCAiRmFpbGVkIHRvIGF0dGFjaCBkbWFidWZcbiIpOwo+ICAJCWVyciA9IFBUUl9FUlIoYXR0YWNo bWVudCk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZG1hLWJ1Zi5oIGIvaW5jbHVkZS9s aW51eC9kbWEtYnVmLmgKPiBpbmRleCAxOGE3OGJlNTM1NDEuLjdlMjM3NThkYjNhNCAxMDA2NDQK PiAtLS0gYS9pbmNsdWRlL2xpbnV4L2RtYS1idWYuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvZG1h LWJ1Zi5oCj4gQEAgLTEyOCw2ICsxMjgsOSBAQCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgewo+ICAJICog YW55IG90aGVyIGtpbmQgb2Ygc2hhcmluZyB0aGF0IHRoZSBleHBvcnRlciBtaWdodCB3aXNoIHRv IG1ha2UKPiAgCSAqIGF2YWlsYWJsZSB0byBidWZmZXItdXNlcnMuCj4gIAkgKgo+ICsJICogVGhp cyBpcyBhbHdheXMgY2FsbGVkIHdpdGggdGhlIGRtYWJ1Zi0+cmVzdiBvYmplY3QgbG9ja2VkIHdo ZW4KPiArCSAqIG5vX3NndF9jYWNoZSBpcyB0cnVlLgo+ICsJICoKPiAgCSAqIFJldHVybnM6Cj4g IAkgKgo+ICAJICogQSAmc2dfdGFibGUgc2NhdHRlciBsaXN0IG9mIG9yIHRoZSBiYWNraW5nIHN0 b3JhZ2Ugb2YgdGhlIERNQSBidWZmZXIsCj4gQEAgLTE0OCw2ICsxNTEsOSBAQCBzdHJ1Y3QgZG1h X2J1Zl9vcHMgewo+ICAJICogSXQgc2hvdWxkIGFsc28gdW5waW4gdGhlIGJhY2tpbmcgc3RvcmFn ZSBpZiB0aGlzIGlzIHRoZSBsYXN0IG1hcHBpbmcKPiAgCSAqIG9mIHRoZSBETUEgYnVmZmVyLCBp dCB0aGUgZXhwb3J0ZXIgc3VwcG9ydHMgYmFja2luZyBzdG9yYWdlCj4gIAkgKiBtaWdyYXRpb24u Cj4gKwkgKgo+ICsJICogVGhpcyBpcyBhbHdheXMgY2FsbGVkIHdpdGggdGhlIGRtYWJ1Zi0+cmVz diBvYmplY3QgbG9ja2VkIHdoZW4KPiArCSAqIG5vX3NndF9jYWNoZSBpcyB0cnVlLgo+ICAJICov Cj4gIAl2b2lkICgqdW5tYXBfZG1hX2J1Zikoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqLAo+ ICAJCQkgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKiwKPiBAQCAtMzcwLDYgKzM3NiwxOSBAQCBzdHJ1 Y3QgZG1hX2J1Zl9leHBvcnRfaW5mbyB7Cj4gIAlzdHJ1Y3QgZG1hX2J1Zl9leHBvcnRfaW5mbyBu YW1lID0geyAuZXhwX25hbWUgPSBLQlVJTERfTU9ETkFNRSwgXAo+ICAJCQkJCSAub3duZXIgPSBU SElTX01PRFVMRSB9Cj4gIAo+ICsvKioKPiArICogc3RydWN0IGRtYV9idWZfYXR0YWNoX2luZm8g LSBob2xkcyBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gYXR0YWNoIHRvIGEgZG1hX2J1Zgo+ICsgKiBA ZG1hYnVmOgl0aGUgZXhwb3J0ZWQgZG1hX2J1Zgo+ICsgKiBAZGV2Ogl0aGUgZGV2aWNlIHdoaWNo IHdhbnRzIHRvIGltcG9ydCB0aGUgYXR0YWNobWVudAo+ICsgKgo+ICsgKiBUaGlzIHN0cnVjdHVy ZSBob2xkcyB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gYXR0YWNoIHRvIGEgYnVmZmVyLiBV c2VkCj4gKyAqIHdpdGggZG1hX2J1Zl9hdHRhY2goKSBvbmx5Lgo+ICsgKi8KPiArc3RydWN0IGRt YV9idWZfYXR0YWNoX2luZm8gewo+ICsJc3RydWN0IGRtYV9idWYgKmRtYWJ1ZjsKPiArCXN0cnVj dCBkZXZpY2UgKmRldjsKPiArfTsKPiArCj4gIC8qKgo+ICAgKiBnZXRfZG1hX2J1ZiAtIGNvbnZl bmllbmNlIHdyYXBwZXIgZm9yIGdldF9maWxlLgo+ICAgKiBAZG1hYnVmOglbaW5dCXBvaW50ZXIg dG8gZG1hX2J1Zgo+IEBAIC0zODQsOCArNDAzLDggQEAgc3RhdGljIGlubGluZSB2b2lkIGdldF9k bWFfYnVmKHN0cnVjdCBkbWFfYnVmICpkbWFidWYpCj4gIAlnZXRfZmlsZShkbWFidWYtPmZpbGUp Owo+ICB9Cj4gIAo+IC1zdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICpkbWFfYnVmX2F0dGFjaChz dHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAo+IC0JCQkJCQkJc3RydWN0IGRldmljZSAqZGV2KTsKPiAr c3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqCj4gK2RtYV9idWZfYXR0YWNoKGNvbnN0IHN0cnVj dCBkbWFfYnVmX2F0dGFjaF9pbmZvICppbmZvKTsKPiAgdm9pZCBkbWFfYnVmX2RldGFjaChzdHJ1 Y3QgZG1hX2J1ZiAqZG1hYnVmLAo+ICAJCQkJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqZG1h YnVmX2F0dGFjaCk7Cj4gIAo+IC0tIAo+IDIuMTcuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGlu ZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==