From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/3] drm/i915: Complete kerneldoc for struct i915_gem_context Date: Fri, 30 Dec 2016 20:13:44 +0100 Message-ID: <20161230191344.GK8712@dvetter-linux.ger.corp.intel.com> References: <20161230092721.31011-1-chris@chris-wilson.co.uk> <20161230092721.31011-2-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 736E96E217 for ; Fri, 30 Dec 2016 19:13:52 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id u144so72206397wmu.0 for ; Fri, 30 Dec 2016 11:13:52 -0800 (PST) Content-Disposition: inline In-Reply-To: <20161230092721.31011-2-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBEZWMgMzAsIDIwMTYgYXQgMDk6Mjc6MjBBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFRoZSBleGlzdGluZyBrZXJuZWxkb2Mgd2FzIG91dGRhdGVkLCBzbyB0aW1lIGZvciBh IHJlZnJlc2guCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+CgpBIGZldyBiaWtlc2hlZHMgYmVsb3csIGZlZWwgZnJlZSB0byBwaWNrIHdo YXQgeW91IGxpa2UgYW5kIGlnbm9yZSB0aGUKb3RoZXJzLiBPdGhlcndpc2U6CgpSZXZpZXdlZC1i eTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KCj4gLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8IDIxNCArKysrKysrKysrKysr KysrKysrKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAg ICAgICAgfCAgMjYgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmMgICAgfCAgMzMgKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1 ZmZlci5jIHwgICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMg ICAgICB8ICAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAg ICAgfCAgIDIgKy0KPiAgNiBmaWxlcyBjaGFuZ2VkLCAyMTEgaW5zZXJ0aW9ucygrKSwgNjggZGVs ZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggMDBlY2JiNGRhMjVl Li5jODYxNzM2MGM5MTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTA1MSw0 NCArMTA1MSwxMTggQEAgZW51bSBpOTE1X2NhY2hlX2xldmVsIHsKPiAgI2RlZmluZSBERUZBVUxU X0NPTlRFWFRfSEFORExFIDAKPiAgCj4gIC8qKgo+IC0gKiBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4 dCAtIGFzIHRoZSBuYW1lIGltcGxpZXMsIHJlcHJlc2VudHMgYSBjb250ZXh0Lgo+IC0gKiBAcmVm OiByZWZlcmVuY2UgY291bnQuCj4gLSAqIEB1c2VyX2hhbmRsZTogdXNlcnNwYWNlIHRyYWNraW5n IGlkZW50aXR5IGZvciB0aGlzIGNvbnRleHQuCj4gLSAqIEByZW1hcF9zbGljZTogbDMgcm93IHJl bWFwcGluZyBpbmZvcm1hdGlvbi4KPiAtICogQGZsYWdzOiBjb250ZXh0IHNwZWNpZmljIGZsYWdz Ogo+IC0gKiAgICAgICAgIENPTlRFWFRfTk9fWkVST01BUDogZG8gbm90IGFsbG93IG1hcHBpbmcg dGhpbmdzIHRvIHBhZ2UgMC4KPiAtICogQGZpbGVfcHJpdjogZmlscCBhc3NvY2lhdGVkIHdpdGgg dGhpcyBjb250ZXh0IChOVUxMIGZvciBnbG9iYWwgZGVmYXVsdAo+IC0gKgkgICAgICAgY29udGV4 dCkuCj4gLSAqIEBoYW5nX3N0YXRzOiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcm9sZSBvZiB0aGlz IGNvbnRleHQgaW4gcG9zc2libGUgR1BVCj4gLSAqCQloYW5ncy4KPiAtICogQHBwZ3R0OiB2aXJ0 dWFsIG1lbW9yeSBzcGFjZSB1c2VkIGJ5IHRoaXMgY29udGV4dC4KPiAtICogQGxlZ2FjeV9od19j dHg6IHJlbmRlciBjb250ZXh0IGJhY2tpbmcgb2JqZWN0IGFuZCB3aGV0aGVyIGl0IGlzIGNvcnJl Y3RseQo+IC0gKiAgICAgICAgICAgICAgICBpbml0aWFsaXplZCAobGVnYWN5IHJpbmcgc3VibWlz c2lvbiBtZWNoYW5pc20gb25seSkuCj4gLSAqIEBsaW5rOiBsaW5rIGluIHRoZSBnbG9iYWwgbGlz dCBvZiBjb250ZXh0cy4KPiArICogc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgLSBjbGllbnQgc3Rh dGUKPiAgICoKPiAtICogQ29udGV4dHMgYXJlIG1lbW9yeSBpbWFnZXMgdXNlZCBieSB0aGUgaGFy ZHdhcmUgdG8gc3RvcmUgY29waWVzIG9mIHRoZWlyCj4gLSAqIGludGVybmFsIHN0YXRlLgo+ICsg KiBUaGUgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgcmVwcmVzZW50cyB0aGUgY29tYmluZWQgdmll dyBvZiB0aGUgZHJpdmVyIGFuZAo+ICsgKiBsb2dpY2FsIGhhcmR3YXJlIHN0YXRlIGZvciBhIHBh cnRpY3VsYXIgY2xpZW50Lgo+ICAgKi8KPiAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgewo+IC0J c3RydWN0IGtyZWYgcmVmOwo+ICsJLyoqCj4gKwkgKiBAaTkxNTogaTkxNSBkZXZpY2UgYmFja3Bv aW50ZXIKPiArCSAqLwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTU7CgpIb3Qgb2Yg dGhlIHByZXNzLCBidXQgNC4xMCBoYXMgYSBuZXcgb25lLWxpbmUgaW5saW5lIGZvcm1hdDoKCgkv KiogaTkxNTogaTkxNSBkZXZpY2UgYmFja3BvaW50ZXIgKi8KCk9ubHkgd29ya3MgaWYgaXQncyBy ZWFsbHkganVzdCBvbmUgbGluZSwgYnV0IHBlcmZlY3QgZm9yIHNtYWxsIHN0dWZmIGluCmJpZyBz dHJ1Y3RzLgoKRmVlbCBmcmVlIHRvIGJpa2VzaGVkIHdoaWxlIGFwcGx5aW5nLCBvciBub3QuCgo+ ICsKPiArCS8qKgo+ICsJICogQGZpbGVfcHJpdjogb3duaW5nIGZpbGUgZGVzY3JpcHRvcgo+ICsJ ICovCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXY7Cj4gKwo+ICsJ LyoqCj4gKwkgKiBAcHBndHQ6IHVuaXF1ZSBhZGRyZXNzIHNwYWNlIChHVFQpCj4gKwkgKgo+ICsJ ICogSW4gZnVsbC1wcGd0dCBtb2RlLCBlYWNoIGNvbnRleHQgaGFzIGl0cyBvd24gYWRkcmVzcyBz cGFjZSBlbnN1cmluZwo+ICsJICogY29tcGxldGUgc2VwZXJhdGlvbiBvZiBvbmUgY2xpZW50IGZy b20gYWxsIG90aGVycy4KPiArCSAqLwo+ICAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0Owo+ ICsKPiArCS8qKgo+ICsJICogQHBpZDogcHJvY2VzcyBpZCBvZiBjcmVhdG9yCj4gKwkgKgo+ICsJ ICogTm90ZSB0aGF0IHdobyBjcmVhdGVkIHRoZSBjb250ZXh0IG1heSBub3QgYmUgdGhlIHByaW5j aXBsZSB1c2VyLAo+ICsJICogYXMgdGhlIGNvbnRleHQgbWF5IGJlIHNoYXJlZCBhY3Jvc3MgYSBs b2NhbCBzb2NrZXQuIEhvd2V2ZXIsCj4gKwkgKiB0aGF0IHNob3VsZCBvbmx5IGFmZmVjdCB0aGUg ZGVmYXVsdCBjb250ZXh0LCBhbGwgY29udGV4dHMgY3JlYXRlZAo+ICsJICogZXhwbGljaXRseSBi eSB0aGUgY2xpZW50IGFyZSBleHBlY3RlZCB0byBiZSBpc29sYXRlZC4KPiArCSAqLwo+ICAJc3Ry dWN0IHBpZCAqcGlkOwo+ICsKPiArCS8qKgo+ICsJICogQG5hbWU6IGFyYml0cmFyeSBuYW1lCj4g KwkgKgo+ICsJICogQSBuYW1lIGlzIGNvbnN0cnVjdGVkIGZvciB0aGUgY29udGV4dCBmcm9tIHRo ZSBjcmVhdG9yJ3MgcHJvY2Vzcwo+ICsJICogbmFtZSwgcGlkIGFuZCB1c2VyIGhhbmRsZSBpbiBv cmRlciB0byB1bmlxdWVseSBpZGVudGlmeSB0aGUKPiArCSAqIGNvbnRleHQgaW4gbWVzc2FnZXMu CgouLi4gZGVidWcgbWVzc2FnZXMuCgo+ICsJICovCj4gIAljb25zdCBjaGFyICpuYW1lOwo+ICAK PiArCS8qKgo+ICsJICogQGxpbms6IHBsYWNlIHdpdGggJmRybV9pOTE1X3ByaXZhdGUuY29udGV4 dF9saXN0Cj4gKwkgKi8KPiArCXN0cnVjdCBsaXN0X2hlYWQgbGluazsKPiArCj4gKwkvKioKPiAr CSAqIEByZWY6IHJlZmVyZW5jZSBjb3VudAo+ICsJICoKPiArCSAqIEEgcmVmZXJlbmNlIHRvIGEg Y29udGV4dCBpcyBoZWxkIGJ5IGJvdGggdGhlIGNsaWVudCB3aG8gY3JlYXRlZCBpdAo+ICsJICog YW5kIG9uIGVhY2ggcmVxdWVzdCBzdWJtaXR0ZWQgdG8gdGhlIGhhcmR3YXJlIHVzaW5nIHRoZSBy ZXF1ZXN0Cj4gKwkgKiAodG8gZW5zdXJlIHRoZSBoYXJkd2FyZSBoYXMgYWNjZXNzIHRvIHRoZSBz dGF0ZSB1bnRpbCBpdCBoYXMKPiArCSAqIGZpbmlzaGVkIGFsbCBwZW5kaW5nIHdyaXRlcykuCj4g KwkgKi8KCkZvciByZWZjb3VudHMgSSBsaWtlIHRvIHBvaW50IGF0IHRoZSBmdW5jdGlvbnMgbWVh bnQgdG8gbWFuaXB1bGF0ZSBpdCwKaGVyZSBpOTE1X2dlbV9jb250ZXh0X2dldCgpIGFuZCBpOTE1 X2dlbV9jb250ZXh0X3B1dCgpLiBTZWVtcyBnb29kCnByYWN0aWNlIGluIGdlbmVyYWwgdG8gbWVu dGlvbnMgdGhlIGZ1bmNzIHVzZWQgdG8gbWFuaXB1bGF0ZSBhIGJpdCBvZgpkYXRhLgoKPiArCXN0 cnVjdCBrcmVmIHJlZjsKPiArCj4gKwkvKioKPiArCSAqIEBmbGFnczogc21hbGwgc2V0IG9mIGJv b2xlYW5zCj4gKwkgKi8KPiAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gICNkZWZpbmUgQ09OVEVY VF9OT19aRVJPTUFQCQlCSVQoMCkKPiAtI2RlZmluZSBDT05URVhUX05PX0VSUk9SX0NBUFRVUkUJ QklUKDEpCj4gKyNkZWZpbmUgQ09OVEVYVF9OT19FUlJPUl9DQVBUVVJFCTEKPiArI2RlZmluZSBD T05URVhUX0NMT1NFRAkJCTIKPiArI2RlZmluZSBDT05URVhUX0JBTk5BQkxFCQkzCj4gKyNkZWZp bmUgQ09OVEVYVF9CQU5ORUQJCQk0Cj4gKyNkZWZpbmUgQ09OVEVYVF9GT1JDRV9TSU5HTEVfU1VC TUlTU0lPTgk1Cj4gIAo+IC0JLyogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgY29udGV4dCwg dXNlZCBieSB0aGUgaHcgZm9yIHRyYWNraW5nICovCj4gKwkvKioKPiArCSAqIEBod19pZDogLSB1 bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbnRleHQKPiArCSAqCj4gKwkgKiBUaGUgaGFyZHdh cmUgbmVlZHMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGNvbnRleHQgZm9yIGEgZmV3Cj4gKwkg KiBmdW5jdGlvbnMgbGlrZSBmYXVsdCByZXBvcnRpbmcsIFBBU0lELCBzY2hlZHVsaW5nLiBUaGUK PiArCSAqICZkcm1faTkxNV9wcml2YXRlLmNvbnRleHRfaHdfaWRhIGlzIHVzZWQgdG8gYXNzaWdu IGEgdW5xaXVlCj4gKwkgKiBpZCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb250ZXh0Lgo+ICsJ ICovCj4gIAl1bnNpZ25lZCBpbnQgaHdfaWQ7Cj4gKwo+ICsJLyoqCj4gKwkgKiBAdXNlcl9oYW5k bGU6IHVzZXJzcGFjZSBpZGVudGlmaWVyCj4gKwkgKgo+ICsJICogQSB1bmlxdWUgcGVyLWZpbGUg aWRlbnRpZmllciBpcyBnZW5lcmF0ZWQgZnJvbQo+ICsJICogJmRybV9pOTE1X2ZpbGVfcHJpdmF0 ZS5jb250ZXh0cy4KPiArCSAqLwo+ICAJdTMyIHVzZXJfaGFuZGxlOwo+IC0JaW50IHByaW9yaXR5 OyAvKiBncmVhdGVyIHByaW9yaXRpZXMgYXJlIHNlcnZpY2VkIGZpcnN0ICovCj4gIAo+ICsJLyoq Cj4gKwkgKiBAcHJpb3JpdHk6IGV4ZWN1dGlvbiBhbmQgc2VydmljZSBwcmlvcml0eQo+ICsJICoK PiArCSAqIEFsbCBjbGllbnRzIGFyZSBlcXVhbCwgYnV0IHNvbWUgYXJlIG1vcmUgZXF1YWwgdGhh biBvdGhlcnMhCj4gKwkgKgo+ICsJICogUmVxdWVzdHMgZnJvbSBhIGNvbnRleHQgd2l0aCBhIGdy ZWF0ZXIgKG1vcmUgcG9zaXRpdmUpIHZhbHVlIG9mCj4gKwkgKiBAcHJpb3JpdHkgd2lsbCBiZSBl eGVjdXRlZCBiZWZvcmUgdGhvc2Ugd2l0aCBhIGxvd2VyIEBwcmlvcml0eQo+ICsJICogdmFsdWUs IGZvcm1pbmcgYSBzaW1wbGUgUW9TLgo+ICsJICoKPiArCSAqIFRoZSBrZXJuZWxfY29udGV4dCBp cyBhc3NpZ25lZCB0aGUgbWluaW11bSBwcmlvcml0eS4KPiArCSAqLwo+ICsJaW50IHByaW9yaXR5 Owo+ICsKPiArCS8qKgo+ICsJICogQGdndHRfYWxpZ25tZW50OiBhbGlnbm1lbnQgcmVzdHJpY3Rp b24gZm9yIGNvbnRleHQgb2JqZWN0cwo+ICsJICovCj4gIAl1MzIgZ2d0dF9hbGlnbm1lbnQ7Cj4g KwkvKioKPiArCSAqIEBnZ3R0X29mZnNldF9iaWFzOiBwbGFjZW1lbnQgcmVzdHJpY3Rpb24gZm9y IGNvbnRleHQgb2JqZWN0cwo+ICsJICovCj4gIAl1MzIgZ2d0dF9vZmZzZXRfYmlhczsKPiAgCj4g KwkvKioKPiArCSAqIEBlbmdpbmU6IHBlci1lbmdpbmUgbG9naWNhbCBIVyBzdGF0ZQo+ICsJICov Cj4gIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCB7Cj4gIAkJc3RydWN0IGk5MTVfdm1hICpzdGF0ZTsK PiAgCQlzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZzsKPiBAQCAtMTA5NywyNyArMTE3MSwxMDUgQEAg c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgewo+ICAJCWludCBwaW5fY291bnQ7Cj4gIAkJYm9vbCBp bml0aWFsaXNlZDsKPiAgCX0gZW5naW5lW0k5MTVfTlVNX0VOR0lORVNdOwo+ICsKPiArCS8qKgo+ ICsJICogQHJpbmdfc2l6ZTogc2l6ZSBmb3IgYWxsb2NhdGluZyB0aGUgcGVyLWVuZ2luZSByaW5n IGJ1ZmZlcgo+ICsJICovCj4gIAl1MzIgcmluZ19zaXplOwo+ICsJLyoqCj4gKwkgKiBAZGVzY190 ZW1wbGF0ZTogY29tbW9uL2ludmFyaWFudCBmaWVsZHMgZm9yIHRoZSBIVyBjb250ZXh0IGRlc2Ny aXB0b3IKPiArCSAqLwo+ICAJdTMyIGRlc2NfdGVtcGxhdGU7Cj4gLQlzdHJ1Y3QgYXRvbWljX25v dGlmaWVyX2hlYWQgc3RhdHVzX25vdGlmaWVyOwo+IC0JYm9vbCBleGVjbGlzdHNfZm9yY2Vfc2lu Z2xlX3N1Ym1pc3Npb247Cj4gLQo+IC0Jc3RydWN0IGxpc3RfaGVhZCBsaW5rOwo+ICAKPiAtCXU4 IHJlbWFwX3NsaWNlOwo+IC0JYm9vbCBjbG9zZWQ6MTsKPiAtCWJvb2wgYmFubmFibGU6MTsKPiAt CWJvb2wgYmFubmVkOjE7Cj4gKwkvKioKPiArCSAqIEBzdGF0dXNfbm90aWZpZXI6IGxpc3Qgb2Yg Y2FsbGJhY2tzCj4gKwkgKi8KPiArCXN0cnVjdCBhdG9taWNfbm90aWZpZXJfaGVhZCBzdGF0dXNf bm90aWZpZXI7Cj4gIAo+IC0JdW5zaWduZWQgaW50IGd1aWx0eV9jb3VudDsgLyogZ3VpbHR5IG9m IGEgaGFuZyAqLwo+IC0JdW5zaWduZWQgaW50IGFjdGl2ZV9jb3VudDsgLyogYWN0aXZlIGR1cmlu ZyBoYW5nICovCj4gKwkvKioKPiArCSAqIEBndWlsdHlfY291bnQ6IEhvdyBtYW55IHRpbWVzIHRo aXMgY29udGV4dCBoYXMgY2F1c2VkIGEgR1BVIGhhbmcuCj4gKwkgKi8KPiArCXVuc2lnbmVkIGlu dCBndWlsdHlfY291bnQ7Cj4gKwkvKioKPiArCSAqIEBhY3RpdmVfY291bnQ6IEhvdyBtYW55IHRp bWVzIHRoaXMgY29udGV4dCB3YXMgYWN0aXZlIGR1cmluZyBhIEdQVQo+ICsJICogaGFuZywgYnV0 IGRpZCBub3QgY2F1c2UgaXQuCj4gKwkgKi8KPiArCXVuc2lnbmVkIGludCBhY3RpdmVfY291bnQ7 Cj4gIAo+ICAjZGVmaW5lIENPTlRFWFRfU0NPUkVfR1VJTFRZCQkxMAo+ICAjZGVmaW5lIENPTlRF WFRfU0NPUkVfQkFOX1RIUkVTSE9MRAk0MAo+IC0JLyogQWNjdW11bGF0ZWQgc2NvcmUgb2YgaGFu Z3MgY2F1c2VkIGJ5IHRoaXMgY29udGV4dCAqLwo+ICsJLyoqCj4gKwkgKiBAYmFuX3Njb3JlOiBB Y2N1bXVsYXRlZCBzY29yZSBvZiBhbGwgaGFuZ3MgY2F1c2VkIGJ5IHRoaXMgY29udGV4dC4KPiAr CSAqLwo+ICAJaW50IGJhbl9zY29yZTsKPiArCj4gKwkvKioKPiArCSAqIEByZW1hcF9zbGljZTog Qml0bWFzayBvZiBjYWNoZSBsaW5lcyB0aGF0IG5lZWQgcmVtYXBwaW5nCj4gKwkgKi8KPiArCXU4 IHJlbWFwX3NsaWNlOwo+ICB9Owo+ICAKPiArc3RhdGljIGlubGluZSBib29sIGk5MTVfZ2VtX2Nv bnRleHRfaXNfY2xvc2VkKGNvbnN0IHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gK3sK PiArCXJldHVybiB0ZXN0X2JpdChDT05URVhUX0NMT1NFRCwgJmN0eC0+ZmxhZ3MpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fY29udGV4dF9zZXRfY2xvc2VkKHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gK3sKPiArCUdFTV9CVUdfT04oaTkxNV9nZW1fY29u dGV4dF9pc19jbG9zZWQoY3R4KSk7Cj4gKwlzZXRfYml0KENPTlRFWFRfQ0xPU0VELCAmY3R4LT5m bGFncyk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9jb250ZXh0X25v X2Vycm9yX2NhcHR1cmUoY29uc3Qgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiArewo+ ICsJcmV0dXJuIHRlc3RfYml0KENPTlRFWFRfTk9fRVJST1JfQ0FQVFVSRSwgJmN0eC0+ZmxhZ3Mp Owo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fY29udGV4dF9zZXRfbm9f ZXJyb3JfY2FwdHVyZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlyZXR1 cm4gc2V0X2JpdChDT05URVhUX05PX0VSUk9SX0NBUFRVUkUsICZjdHgtPmZsYWdzKTsKPiArfQo+ ICsKPiArc3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfdW5zZXRfbm9fZXJyb3Jf Y2FwdHVyZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlyZXR1cm4gY2xl YXJfYml0KENPTlRFWFRfTk9fRVJST1JfQ0FQVFVSRSwgJmN0eC0+ZmxhZ3MpOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fY29udGV4dF9pc19iYW5uYWJsZShjb25zdCBz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlyZXR1cm4gdGVzdF9iaXQoQ09O VEVYVF9CQU5OQUJMRSwgJmN0eC0+ZmxhZ3MpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZv aWQgaTkxNV9nZW1fY29udGV4dF9zZXRfYmFubmFibGUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQg KmN0eCkKPiArewo+ICsJc2V0X2JpdChDT05URVhUX0JBTk5BQkxFLCAmY3R4LT5mbGFncyk7Cj4g K30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9jb250ZXh0X3Vuc2V0X2Jhbm5h YmxlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gK3sKPiArCWNsZWFyX2JpdChDT05U RVhUX0JBTk5BQkxFLCAmY3R4LT5mbGFncyk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgYm9v bCBpOTE1X2dlbV9jb250ZXh0X2lzX2Jhbm5lZChjb25zdCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4 dCAqY3R4KQo+ICt7Cj4gKwlyZXR1cm4gdGVzdF9iaXQoQ09OVEVYVF9CQU5ORUQsICZjdHgtPmZs YWdzKTsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfc2V0 X2Jhbm5lZChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlzZXRfYml0KENP TlRFWFRfQkFOTkVELCAmY3R4LT5mbGFncyk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgYm9v bCBpOTE1X2dlbV9jb250ZXh0X2ZvcmNlX3NpbmdsZV9zdWJtaXNzaW9uKGNvbnN0IHN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gK3sKPiArCXJldHVybiB0ZXN0X2JpdChDT05URVhUX0ZP UkNFX1NJTkdMRV9TVUJNSVNTSU9OLCAmY3R4LT5mbGFncyk7Cj4gK30KPiArCj4gK3N0YXRpYyBp bmxpbmUgdm9pZCBpOTE1X2dlbV9jb250ZXh0X3NldF9mb3JjZV9zaW5nbGVfc3VibWlzc2lvbihz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlzZXRfYml0KENPTlRFWFRfRk9S Q0VfU0lOR0xFX1NVQk1JU1NJT04sICZjdHgtPmZsYWdzKTsKPiArfQo+ICsKPiAgZW51bSBmYl9v cF9vcmlnaW4gewo+ICAJT1JJR0lOX0dUVCwKPiAgCU9SSUdJTl9DUFUsCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCj4gaW5kZXggOTI1NjBhNzc2ZTE3Li5kODc2MGFjZjgwMDEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtMjY1NiwzNCArMjY1NiwyNCBAQCB2b2lkICppOTE1X2dl bV9vYmplY3RfcGluX21hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAJZ290 byBvdXRfdW5sb2NrOwo+ICB9Cj4gIAo+IC1zdGF0aWMgYm9vbCBpOTE1X2NvbnRleHRfaXNfYmFu bmVkKGNvbnN0IHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gK3N0YXRpYyBib29sIGJh bl9jb250ZXh0KGNvbnN0IHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gIHsKPiAtCWlm IChjdHgtPmJhbm5lZCkKPiAtCQlyZXR1cm4gdHJ1ZTsKPiAtCj4gLQlpZiAoIWN0eC0+YmFubmFi bGUpCj4gLQkJcmV0dXJuIGZhbHNlOwo+IC0KPiAtCWlmIChjdHgtPmJhbl9zY29yZSA+PSBDT05U RVhUX1NDT1JFX0JBTl9USFJFU0hPTEQpIHsKPiAtCQlEUk1fREVCVUcoImNvbnRleHQgaGFuZ2lu ZyB0b28gb2Z0ZW4sIGJhbm5pbmchXG4iKTsKPiAtCQlyZXR1cm4gdHJ1ZTsKPiAtCX0KPiAtCj4g LQlyZXR1cm4gZmFsc2U7Cj4gKwlyZXR1cm4gKGk5MTVfZ2VtX2NvbnRleHRfaXNfYmFubmFibGUo Y3R4KSAmJgo+ICsJCWN0eC0+YmFuX3Njb3JlID49IENPTlRFWFRfU0NPUkVfQkFOX1RIUkVTSE9M RCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfbWFya19ndWlsdHko c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAgewo+IC0JY3R4LT5iYW5fc2NvcmUgKz0g Q09OVEVYVF9TQ09SRV9HVUlMVFk7Cj4gLQo+IC0JY3R4LT5iYW5uZWQgPSBpOTE1X2NvbnRleHRf aXNfYmFubmVkKGN0eCk7Cj4gIAljdHgtPmd1aWx0eV9jb3VudCsrOwo+ICsJY3R4LT5iYW5fc2Nv cmUgKz0gQ09OVEVYVF9TQ09SRV9HVUlMVFk7Cj4gKwlpZiAoYmFuX2NvbnRleHQoY3R4KSkKPiAr CQlpOTE1X2dlbV9jb250ZXh0X3NldF9iYW5uZWQoY3R4KTsKPiAgCj4gIAlEUk1fREVCVUdfRFJJ VkVSKCJjb250ZXh0ICVzIG1hcmtlZCBndWlsdHkgKHNjb3JlICVkKSBiYW5uZWQ/ICVzXG4iLAo+ ICAJCQkgY3R4LT5uYW1lLCBjdHgtPmJhbl9zY29yZSwKPiAtCQkJIHllc25vKGN0eC0+YmFubmVk KSk7Cj4gKwkJCSB5ZXNubyhpOTE1X2dlbV9jb250ZXh0X2lzX2Jhbm5lZChjdHgpKSk7Cj4gIAo+ IC0JaWYgKCFjdHgtPmJhbm5lZCB8fCBJU19FUlJfT1JfTlVMTChjdHgtPmZpbGVfcHJpdikpCj4g KwlpZiAoIWk5MTVfZ2VtX2NvbnRleHRfaXNfYmFubmVkKGN0eCkgfHwgSVNfRVJSX09SX05VTEwo Y3R4LT5maWxlX3ByaXYpKQo+ICAJCXJldHVybjsKPiAgCj4gIAljdHgtPmZpbGVfcHJpdi0+Y29u dGV4dF9iYW5zKys7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IGlu ZGV4IDQ4ZTRlZDViYjIwOS4uNWMwYzcwNjRkNTMyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2NvbnRleHQuYwo+IEBAIC0xNDEsNyArMTQxLDcgQEAgdm9pZCBpOTE1X2dlbV9j b250ZXh0X2ZyZWUoc3RydWN0IGtyZWYgKmN0eF9yZWYpCj4gIAo+ICAJbG9ja2RlcF9hc3NlcnRf aGVsZCgmY3R4LT5pOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiAgCXRyYWNlX2k5MTVfY29udGV4 dF9mcmVlKGN0eCk7Cj4gLQlHRU1fQlVHX09OKCFjdHgtPmNsb3NlZCk7Cj4gKwlHRU1fQlVHX09O KCFpOTE1X2dlbV9jb250ZXh0X2lzX2Nsb3NlZChjdHgpKTsKPiAgCj4gIAlpOTE1X3BwZ3R0X3B1 dChjdHgtPnBwZ3R0KTsKPiAgCj4gQEAgLTIyOCw4ICsyMjgsNyBAQCBzdGF0aWMgdm9pZCBpOTE1 X3BwZ3R0X2Nsb3NlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQo+ICAKPiAgc3RhdGlj IHZvaWQgY29udGV4dF9jbG9zZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICB7Cj4g LQlHRU1fQlVHX09OKGN0eC0+Y2xvc2VkKTsKPiAtCWN0eC0+Y2xvc2VkID0gdHJ1ZTsKPiArCWk5 MTVfZ2VtX2NvbnRleHRfc2V0X2Nsb3NlZChjdHgpOwo+ICAJaWYgKGN0eC0+cHBndHQpCj4gIAkJ aTkxNV9wcGd0dF9jbG9zZSgmY3R4LT5wcGd0dC0+YmFzZSk7Cj4gIAljdHgtPmZpbGVfcHJpdiA9 IEVSUl9QVFIoLUVCQURGKTsKPiBAQCAtMzI5LDcgKzMyOCw3IEBAIF9fY3JlYXRlX2h3X2NvbnRl eHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJICogaXMgbm8gcmVtYXAg aW5mbywgaXQgd2lsbCBiZSBhIE5PUC4gKi8KPiAgCWN0eC0+cmVtYXBfc2xpY2UgPSBBTExfTDNf U0xJQ0VTKGRldl9wcml2KTsKPiAgCj4gLQljdHgtPmJhbm5hYmxlID0gdHJ1ZTsKPiArCWk5MTVf Z2VtX2NvbnRleHRfc2V0X2Jhbm5hYmxlKGN0eCk7Cj4gIAljdHgtPnJpbmdfc2l6ZSA9IDQgKiBQ QUdFX1NJWkU7Cj4gIAljdHgtPmRlc2NfdGVtcGxhdGUgPSBHRU44X0NUWF9BRERSRVNTSU5HX01P REUoZGV2X3ByaXYpIDw8Cj4gIAkJCSAgICAgR0VOOF9DVFhfQUREUkVTU0lOR19NT0RFX1NISUZU Owo+IEBAIC00MTgsOCArNDE3LDkgQEAgaTkxNV9nZW1fY29udGV4dF9jcmVhdGVfZ3Z0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpZiAoSVNfRVJSKGN0eCkpCj4gIAkJZ290byBvdXQ7Cj4g IAo+IC0JY3R4LT5jbG9zZWQgPSB0cnVlOyAvKiBub3QgdXNlciBhY2Nlc3NpYmxlICovCj4gLQlj dHgtPmV4ZWNsaXN0c19mb3JjZV9zaW5nbGVfc3VibWlzc2lvbiA9IHRydWU7Cj4gKwlpOTE1X2dl bV9jb250ZXh0X3NldF9jbG9zZWQoY3R4KTsgLyogbm90IHVzZXIgYWNjZXNzaWJsZSAqLwo+ICsJ aTkxNV9nZW1fY29udGV4dF91bnNldF9iYW5uYWJsZShjdHgpOwo+ICsJaTkxNV9nZW1fY29udGV4 dF9zZXRfZm9yY2Vfc2luZ2xlX3N1Ym1pc3Npb24oY3R4KTsKPiAgCWN0eC0+cmluZ19zaXplID0g NTEyICogUEFHRV9TSVpFOyAvKiBNYXggcmluZyBidWZmZXIgc2l6ZSAqLwo+ICBvdXQ6Cj4gIAlt dXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiBAQCAtNDY4LDYgKzQ2OCw3IEBAIGlu dCBpOTE1X2dlbV9jb250ZXh0X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ICAJCXJldHVybiBQVFJfRVJSKGN0eCk7Cj4gIAl9Cj4gIAo+ICsJaTkxNV9nZW1fY29udGV4 dF91bnNldF9iYW5uYWJsZShjdHgpOwo+ICAJY3R4LT5wcmlvcml0eSA9IEk5MTVfUFJJT1JJVFlf TUlOOyAvKiBsb3dlc3QgcHJpb3JpdHk7IGlkbGUgdGFzayAqLwo+ICAJZGV2X3ByaXYtPmtlcm5l bF9jb250ZXh0ID0gY3R4Owo+ICAKPiBAQCAtMTA0MCwxMCArMTA0MSwxMCBAQCBpbnQgaTkxNV9n ZW1fY29udGV4dF9nZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAo+ICAJCQlhcmdzLT52YWx1ZSA9IHRvX2k5MTUoZGV2KS0+Z2d0dC5iYXNlLnRvdGFsOwo+ ICAJCWJyZWFrOwo+ICAJY2FzZSBJOTE1X0NPTlRFWFRfUEFSQU1fTk9fRVJST1JfQ0FQVFVSRToK PiAtCQlhcmdzLT52YWx1ZSA9ICEhKGN0eC0+ZmxhZ3MgJiBDT05URVhUX05PX0VSUk9SX0NBUFRV UkUpOwo+ICsJCWFyZ3MtPnZhbHVlID0gaTkxNV9nZW1fY29udGV4dF9ub19lcnJvcl9jYXB0dXJl KGN0eCk7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9CQU5OQUJMRToK PiAtCQlhcmdzLT52YWx1ZSA9IGN0eC0+YmFubmFibGU7Cj4gKwkJYXJncy0+dmFsdWUgPSBpOTE1 X2dlbV9jb250ZXh0X2lzX2Jhbm5hYmxlKGN0eCk7Cj4gIAkJYnJlYWs7Cj4gIAlkZWZhdWx0Ogo+ ICAJCXJldCA9IC1FSU5WQUw7Cj4gQEAgLTEwODUsMjIgKzEwODYsMjIgQEAgaW50IGk5MTVfZ2Vt X2NvbnRleHRfc2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKPiAgCQl9Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9OT19FUlJP Ul9DQVBUVVJFOgo+IC0JCWlmIChhcmdzLT5zaXplKSB7Cj4gKwkJaWYgKGFyZ3MtPnNpemUpCj4g IAkJCXJldCA9IC1FSU5WQUw7Cj4gLQkJfSBlbHNlIHsKPiAtCQkJaWYgKGFyZ3MtPnZhbHVlKQo+ IC0JCQkJY3R4LT5mbGFncyB8PSBDT05URVhUX05PX0VSUk9SX0NBUFRVUkU7Cj4gLQkJCWVsc2UK PiAtCQkJCWN0eC0+ZmxhZ3MgJj0gfkNPTlRFWFRfTk9fRVJST1JfQ0FQVFVSRTsKPiAtCQl9Cj4g KwkJZWxzZSBpZiAoYXJncy0+dmFsdWUpCj4gKwkJCWk5MTVfZ2VtX2NvbnRleHRfc2V0X25vX2Vy cm9yX2NhcHR1cmUoY3R4KTsKPiArCQllbHNlCj4gKwkJCWk5MTVfZ2VtX2NvbnRleHRfdW5zZXRf bm9fZXJyb3JfY2FwdHVyZShjdHgpOwo+ICAJCWJyZWFrOwo+ICAJY2FzZSBJOTE1X0NPTlRFWFRf UEFSQU1fQkFOTkFCTEU6Cj4gIAkJaWYgKGFyZ3MtPnNpemUpCj4gIAkJCXJldCA9IC1FSU5WQUw7 Cj4gIAkJZWxzZSBpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikgJiYgIWFyZ3MtPnZhbHVlKQo+ ICAJCQlyZXQgPSAtRVBFUk07Cj4gKwkJZWxzZSBpZiAoYXJncy0+dmFsdWUpCj4gKwkJCWk5MTVf Z2VtX2NvbnRleHRfc2V0X2Jhbm5hYmxlKGN0eCk7Cj4gIAkJZWxzZQo+IC0JCQljdHgtPmJhbm5h YmxlID0gYXJncy0+dmFsdWU7Cj4gKwkJCWk5MTVfZ2VtX2NvbnRleHRfdW5zZXRfYmFubmFibGUo Y3R4KTsKPiAgCQlicmVhazsKPiAgCWRlZmF1bHQ6Cj4gIAkJcmV0ID0gLUVJTlZBTDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gaW5kZXggYzY0NDM4Zjgx NzFjLi5hNWZlMjk5ZGExZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f ZXhlY2J1ZmZlci5jCj4gQEAgLTEyMzgsNyArMTIzOCw3IEBAIGk5MTVfZ2VtX3ZhbGlkYXRlX2Nv bnRleHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAJ aWYgKElTX0VSUihjdHgpKQo+ICAJCXJldHVybiBjdHg7Cj4gIAo+IC0JaWYgKGN0eC0+YmFubmVk KSB7Cj4gKwlpZiAoaTkxNV9nZW1fY29udGV4dF9pc19iYW5uZWQoY3R4KSkgewo+ICAJCURSTV9E RUJVRygiQ29udGV4dCAldSB0cmllZCB0byBzdWJtaXQgd2hpbGUgYmFubmVkXG4iLCBjdHhfaWQp Owo+ICAJCXJldHVybiBFUlJfUFRSKC1FSU8pOwo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ncHVfZXJyb3IuYwo+IGluZGV4IGUxNjAzN2QxYjBiYS4uZTM0NTMyZDk4MDA0IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4gQEAgLTEzMzEsNyArMTMzMSw3IEBA IHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlY29yZF9yaW5ncyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gIAkJCX0KPiAgCj4gIAkJCWVycm9yLT5zaW11bGF0ZWQgfD0KPiAtCQkJ CXJlcXVlc3QtPmN0eC0+ZmxhZ3MgJiBDT05URVhUX05PX0VSUk9SX0NBUFRVUkU7Cj4gKwkJCQlp OTE1X2dlbV9jb250ZXh0X25vX2Vycm9yX2NhcHR1cmUocmVxdWVzdC0+Y3R4KTsKPiAgCj4gIAkJ CWVlLT5ycV9oZWFkID0gcmVxdWVzdC0+aGVhZDsKPiAgCQkJZWUtPnJxX3Bvc3QgPSByZXF1ZXN0 LT5wb3N0Zml4Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggZmM2NGJlMWJkZWE3 Li4yMjc5Nzg4MjAzMjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC00MTMs NyArNDEzLDcgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX3N1Ym1pdF9wb3J0cyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIHN0YXRpYyBib29sIGN0eF9zaW5nbGVfcG9ydF9zdWJt aXNzaW9uKGNvbnN0IHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gIHsKPiAgCXJldHVy biAoSVNfRU5BQkxFRChDT05GSUdfRFJNX0k5MTVfR1ZUKSAmJgo+IC0JCWN0eC0+ZXhlY2xpc3Rz X2ZvcmNlX3NpbmdsZV9zdWJtaXNzaW9uKTsKPiArCQlpOTE1X2dlbV9jb250ZXh0X2ZvcmNlX3Np bmdsZV9zdWJtaXNzaW9uKGN0eCkpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgYm9vbCBjYW5fbWVyZ2Vf Y3R4KGNvbnN0IHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpwcmV2LAo+IC0tIAo+IDIuMTEuMAo+ IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoK LS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0 dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=