From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 13/16] drm/fb-helper: Avoid race with DRM userspace Date: Thu, 28 Mar 2019 09:17:38 +0100 Message-ID: <20190328081738.GT2665@phenom.ffwll.local> References: <20190326175546.18126-1-noralf@tronnes.org> <20190326175546.18126-14-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 264F26E313 for ; Thu, 28 Mar 2019 08:17:43 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id a25so16392640edc.8 for ; Thu, 28 Mar 2019 01:17:43 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20190326175546.18126-14-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, mstaudt@suse.de, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXIgMjYsIDIwMTkgYXQgMDY6NTU6NDNQTSArMDEwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IGRybV9mYl9oZWxwZXJfaXNfYm91bmQoKSBpcyB1c2VkIHRvIGNoZWNrIGlmIERS TSB1c2Vyc3BhY2UgaXMgaW4gY29udHJvbC4KPiBUaGlzIGlzIGRvbmUgYnkgbG9va2luZyBhdCB0 aGUgZmIgb24gdGhlIHByaW1hcnkgcGxhbmUuIEJ5IHRoZSB0aW1lCj4gZmItaGVscGVyIGdldHMg YXJvdW5kIHRvIGNvbW1pdHRpbmcsIGl0J3MgcG9zc2libGUgdGhhdCB0aGUgZmFjdHMgaGF2ZQo+ IGNoYW5nZWQuCj4gCj4gQXZvaWQgdGhpcyByYWNlIGJ5IGhvbGRpbmcgdGhlIGRybV9kZXZpY2Ut Pm1hc3Rlcl9tdXRleCBsb2NrIHdoaWxlCj4gY29tbWl0dGluZy4gV2hlbiBEUk0gdXNlcnNwYWNl IGRvZXMgaXRzIGZpcnN0IG9wZW4sIGl0IHdpbGwgbm93IHdhaXQKPiB1bnRpbCBmYi1oZWxwZXIg aXMgZG9uZS4gVGhlIGhlbHBlciB3aWxsIHN0YXkgYXdheSBpZiB0aGVyZSdzIGEgbWFzdGVyLgo+ IAo+IExvY2tpbmcgcnVsZTogQWx3YXlzIHRha2UgdGhlIGZiLWhlbHBlciBsb2NrIGZpcnN0Lgo+ IAo+IFN1Z2dlc3RlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4K PiBTaWduZWQtb2ZmLWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4KCkkg dGhpbmsgaXQnZCBiZSBnb29kIHRvIHJlb3JkZXIgdGhpcyBlYXJsaWVyIGluIHRoZSBzZXJpZXMu IEFuZCBJJ20Kd29uZGVyaW5nIHdoeSB5b3UgZGlkbid0IHJlcGxhY2UgYWxsIG9jY3VyZW5jZXMg b2YgdGhlIF9pc19ib3VuZCgpCmZ1bmN0aW9uLiBXaXRoIHRoZSBjb25zaXN0ZW50IG1hc3RlciBz dGF0ZSBjaGVjayB3ZSdyZSBkb2luZyB3aXRoIHRoaXMgSQpkb24ndCB0aGluayBhbnkgb2YgdGhl IGZiZGV2IGNoZWNraW5nIGlzIHN0aWxsIG5lZWRlZC4gUGx1cyBsb29raW5nIGF0CmNydGMtPnBy aW1hcnktPmZiIHdpdGhvdXQgYW55IGxvY2tzIGlzIHJhY3ksIHNvIHdvdWxkIGJlIGdvb2QgdG8g ZGl0Y2gKdGhhdCBoYWNrLgotRGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F1 dGguYyAgICAgIHwgMjAgKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9mYl9o ZWxwZXIuYyB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX2ludGVybmFsLmggIHwgIDIgKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCA1OCBp bnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdXRoLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F1dGguYwo+IGluZGV4IDE2 NjljNDJjNDBlZC4uZGIxOTk4MDdiN2RjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXV0aC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdXRoLmMKPiBAQCAtMzY4LDMg KzM2OCwyMyBAQCB2b2lkIGRybV9tYXN0ZXJfcHV0KHN0cnVjdCBkcm1fbWFzdGVyICoqbWFzdGVy KQo+ICAJKm1hc3RlciA9IE5VTEw7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fbWFzdGVyX3B1 dCk7Cj4gKwo+ICsvKiBVc2VkIGJ5IGRybV9jbGllbnQgYW5kIGRybV9mYl9oZWxwZXIgKi8KPiAr Ym9vbCBkcm1fbWFzdGVyX2ludGVybmFsX2FjcXVpcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiArewo+ICsJbXV0ZXhfbG9jaygmZGV2LT5tYXN0ZXJfbXV0ZXgpOwo+ICsJaWYgKGRldi0+bWFz dGVyKSB7Cj4gKwkJbXV0ZXhfdW5sb2NrKCZkZXYtPm1hc3Rlcl9tdXRleCk7Cj4gKwkJcmV0dXJu IGZhbHNlOwo+ICsJfQo+ICsKPiArCXJldHVybiB0cnVlOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0wo ZHJtX21hc3Rlcl9pbnRlcm5hbF9hY3F1aXJlKTsKPiArCj4gKy8qIFVzZWQgYnkgZHJtX2NsaWVu dCBhbmQgZHJtX2ZiX2hlbHBlciAqLwo+ICt2b2lkIGRybV9tYXN0ZXJfaW50ZXJuYWxfcmVsZWFz ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICt7Cj4gKwltdXRleF91bmxvY2soJmRldi0+bWFz dGVyX211dGV4KTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9tYXN0ZXJfaW50ZXJuYWxfcmVs ZWFzZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gaW5kZXggNGEwNzNjZDRlNDIzLi45ZjI1 M2ZjZjNmNzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiBAQCAtNDEsNiArNDEsOCBA QAo+ICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgo+ICAjaW5jbHVkZSA8ZHJtL2Ry bV9hdG9taWMuaD4KPiAgCj4gKyNpbmNsdWRlICJkcm1faW50ZXJuYWwuaCIKPiArCj4gIHN0YXRp YyBib29sIGRybV9mYmRldl9lbXVsYXRpb24gPSB0cnVlOwo+ICBtb2R1bGVfcGFyYW1fbmFtZWQo ZmJkZXZfZW11bGF0aW9uLCBkcm1fZmJkZXZfZW11bGF0aW9uLCBib29sLCAwNjAwKTsKPiAgTU9E VUxFX1BBUk1fREVTQyhmYmRldl9lbXVsYXRpb24sCj4gQEAgLTIzNSw3ICsyMzcsMTIgQEAgaW50 IGRybV9mYl9oZWxwZXJfcmVzdG9yZV9mYmRldl9tb2RlX3VubG9ja2VkKHN0cnVjdCBkcm1fZmJf aGVscGVyICpmYl9oZWxwZXIpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZmJf aGVscGVyLT5sb2NrKTsKPiAtCXJldCA9IGRybV9jbGllbnRfbW9kZXNldHNfY29tbWl0KGZiX2hl bHBlci0+ZGV2LCBmYl9oZWxwZXItPm1vZGVzZXRzKTsKPiArCWlmIChkcm1fbWFzdGVyX2ludGVy bmFsX2FjcXVpcmUoZmJfaGVscGVyLT5kZXYpKSB7Cj4gKwkJcmV0ID0gZHJtX2NsaWVudF9tb2Rl c2V0c19jb21taXQoZmJfaGVscGVyLT5kZXYsIGZiX2hlbHBlci0+bW9kZXNldHMpOwo+ICsJCWRy bV9tYXN0ZXJfaW50ZXJuYWxfcmVsZWFzZShmYl9oZWxwZXItPmRldik7Cj4gKwl9IGVsc2Ugewo+ ICsJCXJldCA9IC1FQlVTWTsKPiArCX0KPiAgCj4gIAlkb19kZWxheWVkID0gZmJfaGVscGVyLT5k ZWxheWVkX2hvdHBsdWc7Cj4gIAlpZiAoZG9fZGVsYXllZCkKPiBAQCAtMzMyLDEzICszMzksMTYg QEAgc3RhdGljIHN0cnVjdCBzeXNycV9rZXlfb3Agc3lzcnFfZHJtX2ZiX2hlbHBlcl9yZXN0b3Jl X29wID0geyB9Owo+ICBzdGF0aWMgdm9pZCBkcm1fZmJfaGVscGVyX2RwbXMoc3RydWN0IGZiX2lu Zm8gKmluZm8sIGludCBkcG1zX21vZGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZmJfaGVscGVyICpm Yl9oZWxwZXIgPSBpbmZvLT5wYXI7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmJfaGVs cGVyLT5kZXY7Cj4gIAo+ICAJLyoKPiAgCSAqIEZvciBlYWNoIENSVEMgaW4gdGhpcyBmYiwgdHVy biB0aGUgY29ubmVjdG9ycyBvbi9vZmYuCj4gIAkgKi8KPiAgCW11dGV4X2xvY2soJmZiX2hlbHBl ci0+bG9jayk7Cj4gLQlpZiAoZHJtX2ZiX2hlbHBlcl9pc19ib3VuZChmYl9oZWxwZXIpKQo+IC0J CWRybV9jbGllbnRfbW9kZXNldHNfZHBtcyhmYl9oZWxwZXItPmRldiwgZmJfaGVscGVyLT5tb2Rl c2V0cywgZHBtc19tb2RlKTsKPiArCWlmIChkcm1fbWFzdGVyX2ludGVybmFsX2FjcXVpcmUoZGV2 KSkgewo+ICsJCWRybV9jbGllbnRfbW9kZXNldHNfZHBtcyhkZXYsIGZiX2hlbHBlci0+bW9kZXNl dHMsIGRwbXNfbW9kZSk7Cj4gKwkJZHJtX21hc3Rlcl9pbnRlcm5hbF9yZWxlYXNlKGRldik7Cj4g Kwl9Cj4gIAltdXRleF91bmxvY2soJmZiX2hlbHBlci0+bG9jayk7Cj4gIH0KPiAgCj4gQEAgLTEw OTcsNiArMTEwNyw3IEBAIHN0YXRpYyBpbnQgc2V0Y21hcF9hdG9taWMoc3RydWN0IGZiX2NtYXAg KmNtYXAsIHN0cnVjdCBmYl9pbmZvICppbmZvKQo+ICBpbnQgZHJtX2ZiX2hlbHBlcl9zZXRjbWFw KHN0cnVjdCBmYl9jbWFwICpjbWFwLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPiAgewo+ICAJc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciA9IGluZm8tPnBhcjsKPiArCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBmYl9oZWxwZXItPmRldjsKPiAgCWludCByZXQ7Cj4gIAo+ICAJaWYgKG9v cHNfaW5fcHJvZ3Jlc3MpCj4gQEAgLTExMDQsOSArMTExNSw5IEBAIGludCBkcm1fZmJfaGVscGVy X3NldGNtYXAoc3RydWN0IGZiX2NtYXAgKmNtYXAsIHN0cnVjdCBmYl9pbmZvICppbmZvKQo+ICAK PiAgCW11dGV4X2xvY2soJmZiX2hlbHBlci0+bG9jayk7Cj4gIAo+IC0JaWYgKCFkcm1fZmJfaGVs cGVyX2lzX2JvdW5kKGZiX2hlbHBlcikpIHsKPiArCWlmICghZHJtX21hc3Rlcl9pbnRlcm5hbF9h Y3F1aXJlKGRldikpIHsKPiAgCQlyZXQgPSAtRUJVU1k7Cj4gLQkJZ290byBvdXQ7Cj4gKwkJZ290 byB1bmxvY2s7Cj4gIAl9Cj4gIAo+ICAJaWYgKGluZm8tPmZpeC52aXN1YWwgPT0gRkJfVklTVUFM X1RSVUVDT0xPUikKPiBAQCAtMTExNiw3ICsxMTI3LDggQEAgaW50IGRybV9mYl9oZWxwZXJfc2V0 Y21hcChzdHJ1Y3QgZmJfY21hcCAqY21hcCwgc3RydWN0IGZiX2luZm8gKmluZm8pCj4gIAllbHNl Cj4gIAkJcmV0ID0gc2V0Y21hcF9sZWdhY3koY21hcCwgaW5mbyk7Cj4gIAo+IC1vdXQ6Cj4gKwlk cm1fbWFzdGVyX2ludGVybmFsX3JlbGVhc2UoZGV2KTsKPiArdW5sb2NrOgo+ICAJbXV0ZXhfdW5s b2NrKCZmYl9oZWxwZXItPmxvY2spOwo+ICAKPiAgCXJldHVybiByZXQ7Cj4gQEAgLTExMzYsMTEg KzExNDgsMTMgQEAgaW50IGRybV9mYl9oZWxwZXJfaW9jdGwoc3RydWN0IGZiX2luZm8gKmluZm8s IHVuc2lnbmVkIGludCBjbWQsCj4gIAkJCXVuc2lnbmVkIGxvbmcgYXJnKQo+ICB7Cj4gIAlzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyID0gaW5mby0+cGFyOwo+ICsJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGZiX2hlbHBlci0+ZGV2Owo+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ ICAJaW50IHJldCA9IDA7Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5sb2NrKTsKPiAt CWlmICghZHJtX2ZiX2hlbHBlcl9pc19ib3VuZChmYl9oZWxwZXIpKSB7Cj4gKwo+ICsJaWYgKCFk cm1fbWFzdGVyX2ludGVybmFsX2FjcXVpcmUoZGV2KSkgewo+ICAJCXJldCA9IC1FQlVTWTsKPiAg CQlnb3RvIHVubG9jazsKPiAgCX0KPiBAQCAtMTE3NywxMyArMTE5MSwxNSBAQCBpbnQgZHJtX2Zi X2hlbHBlcl9pb2N0bChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgdW5zaWduZWQgaW50IGNtZCwKPiAg CQl9Cj4gIAo+ICAJCXJldCA9IDA7Cj4gLQkJZ290byB1bmxvY2s7Cj4gKwkJYnJlYWs7Cj4gIAlk ZWZhdWx0Ogo+ICAJCXJldCA9IC1FTk9UVFk7Cj4gIAl9Cj4gIAo+ICsJZHJtX21hc3Rlcl9pbnRl cm5hbF9yZWxlYXNlKGRldik7Cj4gIHVubG9jazoKPiAgCW11dGV4X3VubG9jaygmZmJfaGVscGVy LT5sb2NrKTsKPiArCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2Zi X2hlbHBlcl9pb2N0bCk7Cj4gQEAgLTE0MjYsMTUgKzE0NDIsMTkgQEAgaW50IGRybV9mYl9oZWxw ZXJfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCj4gIAkJcmV0dXJu IC1FQlVTWTsKPiAgCj4gIAltdXRleF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwo+IC0JaWYgKCFk cm1fZmJfaGVscGVyX2lzX2JvdW5kKGZiX2hlbHBlcikpIHsKPiAtCQltdXRleF91bmxvY2soJmZi X2hlbHBlci0+bG9jayk7Cj4gLQkJcmV0dXJuIC1FQlVTWTsKPiArCj4gKwlpZiAoIWRybV9tYXN0 ZXJfaW50ZXJuYWxfYWNxdWlyZShkZXYpKSB7Cj4gKwkJcmV0ID0gLUVCVVNZOwo+ICsJCWdvdG8g dW5sb2NrOwo+ICAJfQo+ICAKPiAgCWlmIChkcm1fZHJ2X3VzZXNfYXRvbWljX21vZGVzZXQoZGV2 KSkKPiAgCQlyZXQgPSBwYW5fZGlzcGxheV9hdG9taWModmFyLCBpbmZvKTsKPiAgCWVsc2UKPiAg CQlyZXQgPSBwYW5fZGlzcGxheV9sZWdhY3kodmFyLCBpbmZvKTsKPiArCj4gKwlkcm1fbWFzdGVy X2ludGVybmFsX3JlbGVhc2UoZGV2KTsKPiArdW5sb2NrOgo+ICAJbXV0ZXhfdW5sb2NrKCZmYl9o ZWxwZXItPmxvY2spOwo+ICAKPiAgCXJldHVybiByZXQ7Cj4gQEAgLTE0NTEsNiArMTQ3MSw3IEBA IHN0YXRpYyBpbnQgZHJtX2ZiX2hlbHBlcl9zaW5nbGVfZmJfcHJvYmUoc3RydWN0IGRybV9mYl9o ZWxwZXIgKmZiX2hlbHBlciwKPiAgCWludCByZXQgPSAwOwo+ICAJaW50IGNydGNfY291bnQgPSAw Owo+ICAJc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPiArCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBmYl9oZWxwZXItPmRldjsKPiAgCXN0cnVjdCBkcm1fZmJfaGVs cGVyX3N1cmZhY2Vfc2l6ZSBzaXplczsKPiAgCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3I7Cj4gIAlzdHJ1Y3QgZHJtX21vZGVfc2V0ICptb2RlX3NldDsKPiBAQCAtMTU5Myw4ICsxNjE0 LDEwIEBAIHN0YXRpYyBpbnQgZHJtX2ZiX2hlbHBlcl9zaW5nbGVfZmJfcHJvYmUoc3RydWN0IGRy bV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKPiAgCQlEUk1fSU5GTygiQ2Fubm90IGZpbmQgYW55IGNy dGMgb3Igc2l6ZXNcbiIpOwo+ICAKPiAgCQkvKiBGaXJzdCB0aW1lOiBkaXNhYmxlIGFsbCBjcnRj J3MuLiAqLwo+IC0JCWlmICghZmJfaGVscGVyLT5kZWZlcnJlZF9zZXR1cCAmJiAhUkVBRF9PTkNF KGZiX2hlbHBlci0+ZGV2LT5tYXN0ZXIpKQo+IC0JCQlkcm1fY2xpZW50X21vZGVzZXRzX2NvbW1p dChmYl9oZWxwZXItPmRldiwgZmJfaGVscGVyLT5tb2Rlc2V0cyk7Cj4gKwkJaWYgKCFmYl9oZWxw ZXItPmRlZmVycmVkX3NldHVwICYmIGRybV9tYXN0ZXJfaW50ZXJuYWxfYWNxdWlyZShkZXYpKSB7 Cj4gKwkJCWRybV9jbGllbnRfbW9kZXNldHNfY29tbWl0KGRldiwgZmJfaGVscGVyLT5tb2Rlc2V0 cyk7Cj4gKwkJCWRybV9tYXN0ZXJfaW50ZXJuYWxfcmVsZWFzZShkZXYpOwo+ICsJCX0KPiAgCQly ZXR1cm4gLUVBR0FJTjsKPiAgCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1faW50ZXJuYWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAo+IGluZGV4IDI1 MWQ2N2UwNGMyZC4uNmQ1ZDExODRjMDg0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1faW50ZXJuYWwuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAo+IEBA IC05MSw2ICs5MSw4IEBAIGludCBkcm1fZHJvcG1hc3Rlcl9pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJCQkgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ ICBpbnQgZHJtX21hc3Rlcl9vcGVuKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAgdm9p ZCBkcm1fbWFzdGVyX3JlbGVhc2Uoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICtib29s IGRybV9tYXN0ZXJfaW50ZXJuYWxfYWNxdWlyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAr dm9pZCBkcm1fbWFzdGVyX2ludGVybmFsX3JlbGVhc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gIAo+ICAvKiBkcm1fc3lzZnMuYyAqLwo+ICBleHRlcm4gc3RydWN0IGNsYXNzICpkcm1fY2xh c3M7Cj4gLS0gCj4gMi4yMC4xCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVl ciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4