From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 4/5] drm/amdgpu: remove adev pointer from struct amdgpu_bo Date: Thu, 29 Sep 2016 12:39:25 -0400 Message-ID: References: <1473945024-8275-1-git-send-email-deathsimple@vodafone.de> <1473945024-8275-4-git-send-email-deathsimple@vodafone.de> <9a954630-b832-f596-ff48-90b24fc3600c@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <9a954630-b832-f596-ff48-90b24fc3600c-ANTagKRnAhcb1SvskN2V4Q@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: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: amd-gfx list T24gVGh1LCBTZXAgMjksIDIwMTYgYXQgNDowNSBBTSwgQ2hyaXN0aWFuIEvDtm5pZwo8ZGVhdGhz aW1wbGVAdm9kYWZvbmUuZGU+IHdyb3RlOgo+IEFtIDE1LjA5LjIwMTYgdW0gMjA6MzAgc2Nocmll YiBBbGV4IERldWNoZXI6Cj4+Cj4+IE9uIFRodSwgU2VwIDE1LCAyMDE2IGF0IDk6MTAgQU0sIENo cmlzdGlhbiBLw7ZuaWcKPj4gPGRlYXRoc2ltcGxlQHZvZGFmb25lLmRlPiB3cm90ZToKPj4+Cj4+ PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4+Pgo+ Pj4gSXQncyBjb21wbGV0ZWx5IHBvaW50c2xlc3MgdG8gaGF2ZSB0d28gcG9pbnRlcnMgdG8gdGhl Cj4+PiBkZXZpY2UgaW4gdGhlIHNhbWUgc3RydWN0dXIuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTog Q2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+Pj4gLS0tCj4+PiAg IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICAgICB8ICA2ICsrKy0KPj4+ ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgICAgIHwgMTAgKysrLS0t Cj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYyAgICB8ICA0ICst LQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW4uYyAgICAgfCAgNCAr LS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jIHwgNTAK Pj4+ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmggfCAgMyArLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgICAgfCAxNyArKystLS0tLS0tCj4+PiAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyAgICB8ICAyICstCj4+PiAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jICAgICB8ICAyICstCj4+PiAgIDkgZmlsZXMg Y2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4+PiBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4+PiBpbmRleCAzYjM5ODFkLi5lZDkxZjA4IDEw MDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4+PiBAQCAtNDY1LDcgKzQ2 NSw2IEBAIHN0cnVjdCBhbWRncHVfYm8gewo+Pj4gICAgICAgICAgICovCj4+PiAgICAgICAgICBz dHJ1Y3QgbGlzdF9oZWFkICAgICAgICAgICAgICAgIHZhOwo+Pj4gICAgICAgICAgLyogQ29uc3Rh bnQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gKi8KPj4+IC0gICAgICAgc3RydWN0IGFtZGdwdV9kZXZp Y2UgICAgICAgICAgICAqYWRldjsKPj4+ICAgICAgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAg ICAgICAgICAgZ2VtX2Jhc2U7Cj4+PiAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2JvICAgICAgICAg ICAgICAgICpwYXJlbnQ7Cj4+PiAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2JvICAgICAgICAgICAg ICAgICpzaGFkb3c7Cj4+PiBAQCAtMjE0NCw2ICsyMTQzLDExIEBAIHN0cnVjdCBhbWRncHVfZGV2 aWNlIHsKPj4+Cj4+PiAgIH07Cj4+Pgo+Pj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFtZGdwdV9nZXRfYWRldihzdHJ1Y3QgdHRtX2JvX2RldmljZQo+Pj4gKmJkZXYpCj4+ PiArewo+Pj4gKyAgICAgICByZXR1cm4gY29udGFpbmVyX29mKGJkZXYsIHN0cnVjdCBhbWRncHVf ZGV2aWNlLCBtbWFuLmJkZXYpOwo+Pj4gK30KPj4KPj4gTWF5YmUgY2FsbCB0aGlzIGFtZGdwdV90 dG1fZ2V0X2FkZXYoKSB0byBtYWtlIGl0IGNsZWFyIHRvIHRvIGdldCB0aGUKPj4gYWRldiBmcm9t IGEgdHRtIGJvIGRldmljZT8KPgo+Cj4gRG8geW91IGhhdmUgYSBzdHJvbmcgb3BpbmlvbiBvbiB0 aGlzPyBJIHRob3VnaHQgYWJvdXQgdGhhdCBhcyB3ZWxsLCBidXQgSQo+IGZpbmQgaXQgYSBiaXQg bG9uZyB0aGVuLiBFc3BlY2lhbGx5IGEgZmV3IGxpbmVzIHdvdWxkIHRoZW4gYmVjb21lIGxvbmdl cgo+IHRoYW4gODAgY2hhcmFjdGVycyBhZ2Fpbi4KCk15IG1haW4gY29uY2VybiBpcyBpZiB3ZSBl dmVyIGFkZCBhbm90aGVyIGFjY2Vzc29yIGZvciBhbiBhZGV2CmVtYmVkZGVkIGluIHNvbWV0aGlu ZyBlbHNlLiAgSG93IGFib3V0IGFtZGdwdV90dG1fdG9fYWRldigpIG9yCmFtZGdwdV90dG1fYWRl digpPwoKQWxleAoKPgo+IEkganVzdCBzZW5kIHRoZSBwYXRjaCBvdXQgd2l0aCBhIGJ1bmNoIG9m IG90aGVyIGNsZWFudXBzIGFzIHdlbGwsIHBsZWFzZQo+IHRha2UgYW5vdGhlciBsb29rLgo+Cj4g Q2hyaXN0aWFuLgo+Cj4KPj4KPj4gQWxleAo+Pgo+Pj4gKwo+Pj4gICBib29sIGFtZGdwdV9kZXZp Y2VfaXNfcHgoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+PiAgIGludCBhbWRncHVfZGV2aWNl X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4+PiAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiwKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfY3MuYwo+Pj4gaW5kZXggMTg3YzM2Ni4uNWJlYWI3MSAxMDA2NDQKPj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+Pj4gQEAgLTM1NSw2ICszNTUsNyBA QCBzdGF0aWMgdm9pZCBhbWRncHVfY3NfcmVwb3J0X21vdmVkX2J5dGVzKHN0cnVjdAo+Pj4gYW1k Z3B1X2RldmljZSAqYWRldiwKPj4+ICAgc3RhdGljIGludCBhbWRncHVfY3NfYm9fdmFsaWRhdGUo c3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGFtZGdwdV9ibyAqYm8pCj4+PiAgIHsKPj4+ICsgICAgICAgc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPnRiby5iZGV2KTsKPj4+ ICAgICAgICAgIHU2NCBpbml0aWFsX2J5dGVzX21vdmVkOwo+Pj4gICAgICAgICAgdWludDMyX3Qg ZG9tYWluOwo+Pj4gICAgICAgICAgaW50IHI7Cj4+PiBAQCAtMzcyLDkgKzM3Myw5IEBAIHN0YXRp YyBpbnQgYW1kZ3B1X2NzX2JvX3ZhbGlkYXRlKHN0cnVjdAo+Pj4gYW1kZ3B1X2NzX3BhcnNlciAq cCwKPj4+Cj4+PiAgIHJldHJ5Ogo+Pj4gICAgICAgICAgYW1kZ3B1X3R0bV9wbGFjZW1lbnRfZnJv bV9kb21haW4oYm8sIGRvbWFpbik7Cj4+PiAtICAgICAgIGluaXRpYWxfYnl0ZXNfbW92ZWQgPSBh dG9taWM2NF9yZWFkKCZiby0+YWRldi0+bnVtX2J5dGVzX21vdmVkKTsKPj4+ICsgICAgICAgaW5p dGlhbF9ieXRlc19tb3ZlZCA9IGF0b21pYzY0X3JlYWQoJmFkZXYtPm51bV9ieXRlc19tb3ZlZCk7 Cj4+PiAgICAgICAgICByID0gdHRtX2JvX3ZhbGlkYXRlKCZiby0+dGJvLCAmYm8tPnBsYWNlbWVu dCwgdHJ1ZSwgZmFsc2UpOwo+Pj4gLSAgICAgICBwLT5ieXRlc19tb3ZlZCArPSBhdG9taWM2NF9y ZWFkKCZiby0+YWRldi0+bnVtX2J5dGVzX21vdmVkKSAtCj4+PiArICAgICAgIHAtPmJ5dGVzX21v dmVkICs9IGF0b21pYzY0X3JlYWQoJmFkZXYtPm51bV9ieXRlc19tb3ZlZCkgLQo+Pj4gICAgICAg ICAgICAgICAgICBpbml0aWFsX2J5dGVzX21vdmVkOwo+Pj4KPj4+ICAgICAgICAgIGlmICh1bmxp a2VseShyID09IC1FTk9NRU0pICYmIGRvbWFpbiAhPSBiby0+YWxsb3dlZF9kb21haW5zKSB7Cj4+ PiBAQCAtNDAwLDYgKzQwMSw3IEBAIHN0YXRpYyBib29sIGFtZGdwdV9jc190cnlfZXZpY3Qoc3Ry dWN0Cj4+PiBhbWRncHVfY3NfcGFyc2VyICpwLAo+Pj4KPj4+ICAgICAgICAgICAgICAgICAgc3Ry dWN0IGFtZGdwdV9ib19saXN0X2VudHJ5ICpjYW5kaWRhdGUgPSBwLT5ldmljdGFibGU7Cj4+PiAg ICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfYm8gKmJvID0gY2FuZGlkYXRlLT5yb2JqOwo+ Pj4gKyAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0KPj4+IGFtZGdw dV9nZXRfYWRldihiby0+dGJvLmJkZXYpOwo+Pj4gICAgICAgICAgICAgICAgICB1NjQgaW5pdGlh bF9ieXRlc19tb3ZlZDsKPj4+ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgb3RoZXI7Cj4+Pgo+ Pj4gQEAgLTQyMCw5ICs0MjIsOSBAQCBzdGF0aWMgYm9vbCBhbWRncHVfY3NfdHJ5X2V2aWN0KHN0 cnVjdAo+Pj4gYW1kZ3B1X2NzX3BhcnNlciAqcCwKPj4+Cj4+PiAgICAgICAgICAgICAgICAgIC8q IEdvb2Qgd2UgY2FuIHRyeSB0byBtb3ZlIHRoaXMgQk8gc29tZXdoZXJlIGVsc2UgKi8KPj4+ICAg ICAgICAgICAgICAgICAgYW1kZ3B1X3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oYm8sIG90aGVy KTsKPj4+IC0gICAgICAgICAgICAgICBpbml0aWFsX2J5dGVzX21vdmVkID0KPj4+IGF0b21pYzY0 X3JlYWQoJmJvLT5hZGV2LT5udW1fYnl0ZXNfbW92ZWQpOwo+Pj4gKyAgICAgICAgICAgICAgIGlu aXRpYWxfYnl0ZXNfbW92ZWQgPQo+Pj4gYXRvbWljNjRfcmVhZCgmYWRldi0+bnVtX2J5dGVzX21v dmVkKTsKPj4+ICAgICAgICAgICAgICAgICAgciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRibywg JmJvLT5wbGFjZW1lbnQsIHRydWUsCj4+PiBmYWxzZSk7Cj4+PiAtICAgICAgICAgICAgICAgcC0+ Ynl0ZXNfbW92ZWQgKz0KPj4+IGF0b21pYzY0X3JlYWQoJmJvLT5hZGV2LT5udW1fYnl0ZXNfbW92 ZWQpIC0KPj4+ICsgICAgICAgICAgICAgICBwLT5ieXRlc19tb3ZlZCArPSBhdG9taWM2NF9yZWFk KCZhZGV2LT5udW1fYnl0ZXNfbW92ZWQpIC0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBp bml0aWFsX2J5dGVzX21vdmVkOwo+Pj4KPj4+ICAgICAgICAgICAgICAgICAgaWYgKHVubGlrZWx5 KHIpKQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9n ZW0uYwo+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKPj4+IGlu ZGV4IDcwZTI5NGIuLjQ4MGFlN2UgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZ2VtLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9nZW0uYwo+Pj4gQEAgLTEyMSw3ICsxMjEsNyBAQCBpbnQgYW1kZ3B1X2dlbV9vYmpl Y3Rfb3BlbihzdHJ1Y3QgZHJtX2dlbV9vYmplY3QKPj4+ICpvYmosCj4+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4+PiAgIHsKPj4+ICAg ICAgICAgIHN0cnVjdCBhbWRncHVfYm8gKnJibyA9IGdlbV90b19hbWRncHVfYm8ob2JqKTsKPj4+ IC0gICAgICAgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSByYm8tPmFkZXY7Cj4+PiArICAg ICAgIHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gYW1kZ3B1X2dldF9hZGV2KHJiby0+dGJv LmJkZXYpOwo+Pj4gICAgICAgICAgc3RydWN0IGFtZGdwdV9mcHJpdiAqZnByaXYgPSBmaWxlX3By aXYtPmRyaXZlcl9wcml2Owo+Pj4gICAgICAgICAgc3RydWN0IGFtZGdwdV92bSAqdm0gPSAmZnBy aXYtPnZtOwo+Pj4gICAgICAgICAgc3RydWN0IGFtZGdwdV9ib192YSAqYm9fdmE7Cj4+PiBAQCAt MTQ0LDcgKzE0NCw3IEBAIHZvaWQgYW1kZ3B1X2dlbV9vYmplY3RfY2xvc2Uoc3RydWN0IGRybV9n ZW1fb2JqZWN0Cj4+PiAqb2JqLAo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4+PiAgIHsKPj4+ICAgICAgICAgIHN0cnVjdCBhbWRn cHVfYm8gKmJvID0gZ2VtX3RvX2FtZGdwdV9ibyhvYmopOwo+Pj4gLSAgICAgICBzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiA9IGJvLT5hZGV2Owo+Pj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRldihiby0+dGJvLmJkZXYpOwo+Pj4gICAgICAgICAg c3RydWN0IGFtZGdwdV9mcHJpdiAqZnByaXYgPSBmaWxlX3ByaXYtPmRyaXZlcl9wcml2Owo+Pj4g ICAgICAgICAgc3RydWN0IGFtZGdwdV92bSAqdm0gPSAmZnByaXYtPnZtOwo+Pj4KPj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW4uYwo+Pj4gYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW4uYwo+Pj4gaW5kZXggMzJmYTdiNy4uNDcz MTIzMSAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9t bi5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW4uYwo+Pj4g QEAgLTI4NSw3ICsyODUsNyBAQCBmcmVlX3JtbjoKPj4+ICAgaW50IGFtZGdwdV9tbl9yZWdpc3Rl cihzdHJ1Y3QgYW1kZ3B1X2JvICpibywgdW5zaWduZWQgbG9uZyBhZGRyKQo+Pj4gICB7Cj4+PiAg ICAgICAgICB1bnNpZ25lZCBsb25nIGVuZCA9IGFkZHIgKyBhbWRncHVfYm9fc2l6ZShibykgLSAx Owo+Pj4gLSAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGJvLT5hZGV2Owo+Pj4g KyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRldihiby0+ dGJvLmJkZXYpOwo+Pj4gICAgICAgICAgc3RydWN0IGFtZGdwdV9tbiAqcm1uOwo+Pj4gICAgICAg ICAgc3RydWN0IGFtZGdwdV9tbl9ub2RlICpub2RlID0gTlVMTDsKPj4+ICAgICAgICAgIHN0cnVj dCBsaXN0X2hlYWQgYm9zOwo+Pj4gQEAgLTM0MCw3ICszNDAsNyBAQCBpbnQgYW1kZ3B1X21uX3Jl Z2lzdGVyKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1bnNpZ25lZAo+Pj4gbG9uZyBhZGRyKQo+Pj4g ICAgKi8KPj4+ICAgdm9pZCBhbWRncHVfbW5fdW5yZWdpc3RlcihzdHJ1Y3QgYW1kZ3B1X2JvICpi bykKPj4+ICAgewo+Pj4gLSAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGJvLT5h ZGV2Owo+Pj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV9nZXRf YWRldihiby0+dGJvLmJkZXYpOwo+Pj4gICAgICAgICAgc3RydWN0IGFtZGdwdV9tbiAqcm1uOwo+ Pj4gICAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCj4+PiBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwo+Pj4gaW5kZXggNDI4OWMzMS4uNWNi ZTgwMyAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9v YmplY3QuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVj dC5jCj4+PiBAQCAtOTAsMTggKzkwLDE5IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV91cGRhdGVfbWVt b3J5X3VzYWdlKHN0cnVjdAo+Pj4gYW1kZ3B1X2RldmljZSAqYWRldiwKPj4+Cj4+PiAgIHN0YXRp YyB2b2lkIGFtZGdwdV90dG1fYm9fZGVzdHJveShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKnRi bykKPj4+ICAgewo+Pj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdw dV9nZXRfYWRldih0Ym8tPmJkZXYpOwo+Pj4gICAgICAgICAgc3RydWN0IGFtZGdwdV9ibyAqYm87 Cj4+Pgo+Pj4gICAgICAgICAgYm8gPSBjb250YWluZXJfb2YodGJvLCBzdHJ1Y3QgYW1kZ3B1X2Jv LCB0Ym8pOwo+Pj4KPj4+IC0gICAgICAgYW1kZ3B1X3VwZGF0ZV9tZW1vcnlfdXNhZ2UoYm8tPmFk ZXYsICZiby0+dGJvLm1lbSwgTlVMTCk7Cj4+PiArICAgICAgIGFtZGdwdV91cGRhdGVfbWVtb3J5 X3VzYWdlKGFkZXYsICZiby0+dGJvLm1lbSwgTlVMTCk7Cj4+Pgo+Pj4gICAgICAgICAgZHJtX2dl bV9vYmplY3RfcmVsZWFzZSgmYm8tPmdlbV9iYXNlKTsKPj4+ICAgICAgICAgIGFtZGdwdV9ib191 bnJlZigmYm8tPnBhcmVudCk7Cj4+PiAgICAgICAgICBpZiAoIWxpc3RfZW1wdHkoJmJvLT5zaGFk b3dfbGlzdCkpIHsKPj4+IC0gICAgICAgICAgICAgICBtdXRleF9sb2NrKCZiby0+YWRldi0+c2hh ZG93X2xpc3RfbG9jayk7Cj4+PiArICAgICAgICAgICAgICAgbXV0ZXhfbG9jaygmYWRldi0+c2hh ZG93X2xpc3RfbG9jayk7Cj4+PiAgICAgICAgICAgICAgICAgIGxpc3RfZGVsX2luaXQoJmJvLT5z aGFkb3dfbGlzdCk7Cj4+PiAtICAgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZiby0+YWRldi0+ c2hhZG93X2xpc3RfbG9jayk7Cj4+PiArICAgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZhZGV2 LT5zaGFkb3dfbGlzdF9sb2NrKTsKPj4+ICAgICAgICAgIH0KPj4+ICAgICAgICAgIGtmcmVlKGJv LT5tZXRhZGF0YSk7Cj4+PiAgICAgICAgICBrZnJlZShibyk7Cj4+PiBAQCAtMjEyLDggKzIxMywx MCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfdHRtX3BsYWNlbWVudF9pbml0KHN0cnVjdAo+Pj4gYW1k Z3B1X2RldmljZSAqYWRldiwKPj4+Cj4+PiAgIHZvaWQgYW1kZ3B1X3R0bV9wbGFjZW1lbnRfZnJv bV9kb21haW4oc3RydWN0IGFtZGdwdV9ibyAqcmJvLCB1MzIKPj4+IGRvbWFpbikKPj4+ICAgewo+ Pj4gLSAgICAgICBhbWRncHVfdHRtX3BsYWNlbWVudF9pbml0KHJiby0+YWRldiwgJnJiby0+cGxh Y2VtZW50LAo+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJiby0+cGxhY2Vt ZW50cywgZG9tYWluLCByYm8tPmZsYWdzKTsKPj4+ICsgICAgICAgc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYocmJvLT50Ym8uYmRldik7Cj4+PiArCj4+PiArICAg ICAgIGFtZGdwdV90dG1fcGxhY2VtZW50X2luaXQoYWRldiwgJnJiby0+cGxhY2VtZW50LCByYm8t PnBsYWNlbWVudHMsCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWlu LCByYm8tPmZsYWdzKTsKPj4+ICAgfQo+Pj4KPj4+ICAgc3RhdGljIHZvaWQgYW1kZ3B1X2ZpbGxf cGxhY2VtZW50X3RvX2JvKHN0cnVjdCBhbWRncHVfYm8gKmJvLAo+Pj4gQEAgLTM1OSw3ICszNjIs NiBAQCBpbnQgYW1kZ3B1X2JvX2NyZWF0ZV9yZXN0cmljdGVkKHN0cnVjdCBhbWRncHVfZGV2aWNl Cj4+PiAqYWRldiwKPj4+ICAgICAgICAgICAgICAgICAga2ZyZWUoYm8pOwo+Pj4gICAgICAgICAg ICAgICAgICByZXR1cm4gcjsKPj4+ICAgICAgICAgIH0KPj4+IC0gICAgICAgYm8tPmFkZXYgPSBh ZGV2Owo+Pj4gICAgICAgICAgSU5JVF9MSVNUX0hFQUQoJmJvLT5zaGFkb3dfbGlzdCk7Cj4+PiAg ICAgICAgICBJTklUX0xJU1RfSEVBRCgmYm8tPnZhKTsKPj4+ICAgICAgICAgIGJvLT5wcmVmZXJl ZF9kb21haW5zID0gZG9tYWluICYgKEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0gfAo+Pj4gQEAgLTYy NCw2ICs2MjYsNyBAQCBpbnQgYW1kZ3B1X2JvX3Bpbl9yZXN0cmljdGVkKHN0cnVjdCBhbWRncHVf Ym8gKmJvLAo+Pj4gdTMyIGRvbWFpbiwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHU2NCBtaW5fb2Zmc2V0LCB1NjQgbWF4X29mZnNldCwKPj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHU2NCAqZ3B1X2FkZHIpCj4+PiAgIHsKPj4+ICsgICAgICAgc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPnRiby5iZGV2KTsKPj4+ICAgICAg ICAgIGludCByLCBpOwo+Pj4gICAgICAgICAgdW5zaWduZWQgZnBmbiwgbHBmbjsKPj4+Cj4+PiBA QCAtNjU5LDEyICs2NjIsMTIgQEAgaW50IGFtZGdwdV9ib19waW5fcmVzdHJpY3RlZChzdHJ1Y3Qg YW1kZ3B1X2JvICpibywKPj4+IHUzMiBkb21haW4sCj4+PiAgICAgICAgICAgICAgICAgIGlmICgo Ym8tPnBsYWNlbWVudHNbaV0uZmxhZ3MgJiBUVE1fUExfRkxBR19WUkFNKSAmJgo+Pj4gICAgICAg ICAgICAgICAgICAgICAgIShiby0+ZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9OT19DUFVfQUND RVNTKSAmJgo+Pj4gICAgICAgICAgICAgICAgICAgICAgKCFtYXhfb2Zmc2V0IHx8IG1heF9vZmZz ZXQgPgo+Pj4gLSAgICAgICAgICAgICAgICAgICAgYm8tPmFkZXYtPm1jLnZpc2libGVfdnJhbV9z aXplKSkgewo+Pj4gKyAgICAgICAgICAgICAgICAgICAgYWRldi0+bWMudmlzaWJsZV92cmFtX3Np emUpKSB7Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFdBUk5fT05fT05DRShtaW5f b2Zmc2V0ID4KPj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm8t PmFkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplKSkKPj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYWRldi0+bWMudmlzaWJsZV92cmFtX3NpemUpKQo+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgZnBmbiA9IG1pbl9vZmZzZXQgPj4gUEFHRV9TSElGVDsKPj4+IC0gICAg ICAgICAgICAgICAgICAgICAgIGxwZm4gPSBiby0+YWRldi0+bWMudmlzaWJsZV92cmFtX3NpemUg Pj4KPj4+IFBBR0VfU0hJRlQ7Cj4+PiArICAgICAgICAgICAgICAgICAgICAgICBscGZuID0gYWRl di0+bWMudmlzaWJsZV92cmFtX3NpemUgPj4gUEFHRV9TSElGVDsKPj4+ICAgICAgICAgICAgICAg ICAgfSBlbHNlIHsKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBmcGZuID0gbWluX29mZnNl dCA+PiBQQUdFX1NISUZUOwo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgIGxwZm4gPSBtYXhf b2Zmc2V0ID4+IFBBR0VfU0hJRlQ7Cj4+PiBAQCAtNjc5LDEyICs2ODIsMTIgQEAgaW50IGFtZGdw dV9ib19waW5fcmVzdHJpY3RlZChzdHJ1Y3QgYW1kZ3B1X2JvICpibywKPj4+IHUzMiBkb21haW4s Cj4+Pgo+Pj4gICAgICAgICAgciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRibywgJmJvLT5wbGFj ZW1lbnQsIGZhbHNlLCBmYWxzZSk7Cj4+PiAgICAgICAgICBpZiAodW5saWtlbHkocikpIHsKPj4+ IC0gICAgICAgICAgICAgICBkZXZfZXJyKGJvLT5hZGV2LT5kZXYsICIlcCBwaW4gZmFpbGVkXG4i LCBibyk7Cj4+PiArICAgICAgICAgICAgICAgZGV2X2VycihhZGV2LT5kZXYsICIlcCBwaW4gZmFp bGVkXG4iLCBibyk7Cj4+PiAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Cj4+PiAgICAgICAg ICB9Cj4+PiAgICAgICAgICByID0gYW1kZ3B1X3R0bV9iaW5kKCZiby0+dGJvLCAmYm8tPnRiby5t ZW0pOwo+Pj4gICAgICAgICAgaWYgKHVubGlrZWx5KHIpKSB7Cj4+PiAtICAgICAgICAgICAgICAg ZGV2X2Vycihiby0+YWRldi0+ZGV2LCAiJXAgYmluZCBmYWlsZWRcbiIsIGJvKTsKPj4+ICsgICAg ICAgICAgICAgICBkZXZfZXJyKGFkZXYtPmRldiwgIiVwIGJpbmQgZmFpbGVkXG4iLCBibyk7Cj4+ PiAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Cj4+PiAgICAgICAgICB9Cj4+Pgo+Pj4gQEAg LTY5MiwxMSArNjk1LDExIEBAIGludCBhbWRncHVfYm9fcGluX3Jlc3RyaWN0ZWQoc3RydWN0IGFt ZGdwdV9ibyAqYm8sCj4+PiB1MzIgZG9tYWluLAo+Pj4gICAgICAgICAgaWYgKGdwdV9hZGRyICE9 IE5VTEwpCj4+PiAgICAgICAgICAgICAgICAgICpncHVfYWRkciA9IGFtZGdwdV9ib19ncHVfb2Zm c2V0KGJvKTsKPj4+ICAgICAgICAgIGlmIChkb21haW4gPT0gQU1ER1BVX0dFTV9ET01BSU5fVlJB TSkgewo+Pj4gLSAgICAgICAgICAgICAgIGJvLT5hZGV2LT52cmFtX3Bpbl9zaXplICs9IGFtZGdw dV9ib19zaXplKGJvKTsKPj4+ICsgICAgICAgICAgICAgICBhZGV2LT52cmFtX3Bpbl9zaXplICs9 IGFtZGdwdV9ib19zaXplKGJvKTsKPj4+ICAgICAgICAgICAgICAgICAgaWYgKGJvLT5mbGFncyAm IEFNREdQVV9HRU1fQ1JFQVRFX05PX0NQVV9BQ0NFU1MpCj4+PiAtICAgICAgICAgICAgICAgICAg ICAgICBiby0+YWRldi0+aW52aXNpYmxlX3Bpbl9zaXplICs9Cj4+PiBhbWRncHVfYm9fc2l6ZShi byk7Cj4+PiArICAgICAgICAgICAgICAgICAgICAgICBhZGV2LT5pbnZpc2libGVfcGluX3NpemUg Kz0gYW1kZ3B1X2JvX3NpemUoYm8pOwo+Pj4gICAgICAgICAgfSBlbHNlIGlmIChkb21haW4gPT0g QU1ER1BVX0dFTV9ET01BSU5fR1RUKSB7Cj4+PiAtICAgICAgICAgICAgICAgYm8tPmFkZXYtPmdh cnRfcGluX3NpemUgKz0gYW1kZ3B1X2JvX3NpemUoYm8pOwo+Pj4gKyAgICAgICAgICAgICAgIGFk ZXYtPmdhcnRfcGluX3NpemUgKz0gYW1kZ3B1X2JvX3NpemUoYm8pOwo+Pj4gICAgICAgICAgfQo+ Pj4KPj4+ICAgZXJyb3I6Cj4+PiBAQCAtNzEwLDEwICs3MTMsMTEgQEAgaW50IGFtZGdwdV9ib19w aW4oc3RydWN0IGFtZGdwdV9ibyAqYm8sIHUzMiBkb21haW4sCj4+PiB1NjQgKmdwdV9hZGRyKQo+ Pj4KPj4+ICAgaW50IGFtZGdwdV9ib191bnBpbihzdHJ1Y3QgYW1kZ3B1X2JvICpibykKPj4+ICAg ewo+Pj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRl dihiby0+dGJvLmJkZXYpOwo+Pj4gICAgICAgICAgaW50IHIsIGk7Cj4+Pgo+Pj4gICAgICAgICAg aWYgKCFiby0+cGluX2NvdW50KSB7Cj4+PiAtICAgICAgICAgICAgICAgZGV2X3dhcm4oYm8tPmFk ZXYtPmRldiwgIiVwIHVucGluIG5vdCBuZWNlc3NhcnlcbiIsIGJvKTsKPj4+ICsgICAgICAgICAg ICAgICBkZXZfd2FybihhZGV2LT5kZXYsICIlcCB1bnBpbiBub3QgbmVjZXNzYXJ5XG4iLCBibyk7 Cj4+PiAgICAgICAgICAgICAgICAgIHJldHVybiAwOwo+Pj4gICAgICAgICAgfQo+Pj4gICAgICAg ICAgYm8tPnBpbl9jb3VudC0tOwo+Pj4gQEAgLTcyNSwxNiArNzI5LDE2IEBAIGludCBhbWRncHVf Ym9fdW5waW4oc3RydWN0IGFtZGdwdV9ibyAqYm8pCj4+PiAgICAgICAgICB9Cj4+PiAgICAgICAg ICByID0gdHRtX2JvX3ZhbGlkYXRlKCZiby0+dGJvLCAmYm8tPnBsYWNlbWVudCwgZmFsc2UsIGZh bHNlKTsKPj4+ICAgICAgICAgIGlmICh1bmxpa2VseShyKSkgewo+Pj4gLSAgICAgICAgICAgICAg IGRldl9lcnIoYm8tPmFkZXYtPmRldiwgIiVwIHZhbGlkYXRlIGZhaWxlZCBmb3IgdW5waW5cbiIs Cj4+PiBibyk7Cj4+PiArICAgICAgICAgICAgICAgZGV2X2VycihhZGV2LT5kZXYsICIlcCB2YWxp ZGF0ZSBmYWlsZWQgZm9yIHVucGluXG4iLCBibyk7Cj4+PiAgICAgICAgICAgICAgICAgIGdvdG8g ZXJyb3I7Cj4+PiAgICAgICAgICB9Cj4+Pgo+Pj4gICAgICAgICAgaWYgKGJvLT50Ym8ubWVtLm1l bV90eXBlID09IFRUTV9QTF9WUkFNKSB7Cj4+PiAtICAgICAgICAgICAgICAgYm8tPmFkZXYtPnZy YW1fcGluX3NpemUgLT0gYW1kZ3B1X2JvX3NpemUoYm8pOwo+Pj4gKyAgICAgICAgICAgICAgIGFk ZXYtPnZyYW1fcGluX3NpemUgLT0gYW1kZ3B1X2JvX3NpemUoYm8pOwo+Pj4gICAgICAgICAgICAg ICAgICBpZiAoYm8tPmZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfTk9fQ1BVX0FDQ0VTUykKPj4+ IC0gICAgICAgICAgICAgICAgICAgICAgIGJvLT5hZGV2LT5pbnZpc2libGVfcGluX3NpemUgLT0K Pj4+IGFtZGdwdV9ib19zaXplKGJvKTsKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGFkZXYt PmludmlzaWJsZV9waW5fc2l6ZSAtPSBhbWRncHVfYm9fc2l6ZShibyk7Cj4+PiAgICAgICAgICB9 IGVsc2UgaWYgKGJvLT50Ym8ubWVtLm1lbV90eXBlID09IFRUTV9QTF9UVCkgewo+Pj4gLSAgICAg ICAgICAgICAgIGJvLT5hZGV2LT5nYXJ0X3Bpbl9zaXplIC09IGFtZGdwdV9ib19zaXplKGJvKTsK Pj4+ICsgICAgICAgICAgICAgICBhZGV2LT5nYXJ0X3Bpbl9zaXplIC09IGFtZGdwdV9ib19zaXpl KGJvKTsKPj4+ICAgICAgICAgIH0KPj4+Cj4+PiAgIGVycm9yOgo+Pj4gQEAgLTg1OSw2ICs4NjMs NyBAQCBpbnQgYW1kZ3B1X2JvX2dldF9tZXRhZGF0YShzdHJ1Y3QgYW1kZ3B1X2JvICpibywgdm9p ZAo+Pj4gKmJ1ZmZlciwKPj4+ICAgdm9pZCBhbWRncHVfYm9fbW92ZV9ub3RpZnkoc3RydWN0IHR0 bV9idWZmZXJfb2JqZWN0ICpibywKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0pCj4+PiAgIHsKPj4+ICsgICAgICAgc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPmJkZXYpOwo+Pj4gICAgICAgICAg c3RydWN0IGFtZGdwdV9ibyAqcmJvOwo+Pj4gICAgICAgICAgc3RydWN0IHR0bV9tZW1fcmVnICpv bGRfbWVtID0gJmJvLT5tZW07Cj4+Pgo+Pj4gQEAgLTg2NiwyMSArODcxLDIxIEBAIHZvaWQgYW1k Z3B1X2JvX21vdmVfbm90aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdAo+Pj4gKmJvLAo+Pj4g ICAgICAgICAgICAgICAgICByZXR1cm47Cj4+Pgo+Pj4gICAgICAgICAgcmJvID0gY29udGFpbmVy X29mKGJvLCBzdHJ1Y3QgYW1kZ3B1X2JvLCB0Ym8pOwo+Pj4gLSAgICAgICBhbWRncHVfdm1fYm9f aW52YWxpZGF0ZShyYm8tPmFkZXYsIHJibyk7Cj4+PiArICAgICAgIGFtZGdwdV92bV9ib19pbnZh bGlkYXRlKGFkZXYsIHJibyk7Cj4+Pgo+Pj4gICAgICAgICAgLyogdXBkYXRlIHN0YXRpc3RpY3Mg Ki8KPj4+ICAgICAgICAgIGlmICghbmV3X21lbSkKPj4+ICAgICAgICAgICAgICAgICAgcmV0dXJu Owo+Pj4KPj4+ICAgICAgICAgIC8qIG1vdmVfbm90aWZ5IGlzIGNhbGxlZCBiZWZvcmUgbW92ZSBo YXBwZW5zICovCj4+PiAtICAgICAgIGFtZGdwdV91cGRhdGVfbWVtb3J5X3VzYWdlKHJiby0+YWRl diwgJmJvLT5tZW0sIG5ld19tZW0pOwo+Pj4gKyAgICAgICBhbWRncHVfdXBkYXRlX21lbW9yeV91 c2FnZShhZGV2LCAmYm8tPm1lbSwgbmV3X21lbSk7Cj4+Pgo+Pj4gICAgICAgICAgdHJhY2VfYW1k Z3B1X3R0bV9ib19tb3ZlKHJibywgbmV3X21lbS0+bWVtX3R5cGUsCj4+PiBvbGRfbWVtLT5tZW1f dHlwZSk7Cj4+PiAgIH0KPj4+Cj4+PiAgIGludCBhbWRncHVfYm9fZmF1bHRfcmVzZXJ2ZV9ub3Rp Znkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKPj4+ICAgewo+Pj4gLSAgICAgICBzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldjsKPj4+ICsgICAgICAgc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPmJkZXYpOwo+Pj4gICAgICAgICAgc3RydWN0IGFt ZGdwdV9ibyAqYWJvOwo+Pj4gICAgICAgICAgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNpemUsIGxw Zm47Cj4+PiAgICAgICAgICBpbnQgaSwgcjsKPj4+IEBAIC04ODksNyArODk0LDYgQEAgaW50IGFt ZGdwdV9ib19mYXVsdF9yZXNlcnZlX25vdGlmeShzdHJ1Y3QKPj4+IHR0bV9idWZmZXJfb2JqZWN0 ICpibykKPj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4+Pgo+Pj4gICAgICAgICAgYWJv ID0gY29udGFpbmVyX29mKGJvLCBzdHJ1Y3QgYW1kZ3B1X2JvLCB0Ym8pOwo+Pj4gLSAgICAgICBh ZGV2ID0gYWJvLT5hZGV2Owo+Pj4gICAgICAgICAgaWYgKGJvLT5tZW0ubWVtX3R5cGUgIT0gVFRN X1BMX1ZSQU0pCj4+PiAgICAgICAgICAgICAgICAgIHJldHVybiAwOwo+Pj4KPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKPj4+IGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oCj4+PiBpbmRleCA4MjU1MDM0 Li5jOWIyYzAxIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X29iamVjdC5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf b2JqZWN0LmgKPj4+IEBAIC03MSwxMiArNzEsMTMgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBh bWRncHVfbWVtX3R5cGVfdG9fZG9tYWluKHUzMgo+Pj4gbWVtX3R5cGUpCj4+PiAgICAqLwo+Pj4g ICBzdGF0aWMgaW5saW5lIGludCBhbWRncHVfYm9fcmVzZXJ2ZShzdHJ1Y3QgYW1kZ3B1X2JvICpi bywgYm9vbCBub19pbnRyKQo+Pj4gICB7Cj4+PiArICAgICAgIHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2ID0gYW1kZ3B1X2dldF9hZGV2KGJvLT50Ym8uYmRldik7Cj4+PiAgICAgICAgICBpbnQg cjsKPj4+Cj4+PiAgICAgICAgICByID0gdHRtX2JvX3Jlc2VydmUoJmJvLT50Ym8sICFub19pbnRy LCBmYWxzZSwgTlVMTCk7Cj4+PiAgICAgICAgICBpZiAodW5saWtlbHkociAhPSAwKSkgewo+Pj4g ICAgICAgICAgICAgICAgICBpZiAociAhPSAtRVJFU1RBUlRTWVMpCj4+PiAtICAgICAgICAgICAg ICAgICAgICAgICBkZXZfZXJyKGJvLT5hZGV2LT5kZXYsICIlcCByZXNlcnZlIGZhaWxlZFxuIiwK Pj4+IGJvKTsKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGRldl9lcnIoYWRldi0+ZGV2LCAi JXAgcmVzZXJ2ZSBmYWlsZWRcbiIsIGJvKTsKPj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7 Cj4+PiAgICAgICAgICB9Cj4+PiAgICAgICAgICByZXR1cm4gMDsKPj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKPj4+IGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCj4+PiBpbmRleCAxOTY1MjA5Li5kMjQ2YTFmIDEw MDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCj4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKPj4+IEBAIC01 MSwxNiArNTEsNiBAQAo+Pj4gICBzdGF0aWMgaW50IGFtZGdwdV90dG1fZGVidWdmc19pbml0KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPj4+ICAgc3RhdGljIHZvaWQgYW1kZ3B1X3R0bV9k ZWJ1Z2ZzX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwo+Pj4KPj4+IC1zdGF0aWMg c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFtZGdwdV9nZXRfYWRldihzdHJ1Y3QgdHRtX2JvX2Rldmlj ZSAqYmRldikKPj4+IC17Cj4+PiAtICAgICAgIHN0cnVjdCBhbWRncHVfbW1hbiAqbW1hbjsKPj4+ IC0gICAgICAgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXY7Cj4+PiAtCj4+PiAtICAgICAgIG1t YW4gPSBjb250YWluZXJfb2YoYmRldiwgc3RydWN0IGFtZGdwdV9tbWFuLCBiZGV2KTsKPj4+IC0g ICAgICAgYWRldiA9IGNvbnRhaW5lcl9vZihtbWFuLCBzdHJ1Y3QgYW1kZ3B1X2RldmljZSwgbW1h bik7Cj4+PiAtICAgICAgIHJldHVybiBhZGV2Owo+Pj4gLX0KPj4+IC0KPj4+Cj4+PiAgIC8qCj4+ PiAgICAqIEdsb2JhbCBtZW1vcnkuCj4+PiBAQCAtMTk1LDYgKzE4NSw3IEBAIHN0YXRpYyBpbnQg YW1kZ3B1X2luaXRfbWVtX3R5cGUoc3RydWN0IHR0bV9ib19kZXZpY2UKPj4+ICpiZGV2LCB1aW50 MzJfdCB0eXBlLAo+Pj4gICBzdGF0aWMgdm9pZCBhbWRncHVfZXZpY3RfZmxhZ3Moc3RydWN0IHR0 bV9idWZmZXJfb2JqZWN0ICpibywKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCB0dG1fcGxhY2VtZW50ICpwbGFjZW1lbnQpCj4+PiAgIHsKPj4+ICsgICAgICAgc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPmJkZXYpOwo+Pj4g ICAgICAgICAgc3RydWN0IGFtZGdwdV9ibyAqcmJvOwo+Pj4gICAgICAgICAgc3RhdGljIHN0cnVj dCB0dG1fcGxhY2UgcGxhY2VtZW50cyA9IHsKPj4+ICAgICAgICAgICAgICAgICAgLmZwZm4gPSAw LAo+Pj4gQEAgLTIxMyw3ICsyMDQsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZXZpY3RfZmxhZ3Mo c3RydWN0Cj4+PiB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4+PiAgICAgICAgICByYm8gPSBjb250 YWluZXJfb2YoYm8sIHN0cnVjdCBhbWRncHVfYm8sIHRibyk7Cj4+PiAgICAgICAgICBzd2l0Y2gg KGJvLT5tZW0ubWVtX3R5cGUpIHsKPj4+ICAgICAgICAgIGNhc2UgVFRNX1BMX1ZSQU06Cj4+PiAt ICAgICAgICAgICAgICAgaWYgKHJiby0+YWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZy0+cmVh ZHkgPT0gZmFsc2UpIHsKPj4+ICsgICAgICAgICAgICAgICBpZiAoYWRldi0+bW1hbi5idWZmZXJf ZnVuY3NfcmluZy0+cmVhZHkgPT0gZmFsc2UpIHsKPj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICBhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihyYm8sCj4+Pgo+Pj4gQU1ER1BVX0dF TV9ET01BSU5fQ1BVKTsKPj4+ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKPj4+IEBAIC0yMzEs NyArMjIyLDcgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2V2aWN0X2ZsYWdzKHN0cnVjdAo+Pj4gdHRt X2J1ZmZlcl9vYmplY3QgKmJvLAo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICogYWxsb2NhdGluZyBhZGRyZXNzIHNwYWNlIGZvciB0aGUgQk8uCj4+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKi8KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJiby0+cGxhY2VtZW50c1tpXS5scGZuID0KPj4+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByYm8tPmFkZXYtPm1jLmd0dF9zaXplID4+Cj4+PiBQQUdFX1NISUZU Owo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZXYtPm1jLmd0 dF9zaXplID4+IFBBR0VfU0hJRlQ7Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+Pj4g ICAgICAgICAgICAgICAgICB9Cj4+PiAgICAgICAgICAgICAgICAgIGJyZWFrOwo+Pj4gQEAgLTEz ODQsNyArMTM3NSw3IEBAIGludCBhbWRncHVfZmlsbF9idWZmZXIoc3RydWN0IGFtZGdwdV9ibyAq Ym8sCj4+PiB1aW50MzJfdCBzcmNfZGF0YSwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YsCj4+PiAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZmVuY2UgKipmZW5jZSkKPj4+ICAgewo+Pj4gLSAgICAgICBzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiA9IGJvLT5hZGV2Owo+Pj4gKyAgICAgICBzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRldihiby0+dGJvLmJkZXYpOwo+Pj4gICAgICAgICAgc3Ry dWN0IGFtZGdwdV9qb2IgKmpvYjsKPj4+ICAgICAgICAgIHN0cnVjdCBhbWRncHVfcmluZyAqcmlu ZyA9IGFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNzX3Jpbmc7Cj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYwo+Pj4gYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMKPj4+IGluZGV4IGU2ODQyYjAuLjg3YmNhYzMgMTAw NjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMKPj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYwo+Pj4gQEAgLTkz MSw3ICs5MzEsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV91dmRfc2VuZF9tc2coc3RydWN0IGFtZGdw dV9yaW5nCj4+PiAqcmluZywgc3RydWN0IGFtZGdwdV9ibyAqYm8sCj4+PiAgICAgICAgICBpZiAo cikKPj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Cj4+Pgo+Pj4gLSAgICAgICBpZiAoIWJv LT5hZGV2LT51dmQuYWRkcmVzc182NF9iaXQpIHsKPj4+ICsgICAgICAgaWYgKCFyaW5nLT5hZGV2 LT51dmQuYWRkcmVzc182NF9iaXQpIHsKPj4+ICAgICAgICAgICAgICAgICAgYW1kZ3B1X3R0bV9w bGFjZW1lbnRfZnJvbV9kb21haW4oYm8sCj4+PiBBTURHUFVfR0VNX0RPTUFJTl9WUkFNKTsKPj4+ ICAgICAgICAgICAgICAgICAgYW1kZ3B1X3V2ZF9mb3JjZV9pbnRvX3V2ZF9zZWdtZW50KGJvKTsK Pj4+ICAgICAgICAgIH0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdm0uYwo+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u Ywo+Pj4gaW5kZXggZDNhMmQxZi4uNWRiYTlmNyAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uYwo+Pj4gQEAgLTExNzUsNyArMTE3NSw3IEBAIGludCBhbWRncHVf dm1fYm9fdXBkYXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+Pj4KPj4+ICAgICAgICAg IGZsYWdzID0gYW1kZ3B1X3R0bV90dF9wdGVfZmxhZ3MoYWRldiwgYm9fdmEtPmJvLT50Ym8udHRt LCBtZW0pOwo+Pj4gICAgICAgICAgZ3R0X2ZsYWdzID0gKGFtZGdwdV90dG1faXNfYm91bmQoYm9f dmEtPmJvLT50Ym8udHRtKSAmJgo+Pj4gLSAgICAgICAgICAgICAgIGFkZXYgPT0gYm9fdmEtPmJv LT5hZGV2KSA/IGZsYWdzIDogMDsKPj4+ICsgICAgICAgICAgICAgICBhZGV2ID09IGFtZGdwdV9n ZXRfYWRldihib192YS0+Ym8tPnRiby5iZGV2KSkgPyBmbGFncyA6Cj4+PiAwOwo+Pj4KPj4+ICAg ICAgICAgIHNwaW5fbG9jaygmdm0tPnN0YXR1c19sb2NrKTsKPj4+ICAgICAgICAgIGlmICghbGlz dF9lbXB0eSgmYm9fdmEtPnZtX3N0YXR1cykpCj4+PiAtLQo+Pj4gMi41LjAKPj4+Cj4+PiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4gYW1kLWdmeCBt YWlsaW5nIGxpc3QKPj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+PiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngKPgo+Cj4KX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWls aW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==