From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm: Constify mode argument to connector .mode_valid() helper operation Date: Thu, 7 Jun 2018 15:03:12 +0300 Message-ID: <20180607120312.GM23723@intel.com> References: <20180606090812.20349-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7DA626F244 for ; Thu, 7 Jun 2018 12:03:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180606090812.20349-1-laurent.pinchart@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Tomi Valkeinen , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKdW4gMDYsIDIwMTggYXQgMTI6MDg6MTJQTSArMDMwMCwgTGF1cmVudCBQaW5jaGFy dCB3cm90ZToKPiBUaGUgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgLm1vZGVfdmFsaWQoKSBv cGVyYXRpb24gc2hvdWxkIG5vdCBtb2RpZnkKPiB0aGUgbW9kZSBpdCByZWNlaXZlcyBpbiBhbnkg d2F5LiBUbyBtYWtlIHRoaXMgZXhwbGljaXQsIGNvbnN0aWZ5IHRoZQo+IG1vZGUgcG9pbnRlciBh cyBkb25lIGZvciBhbGwgb3RoZXIgLm1vZGVfdmFsaWQoKSBvcGVyYXRpb25zLCBhbmQgdXBkYXRl Cj4gYWxsIGRyaXZlcnMgYWNjb3JkaW5nbHkuCj4gCj4gU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQ aW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgoKRGlkbid0IHNwb3Qg YW55dGhpbmcgd3JvbmcuIEkgdGhpbmsgdGhlIG9tYXAgY2FzZSBzaG91bGQgYmUgZmluZSBhcwp3 ZWxsIHNpbmNlIHRoZSBwcm9iZSBoZWxwZXIgd2lsbCBwb3B1bGF0ZSB0aGUgdnJlZnJlc2ggZm9y IHRoZSBtb2RlCmV2ZW50dWFsbHkuCgpSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCj4gLS0tCj4gCj4gVGhpcyBwYXRjaCB0b3VjaGVz IGxvdHMgb2YgZHJpdmVycywgc28gY2hlY2twYXRjaC5wbCBjcmVhdGVkIGEgaHVnZSBDQyBsaXN0 Cj4gdGhhdCB3b3VsZCBsaWtlbHkgYmUgdG9vIGxhcmdlIGZvciB0aGUgbWFpbGluZyBsaXN0LiBB cyBjaGFuZ2VzIHRvIG1vc3QgZmlsZXMKPiBqdXN0IGJvaWwgZG93biB0byBhZGRpbmcgYSBjb25z dCBrZXl3b3JkLCBJJ3ZlIGRlY2lkZWQgdG8gb25seSBDQyB0aGUgRFJNIG1pc2MKPiBtYWludGFp bmVycywgYXMgd2VsbCBhcyBUb21pIGZvciBvbWFwZHJtIGFzIHRoZSBjaGFuZ2UgdG8gdGhhdCBk cml2ZXIgaXMKPiBzbGlnaHRseSBtb3JlIGNvbXBsZXguCj4gCj4gIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jb25uZWN0b3JzLmMgICAgICAgICAgIHwgIDggKysrKy0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbWJpb3NfZHAuYyAgICAgICAgICAgICAgICAg fCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tYmlvc19kcC5oICAgICAg ICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92aXJ0 dWFsLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oICAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX2ttcy5jICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUx MV9kcnYuYyAgICAgICAgICAgICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9t ZWdhY2hpcHMtc3RkcHh4eHgtZ2UtYjg1MHYzLWZ3LmMgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vYnJpZGdlL3NpaTkwMnguYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYyAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9y Z2IuYyAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2 X2ludGVsX2NydC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJt L2dtYTUwMC9jZHZfaW50ZWxfZHAuYyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9oZG1pLmMgICAgICAgICAgICAgICAgICB8ICAy ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2x2ZHMuYyAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9kc2lfb3V0cHV0 LmMgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3Ry YWlsX2hkbWkuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9n bWE1MDAvcHNiX2ludGVsX2Rydi5oICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL2dtYTUwMC9wc2JfaW50ZWxfbHZkcy5jICAgICAgICAgICAgICAgICAgfCAgMiAr LQo+ICBkcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9zZHZvLmMgICAgICAgICAgICAg ICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJt X3ZkYWMuYyAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2kyYy9jaDcwMDZfZHJ2 LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTJj L3NpbDE2NF9kcnYuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZHZvLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9fY2g3MDE3LmMgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2R2b19jaDd4eHgu YyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv ZHZvX2l2Y2guYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kdm9fbnMyNTAxLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2R2b19zaWwxNjQuYyAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZHZvX3RmcDQxMC5jICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9sdmRzLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nkdm8uYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaW14L2lteC10dmUuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29u X3ZlbmNfY3Zicy5jICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v bWdhZzIwMC9tZ2FnMjAwX21vZGUuYyAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KPiAgZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jICAgICAgfCAg MiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jICAgICAgICAgICAg ICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZWRwL2VkcF9jb25uZWN0b3Iu YyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hk bWlfY29ubmVjdG9yLmMgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9kaXNwbnYwNC90dm52MTcuYyAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYyAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9jb25uZWN0b3IuYyAgICAgICAg ICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5j ICAgICAgICAgICAgICAgICB8ICA3ICsrKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxf ZGlzcGxheS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vcmFkZW9uL2F0b21iaW9zX2RwLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Nvbm5lY3RvcnMuYyAgICAgICAgICAgICAgIHwg MTAgKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYyAg ICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X21vZGUuaCAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL2Nkbi1kcC1jb3JlLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICst Cj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRhLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9zdW40 aS9zdW40aV90di5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL3RlZ3JhL2RzaS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9yZ2IuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vdGlsY2Rj L3RpbGNkY19jcnRjLmMgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ICBkcml2ZXJzL2dw dS9kcm0vdGlsY2RjL3RpbGNkY19kcnYuaCAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ ICBkcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19leHRlcm5hbC5jICAgICAgICAgICAgICAg ICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX3BhbmVsLmMgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfdGZw NDEwLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vdWRsL3Vk bF9jb25uZWN0b3IuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1 L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0venRlL3p4X3R2ZW5jLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3p0ZS96eF92Z2EuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL3N0YWdpbmcvdmJveHZp ZGVvL3Zib3hfbW9kZS5jICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGluY2x1ZGUvZHJt L2RybV9lbmNvZGVyX3NsYXZlLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAg aW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaCAgICAgICAgICAgICAgICAg fCAgMiArLQo+ICA4MyBmaWxlcyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCA5NSBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2Nvbm5lY3RvcnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jb25uZWN0 b3JzLmMKPiBpbmRleCA4ZTY2ODUxZWI0MjcuLjA1NzI1NzZmN2FjZCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY29ubmVjdG9ycy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nvbm5lY3RvcnMuYwo+IEBAIC02OTIsNyAr NjkyLDcgQEAgc3RhdGljIGludCBhbWRncHVfY29ubmVjdG9yX2x2ZHNfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9t b2RlX3N0YXR1cyBhbWRncHVfY29ubmVjdG9yX2x2ZHNfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCQkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpCj4gKwkJCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkK PiAgewo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gYW1kZ3B1X2Nvbm5lY3Rvcl9i ZXN0X3NpbmdsZV9lbmNvZGVyKGNvbm5lY3Rvcik7Cj4gIAo+IEBAIC04NDQsNyArODQ0LDcgQEAg c3RhdGljIGludCBhbWRncHVfY29ubmVjdG9yX3ZnYV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVz IGFtZGdwdV9jb25uZWN0b3JfdmdhX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKPiAtCQkJCQkgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJ CQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gIAlzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gQEAgLTExNzMsNyArMTE3Myw3IEBAIHN0 YXRpYyB2b2lkIGFtZGdwdV9jb25uZWN0b3JfZHZpX2ZvcmNlKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyBhbWRn cHVfY29ubmVjdG9yX2R2aV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCj4gLQkJCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJCSAg ICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ICAJc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IEBAIC0xNDQ5LDcgKzE0NDksNyBAQCBhbWRncHVf Y29ubmVjdG9yX2RwX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29s IGZvcmNlKQo+ICB9Cj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgYW1kZ3B1X2Nv bm5lY3Rvcl9kcF9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4g LQkJCQkJICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkJICAgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBhbWRncHVfY29u bmVjdG9yICphbWRncHVfY29ubmVjdG9yID0gdG9fYW1kZ3B1X2Nvbm5lY3Rvcihjb25uZWN0b3Ip Owo+ICAJc3RydWN0IGFtZGdwdV9jb25uZWN0b3JfYXRvbV9kaWcgKmFtZGdwdV9kaWdfY29ubmVj dG9yID0gYW1kZ3B1X2Nvbm5lY3Rvci0+Y29uX3ByaXY7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2F0b21iaW9zX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hdG9tYmlvc19kcC5jCj4gaW5kZXggZjgxMDY4YmE0Y2M2Li5jNDQ2OTcwMmRkYzIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbWJpb3NfZHAuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2F0b21iaW9zX2RwLmMKPiBAQCAtNDIwLDcg KzQyMCw3IEBAIHZvaWQgYW1kZ3B1X2F0b21iaW9zX2RwX3NldF9saW5rX2NvbmZpZyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICB9Cj4gIAo+ICBpbnQgYW1kZ3B1X2F0b21iaW9z X2RwX21vZGVfdmFsaWRfaGVscGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4g LQkJCQkgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJICBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IGFtZGdwdV9jb25uZWN0 b3IgKmFtZGdwdV9jb25uZWN0b3IgPSB0b19hbWRncHVfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4g IAlzdHJ1Y3QgYW1kZ3B1X2Nvbm5lY3Rvcl9hdG9tX2RpZyAqZGlnX2Nvbm5lY3RvcjsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbWJpb3NfZHAuaCBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2F0b21iaW9zX2RwLmgKPiBpbmRleCBmNTlkODVlYWRkZjAu LjNlMjRhY2Y4MTMzZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h dG9tYmlvc19kcC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbWJpb3Nf ZHAuaAo+IEBAIC0zMiw3ICszMiw3IEBAIGludCBhbWRncHVfYXRvbWJpb3NfZHBfZ2V0X3BhbmVs X21vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICB2b2lkIGFtZGdwdV9hdG9tYmlv c19kcF9zZXRfbGlua19jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAg CQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Cj4gIGludCBhbWRncHVf YXRvbWJpb3NfZHBfbW9kZV92YWxpZF9oZWxwZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiAtCQkJCSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ICsJCQkJICBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Cj4gIGJvb2wgYW1kZ3B1X2F0b21i aW9zX2RwX25lZWRzX2xpbmtfdHJhaW4oc3RydWN0IGFtZGdwdV9jb25uZWN0b3IgKmFtZGdwdV9j b25uZWN0b3IpOwo+ICB2b2lkIGFtZGdwdV9hdG9tYmlvc19kcF9zZXRfcnhfcG93ZXJfc3RhdGUo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkJCSAgICB1OCBwb3dlcl9zdGF0 ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92aXJ0dWFs LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdmlydHVhbC5jCj4gaW5kZXggZGJm MmNjZDBjNzQ0Li5iNTk1NjIyYWIwZTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZGNlX3ZpcnR1YWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2RjZV92aXJ0dWFsLmMKPiBAQCAtMzI4LDcgKzMyOCw3IEBAIHN0YXRpYyBpbnQgZGNlX3ZpcnR1 YWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIH0KPiAgCj4g IHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyBkY2VfdmlydHVhbF9tb2RlX3ZhbGlkKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkgIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKQo+ICsJCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkK PiAgewo+ICAJcmV0dXJuIE1PREVfT0s7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKPiBpbmRleCAxY2UxMGJjMmQzN2IuLmE0 NmFhZGNjNDJlOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Ft ZGdwdV9kbS9hbWRncHVfZG0uYwo+IEBAIC0yODM2LDcgKzI4MzYsNyBAQCBzdGF0aWMgdm9pZCBo YW5kbGVfZWRpZF9tZ210KHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9yICphY29ubmVjdG9yKQo+ ICB9Cj4gIAo+ICBlbnVtIGRybV9tb2RlX3N0YXR1cyBhbWRncHVfZG1fY29ubmVjdG9yX21vZGVf dmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCSAgIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUpCj4gIHsKPiAgCWludCByZXN1bHQgPSBNT0RFX0VSUk9SOwo+ICAJc3RydWN0 IGRjX3NpbmsgKmRjX3Npbms7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv YW1kZ3B1X2RtL2FtZGdwdV9kbS5oCj4gaW5kZXggZDVhYTg5YWQ1NTcxLi44ZmY5NTUzM2IzOGMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRn cHVfZG0uaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1k Z3B1X2RtLmgKPiBAQCAtMjQ4LDcgKzI0OCw3IEBAIHZvaWQgYW1kZ3B1X2RtX2Nvbm5lY3Rvcl9p bml0X2hlbHBlcihzdHJ1Y3QgYW1kZ3B1X2Rpc3BsYXlfbWFuYWdlciAqZG0sCj4gIAkJCQkgICAg IGludCBsaW5rX2luZGV4KTsKPiAgCj4gIGVudW0gZHJtX21vZGVfc3RhdHVzIGFtZGdwdV9kbV9j b25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0J CQkJICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ICsJCQkJICAgY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ICAKPiAgdm9pZCBkbV9yZXN0b3JlX2RybV9j b25uZWN0b3Jfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJCSAgICBzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FzdC9hc3RfbW9kZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfbW9kZS5jCj4gaW5kZXgg MDM2ZGZmOGExZjMzLi5iYWMwMzhhOTljMjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FzdC9hc3RfbW9kZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfbW9kZS5jCj4g QEAgLTgwMCw3ICs4MDAsNyBAQCBzdGF0aWMgaW50IGFzdF9nZXRfbW9kZXMoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3Rh dHVzIGFzdF9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJ CSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCSAgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBhc3RfcHJpdmF0ZSAqYXN0ID0g Y29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJaW50IGZsYWdzID0gTU9ERV9OT01PREU7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19rbXMuYyBiL2RyaXZl cnMvZ3B1L2RybS9ib2Nocy9ib2Noc19rbXMuYwo+IGluZGV4IDIzMzk4MGE3ODU5MS4uMjQ2ZTQ2 MTU5OGQ2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19rbXMuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19rbXMuYwo+IEBAIC0xODksNyArMTg5 LDcgQEAgc3RhdGljIGludCBib2Noc19jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1 cyBib2Noc19jb25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAo+IC0JCQkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkg ICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0 IGJvY2hzX2RldmljZSAqYm9jaHMgPQo+ICAJCWNvbnRhaW5lcl9vZihjb25uZWN0b3IsIHN0cnVj dCBib2Noc19kZXZpY2UsIGNvbm5lY3Rvcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9h ZHY3NTExL2Fkdjc1MTFfZHJ2LmMKPiBpbmRleCA3MzAyMWIzODhlMTIuLmU3MDFjNDcxNWM3OCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jCj4g QEAgLTY1NSw3ICs2NTUsNyBAQCBhZHY3NTExX2RldGVjdChzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUx MSwgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGVu dW0gZHJtX21vZGVfc3RhdHVzIGFkdjc1MTFfbW9kZV92YWxpZChzdHJ1Y3QgYWR2NzUxMSAqYWR2 NzUxMSwKPiAtCQkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCSAg ICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlpZiAobW9k ZS0+Y2xvY2sgPiAxNjUwMDApCj4gIAkJcmV0dXJuIE1PREVfQ0xPQ0tfSElHSDsKPiBAQCAtNzc3 LDcgKzc3Nyw3IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9z dGF0dXMKPiAgYWR2NzUxMV9jb25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+IC0JCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ ICsJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlz dHJ1Y3QgYWR2NzUxMSAqYWR2ID0gY29ubmVjdG9yX3RvX2Fkdjc1MTEoY29ubmVjdG9yKTsKPiAg Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbWVnYWNoaXBzLXN0ZHB4eHh4 LWdlLWI4NTB2My1mdy5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9tZWdhY2hpcHMtc3RkcHh4 eHgtZ2UtYjg1MHYzLWZ3LmMKPiBpbmRleCA3Y2NhZGJhN2M5OGMuLjk0YjU2MTBlOTlmZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL21lZ2FjaGlwcy1zdGRweHh4eC1nZS1i ODUwdjMtZncuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbWVnYWNoaXBzLXN0ZHB4 eHh4LWdlLWI4NTB2My1mdy5jCj4gQEAgLTE2Miw3ICsxNjIsNyBAQCBzdGF0aWMgaW50IGdlX2I4 NTB2M19sdmRzX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9 Cj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgZ2VfYjg1MHYzX2x2ZHNfbW9kZV92 YWxpZCgKPiAtCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJcmV0dXJuIE1PREVf T0s7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+IGluZGV4IDYwMzczZDdlYjIyMC4u YzAxZGExYjY5MzYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAy eC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiBAQCAtMjIxLDcg KzIyMSw3IEBAIHN0YXRpYyBpbnQgc2lpOTAyeF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIHNp aTkwMnhfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCQkJ CSAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJCQkgICAgICAgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCS8qIFRPRE86IGNoZWNr IG1vZGUgKi8KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3 NjcuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYwo+IGluZGV4IDBmZDljZjI3 NTQyYy4uNTI2YmEyNWExOTYwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv dGMzNTg3NjcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYwo+IEBA IC0xMTAzLDcgKzExMDMsNyBAQCBzdGF0aWMgYm9vbCB0Y19icmlkZ2VfbW9kZV9maXh1cChzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ICB9Cj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9z dGF0dXMgdGNfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiAtCQkJCSAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJICAg Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCS8qIERQSSBpbnRl cmZhY2UgY2xvY2sgbGltaXRhdGlvbjogdXB0byAxNTQgTUh6ICovCj4gIAlpZiAobW9kZS0+Y2xv Y2sgPiAxNTQwMDApCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwo+IGluZGV4IDA5 YzRiYzBiMTg1OS4uMmE3MjM3YzhmNTZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2hkbWkuYwo+IEBAIC05MTIsNyArOTEyLDcgQEAgc3RhdGljIGludCBoZG1pX2ZpbmRfcGh5X2Nv bmYoc3RydWN0IGhkbWlfY29udGV4dCAqaGRhdGEsIHUzMiBwaXhlbF9jbG9jaykKPiAgfQo+ICAK PiAgc3RhdGljIGludCBoZG1pX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiAtCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCWNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlzdHJ1Y3QgaGRtaV9jb250ZXh0 ICpoZGF0YSA9IGNvbm5lY3Rvcl90b19oZG1pKGNvbm5lY3Rvcik7Cj4gIAlpbnQgcmV0Owo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9yZ2IuYyBiL2Ry aXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jCj4gaW5kZXggYzU0ODA2ZDA4 ZGQ3Li5hNDI4YWIyZGRmMDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3Uv ZnNsX2RjdV9kcm1fcmdiLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1 X2RybV9yZ2IuYwo+IEBAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBpbnQgZnNsX2RjdV9kcm1fY29u bmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4g IAo+ICBzdGF0aWMgaW50IGZzbF9kY3VfZHJtX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKQo+ICsJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKPiAgewo+ICAJaWYgKG1vZGUtPmhkaXNwbGF5ICYgMHhmKQo+ICAJCXJldHVybiBNT0RFX0VS Uk9SOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9jcnQu YyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2NydC5jCj4gaW5kZXggY2I1YTE0 YjdlYzdmLi5kYjlkM2I5MWU5NzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2dtYTUw MC9jZHZfaW50ZWxfY3J0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRl bF9jcnQuYwo+IEBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyB2b2lkIGNkdl9pbnRlbF9jcnRfZHBt cyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIGludCBtb2RlKQo+ICB9Cj4gIAo+ICBzdGF0 aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgY2R2X2ludGVsX2NydF9tb2RlX3ZhbGlkKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSkKPiArCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4g IAlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCj4gIAkJcmV0dXJuIE1P REVfTk9fREJMRVNDQU47Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2 X2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9pbnRlbF9kcC5jCj4gaW5k ZXggNWVhNzg1ZjA3YmE4Li44ODNhN2Q1NGUyYTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2dtYTUwMC9jZHZfaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAv Y2R2X2ludGVsX2RwLmMKPiBAQCAtNTA3LDcgKzUwNyw3IEBAIHN0YXRpYyB2b2lkIGNkdl9pbnRl bF9lZHBfYmFja2xpZ2h0X29mZiAoc3RydWN0IGdtYV9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCj4gIGNkdl9pbnRlbF9kcF9tb2RlX3Zh bGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJICAgIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IGdtYV9lbmNvZGVyICplbmNvZGVyID0gZ21hX2F0dGFj aGVkX2VuY29kZXIoY29ubmVjdG9yKTsKPiAgCXN0cnVjdCBjZHZfaW50ZWxfZHAgKmludGVsX2Rw ID0gZW5jb2Rlci0+ZGV2X3ByaXY7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1 MDAvY2R2X2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2hk bWkuYwo+IGluZGV4IGYwODc4OTk4NTI2YS4uNTE4NTAwNmZjZjljIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9nbWE1MDAvY2R2X2ludGVsX2hkbWkuYwo+IEBAIC0yMjQsNyArMjI0LDcgQEAgc3RhdGlj IGludCBjZHZfaGRtaV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiAgfQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIGNkdl9oZG1pX21vZGVfdmFs aWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCSBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSkKPiAgewo+ICAJaWYgKG1vZGUtPmNsb2NrID4gMTY1MDAwKQo+ICAJCXJldHVybiBNT0RF X0NMT0NLX0hJR0g7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2lu dGVsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2ludGVsX2x2ZHMuYwo+IGlu ZGV4IGRlOTUzMWNhYWNhMC4uYzRlZDgyNDY0NWZiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9nbWE1MDAvY2R2X2ludGVsX2x2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1 MDAvY2R2X2ludGVsX2x2ZHMuYwo+IEBAIC0yNDUsNyArMjQ1LDcgQEAgc3RhdGljIHZvaWQgY2R2 X2ludGVsX2x2ZHNfcmVzdG9yZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9 Cj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgY2R2X2ludGVsX2x2ZHNfbW9kZV92 YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCQkgICAgICBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0 b3ItPmRldjsKPiAgCXN0cnVjdCBkcm1fcHNiX3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9kc2lf b3V0cHV0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL21kZmxkX2RzaV9vdXRwdXQuYwo+IGlu ZGV4IGZlMDIwOTI2ZWE0Zi4uZWZjZDI1ZDAwNDFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9nbWE1MDAvbWRmbGRfZHNpX291dHB1dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2dt YTUwMC9tZGZsZF9kc2lfb3V0cHV0LmMKPiBAQCAtMzQ3LDcgKzM0Nyw3IEBAIHN0YXRpYyBpbnQg bWRmbGRfZHNpX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIG1kZmxkX2RzaV9j b25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0J CQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJCQkJY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBtZGZsZF9kc2lfY29ubmVj dG9yICpkc2lfY29ubmVjdG9yID0KPiAgCQkJCQltZGZsZF9kc2lfY29ubmVjdG9yKGNvbm5lY3Rv cik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfaGRtaS5j IGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9oZG1pLmMKPiBpbmRleCA3ODU2NmE4 MGFkMjUuLmE1YTE4OWI3NTg1ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAw L29ha3RyYWlsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxf aGRtaS5jCj4gQEAgLTUxMCw3ICs1MTAsNyBAQCBzdGF0aWMgdm9pZCBvYWt0cmFpbF9oZG1pX2Rw bXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBpbnQgbW9kZSkKPiAgfQo+ICAKPiAgc3Rh dGljIGVudW0gZHJtX21vZGVfc3RhdHVzIG9ha3RyYWlsX2hkbWlfbW9kZV92YWxpZChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpCj4gKwkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ ICAJaWYgKG1vZGUtPmNsb2NrID4gMTY1MDAwKQo+ICAJCXJldHVybiBNT0RFX0NMT0NLX0hJR0g7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfaW50ZWxfZHJ2LmgKPiBpbmRleCBlMDVlNTM5OWFm MmQuLmIwZGM2Y2UwYzEwZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3Bz Yl9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX2Ry di5oCj4gQEAgLTI1Niw3ICsyNTYsNyBAQCBleHRlcm4gYm9vbCBwc2JfaW50ZWxfbHZkc19tb2Rl X2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJCSAgICAgIGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICAJCQkJICAgICAgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKmFkanVzdGVkX21vZGUpOwo+ICBleHRlcm4gZW51bSBkcm1fbW9kZV9zdGF0dXMg cHNiX2ludGVsX2x2ZHNfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+IC0JCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Cj4gKwkJCQkgICAg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiAgZXh0ZXJuIGludCBwc2Jf aW50ZWxfbHZkc19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiAgCQkJCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiAgCQkJCQl1aW50NjRfdCB2 YWx1ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX2x2 ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX2x2ZHMuYwo+IGluZGV4IDhi YWY2MzI1YzZlNC4uNTdhODFjYjZkYWNkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9n bWE1MDAvcHNiX2ludGVsX2x2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNi X2ludGVsX2x2ZHMuYwo+IEBAIC0zNDQsNyArMzQ0LDcgQEAgc3RhdGljIHZvaWQgcHNiX2ludGVs X2x2ZHNfcmVzdG9yZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4gIAo+ ICBlbnVtIGRybV9tb2RlX3N0YXR1cyBwc2JfaW50ZWxfbHZkc19tb2RlX3ZhbGlkKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpCj4gKwkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsK PiAgCXN0cnVjdCBkcm1fcHNiX3ByaXZhdGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5kZXYtPmRl dl9wcml2YXRlOwo+ICAJc3RydWN0IGdtYV9lbmNvZGVyICpnbWFfZW5jb2RlciA9IGdtYV9hdHRh Y2hlZF9lbmNvZGVyKGNvbm5lY3Rvcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9n bWE1MDAvcHNiX2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVs X3Nkdm8uYwo+IGluZGV4IGYyZWU2YWExMGFmYS4uM2FiYmUzOTJmMWMxIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX3Nkdm8uYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX3Nkdm8uYwo+IEBAIC0xMTU4LDcgKzExNTgsNyBAQCBz dGF0aWMgdm9pZCBwc2JfaW50ZWxfc2R2b19kcG1zKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwgaW50IG1vZGUpCj4gIH0KPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyBwc2Jf aW50ZWxfc2R2b19tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4g LQkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBwc2JfaW50ZWxfc2R2byAq cHNiX2ludGVsX3Nkdm8gPSBpbnRlbF9hdHRhY2hlZF9zZHZvKGNvbm5lY3Rvcik7Cj4gIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV92ZGFj LmMgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV92ZGFjLmMKPiBp bmRleCBkMmY0NzQ5ZWJmOGQuLjViYWVlNDk5NWFlMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV92ZGFjLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV92ZGFjLmMKPiBAQCAtMjgsNyArMjgsNyBA QCBzdGF0aWMgaW50IGhpYm1jX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIGhp Ym1jX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gLQkJCQkgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJCSAgICAg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlyZXR1cm4gTU9E RV9PSzsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTJjL2NoNzAwNl9kcnYu YyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvY2g3MDA2X2Rydi5jCj4gaW5kZXggNTQ0YThhMmQzNTYy Li5kOTdkZWE0ZGM1ODIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2kyYy9jaDcwMDZf ZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL2NoNzAwNl9kcnYuYwo+IEBAIC0xMDIs NyArMTAyLDcgQEAgc3RhdGljIGJvb2wgY2g3MDA2X2VuY29kZXJfbW9kZV9maXh1cChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgY2g3MDA2X2VuY29k ZXJfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJCQkgICAgIHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJaWYgKGNoNzAwNl9sb29rdXBfbW9kZShlbmNv ZGVyLCBtb2RlKSkKPiAgCQlyZXR1cm4gTU9ERV9PSzsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2kyYy9zaWwxNjRfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3NpbDE2NF9kcnYu Ywo+IGluZGV4IGM1MmQ3YTNhZjc4Ni4uZTg2YzM4NmE2ZmM3IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pMmMvc2lsMTY0X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2kyYy9z aWwxNjRfZHJ2LmMKPiBAQCAtMjU0LDcgKzI1NCw3IEBAIHNpbDE2NF9lbmNvZGVyX3Jlc3RvcmUo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ICAKPiAgc3RhdGljIGludAo+ICBzaWwxNjRf ZW5jb2Rlcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAtCQkJICBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IHNpbDE2NF9wcml2ICpwcml2ID0gdG9f c2lsMTY0X3ByaXYoZW5jb2Rlcik7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPiBp bmRleCA2ZWJkODg0MmRiY2MuLjQxMDZiZjlhYmE1ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5 OHhfZHJ2LmMKPiBAQCAtMTI0Myw3ICsxMjQzLDcgQEAgc3RhdGljIGludCB0ZGE5OTh4X2Nvbm5l Y3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAK PiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIHRkYTk5OHhfY29ubmVjdG9yX21vZGVfdmFs aWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCQlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSkKPiAgewo+ICAJLyogVERBMTk5ODggZG90Y2xvY2sgY2FuIGdvIHVwIHRvIDE2NU1IeiAq Lwo+ICAJc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiA9IGNvbm5fdG9fdGRhOTk4eF9wcml2KGNv bm5lY3Rvcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2R2by5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZHZvLmgKPiBpbmRleCA1ZTZhMzAxM2RhNDkuLmQ3YTI1OWFmZGJj NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm8uaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2R2by5oCj4gQEAgLTc1LDcgKzc1LDcgQEAgc3RydWN0IGludGVsX2R2 b19kZXZfb3BzIHsKPiAgCSAqIFxyZXR1cm4gTU9ERV9PSyBpZiB0aGUgbW9kZSBpcyB2YWxpZCwg b3IgYW5vdGhlciBNT0RFXyogb3RoZXJ3aXNlLgo+ICAJICovCj4gIAlpbnQgKCptb2RlX3ZhbGlk KShzdHJ1Y3QgaW50ZWxfZHZvX2RldmljZSAqZHZvLAo+IC0JCQkgIHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlKTsKPiArCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSk7Cj4gIAo+ICAJLyoKPiAgCSAqIENhbGxiYWNrIGZvciBwcmVwYXJpbmcgbW9kZSBjaGFuZ2Vz IG9uIGFuIG91dHB1dAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9fY2g3 MDE3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9fY2g3MDE3LmMKPiBpbmRleCA4MGIzZTE2 Y2Y0OGMuLjIxYTc2Yjg5MjA5YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k dm9fY2g3MDE3LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9fY2g3MDE3LmMKPiBA QCAtMjQ2LDcgKzI0Niw3IEBAIHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIGNoNzAx N19kZXRlY3Qoc3RydWN0IGludGVsX2R2b19kZXZpY2UgKmR2bykKPiAgfQo+ICAKPiAgc3RhdGlj IGVudW0gZHJtX21vZGVfc3RhdHVzIGNoNzAxN19tb2RlX3ZhbGlkKHN0cnVjdCBpbnRlbF9kdm9f ZGV2aWNlICpkdm8sCj4gLQkJCQkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUp Cj4gKwkJCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsK PiAgCWlmIChtb2RlLT5jbG9jayA+IDE2MDAwMCkKPiAgCQlyZXR1cm4gTU9ERV9DTE9DS19ISUdI Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9fY2g3eHh4LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kdm9fY2g3eHh4LmMKPiBpbmRleCA3YWVlZmZkMjQyOGIuLjQ4YzY5 YjI5MDYyMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9fY2g3eHh4LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9fY2g3eHh4LmMKPiBAQCAtMjY0LDcgKzI2 NCw3IEBAIHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIGNoN3h4eF9kZXRlY3Qoc3Ry dWN0IGludGVsX2R2b19kZXZpY2UgKmR2bykKPiAgfQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21v ZGVfc3RhdHVzIGNoN3h4eF9tb2RlX3ZhbGlkKHN0cnVjdCBpbnRlbF9kdm9fZGV2aWNlICpkdm8s Cj4gLQkJCQkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkJICAg ICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCWlmIChtb2Rl LT5jbG9jayA+IDE2NTAwMCkKPiAgCQlyZXR1cm4gTU9ERV9DTE9DS19ISUdIOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9faXZjaC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZHZvX2l2Y2guYwo+IGluZGV4IGM3M2FmZjE2MzkwOC4uOWI2MWU3ZTRlZjA1IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2R2b19pdmNoLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kdm9faXZjaC5jCj4gQEAgLTMxMyw3ICszMTMsNyBAQCBzdGF0aWMgZW51bSBk cm1fY29ubmVjdG9yX3N0YXR1cyBpdmNoX2RldGVjdChzdHJ1Y3QgaW50ZWxfZHZvX2RldmljZSAq ZHZvKQo+ICB9Cj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgaXZjaF9tb2RlX3Zh bGlkKHN0cnVjdCBpbnRlbF9kdm9fZGV2aWNlICpkdm8sCj4gLQkJCQkJICAgIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKPiAgewo+ICAJaWYgKG1vZGUtPmNsb2NrID4gMTEyMDAwKQo+ICAJCXJldHVy biBNT0RFX0NMT0NLX0hJR0g7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2R2 b19uczI1MDEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2R2b19uczI1MDEuYwo+IGluZGV4IDIz NzljMzNjZmU1MS4uMDg3Yzg3ODAyYmU2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2R2b19uczI1MDEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2R2b19uczI1MDEu Ywo+IEBAIC01MjQsNyArNTI0LDcgQEAgc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMg bnMyNTAxX2RldGVjdChzdHJ1Y3QgaW50ZWxfZHZvX2RldmljZSAqZHZvKQo+ICB9Cj4gIAo+ICBz dGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgbnMyNTAxX21vZGVfdmFsaWQoc3RydWN0IGludGVs X2R2b19kZXZpY2UgKmR2bywKPiAtCQkJCQkgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSkKPiArCQkJCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkK PiAgewo+ICAJRFJNX0RFQlVHX0tNUwo+ICAJICAgICgiaXMgbW9kZSB2YWxpZCAoaGRpc3BsYXk9 JWQsaHRvdGFsPSVkLHZkaXNwbGF5PSVkLHZ0b3RhbD0lZClcbiIsCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2R2b19zaWwxNjQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2R2 b19zaWwxNjQuYwo+IGluZGV4IDFjMWEwNjc0ZGJhYi4uZDkyNjM0Y2Q0N2U1IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2R2b19zaWwxNjQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2R2b19zaWwxNjQuYwo+IEBAIC0xODQsNyArMTg0LDcgQEAgc3RhdGljIGVudW0g ZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc2lsMTY0X2RldGVjdChzdHJ1Y3QgaW50ZWxfZHZvX2Rldmlj ZSAqZHZvKQo+ICB9Cj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgc2lsMTY0X21v ZGVfdmFsaWQoc3RydWN0IGludGVsX2R2b19kZXZpY2UgKmR2bywKPiAtCQkJCQkgICAgICBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJcmV0dXJuIE1PREVfT0s7Cj4gIH0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZHZvX3RmcDQxMC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZHZvX3RmcDQxMC5jCj4gaW5kZXggMzFlMTgxZGE5M2RiLi4wZGNlOTdhOTIzNDMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZHZvX3RmcDQxMC5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZHZvX3RmcDQxMC5jCj4gQEAgLTIxNiw3ICsyMTYsNyBAQCBz dGF0aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyB0ZnA0MTBfZGV0ZWN0KHN0cnVjdCBpbnRl bF9kdm9fZGV2aWNlICpkdm8pCj4gIH0KPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1 cyB0ZnA0MTBfbW9kZV92YWxpZChzdHJ1Y3QgaW50ZWxfZHZvX2RldmljZSAqZHZvLAo+IC0JCQkJ CSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJCSAgICAgIGNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlyZXR1cm4gTU9ERV9PSzsK PiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCj4gaW5kZXggZGUwZTIyMzIyYzc2Li45NTYw NGM3NjdmODkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+IEBAIC0yOTcsNyArMjk3 LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2NydChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+ICBpbnRlbF9jcnRf bW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCSAgICAgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5l Y3Rvci0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkZXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IGluZGV4IGRkZTkyZTRhZjVkMy4uZjhm NDg4NGI1YWRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTQxMSw3ICs0MTEs NyBAQCBpbnQgaW50ZWxfZHBfZ2V0X2xpbmtfdHJhaW5fZmFsbGJhY2tfdmFsdWVzKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKPiAg aW50ZWxfZHBfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0J CSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkgICAgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBpbnRlbF9hdHRhY2hlZF9kcChjb25uZWN0b3IpOwo+ICAJc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqaW50ZWxfY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiBpbmRleCA5ZTY5NTZjMDg2ODguLjZhMWM1 OTBmODYxNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3Qu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gQEAgLTM1NSw3 ICszNTUsNyBAQCBzdGF0aWMgaW50IGludGVsX2RwX21zdF9nZXRfbW9kZXMoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+ ICBpbnRlbF9kcF9tc3RfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+IC0JCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmludGVsX2Nvbm5lY3RvciA9IHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+ICAJc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCA9IGludGVsX2Nvbm5lY3Rvci0+bXN0X3BvcnQ7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiBpbmRleCA1MWExZDY4NjhiMWUuLjhjMmQ0ZjdmNGRiYSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gQEAgLTEyNTgsNyArMTI1OCw3IEBAIHN0 YXRpYyB2b2lkIGludGVsX2RzaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCj4gIGludGVsX2RzaV9tb2Rl X3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJICAgICBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25u ZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiAgCWNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlID0gaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5maXhl ZF9tb2RlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCj4gaW5kZXggZWIwYzU1OWIyNzE1Li4x MDNjZmJjMDdhOWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZv LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+IEBAIC0yMTEsNyAr MjExLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2R2byhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+ICBpbnRlbF9k dm9fbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCSAgICAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJICAgICBjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IGludGVsX2R2byAqaW50ZWxfZHZv ID0gaW50ZWxfYXR0YWNoZWRfZHZvKGNvbm5lY3Rvcik7Cj4gIAljb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IGlu ZGV4IGVlOTI5ZjMxZjdkYi4uZDAxOTE2NDliZTMyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYwo+IEBAIC0xNTQ2LDcgKzE1NDYsNyBAQCBoZG1pX3BvcnRfY2xvY2tfdmFsaWQoc3Ry dWN0IGludGVsX2hkbWkgKmhkbWksCj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMK PiAgaW50ZWxfaGRtaV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gLQkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJICAgICAgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9o ZG1pICpoZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaShjb25uZWN0b3IpOwo+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGludGVsX2hkbWlfdG9fZGV2KGhkbWkpOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9sdmRzLmMKPiBpbmRleCA4NjkxYzg2ZjU3OWMuLmJiZjdiMWYxMDNjOCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiBAQCAtMzc0LDcgKzM3NCw3IEBAIHN0YXRpYyB2b2lk IHBjaF9wb3N0X2Rpc2FibGVfbHZkcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAg Cj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+ICBpbnRlbF9sdmRzX21vZGVfdmFsaWQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkgICAgICBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiArCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9y ID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqZml4ZWRfbW9kZSA9IGludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml4ZWRfbW9kZTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gaW5kZXggMjUwMDUwMjNjMjQzLi4yZWRiZTE2ZGJh ZTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gQEAgLTE2MTYsNyArMTYxNiw3 IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9zZHZvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCj4gIGludGVsX3Nkdm9f bW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCSAgICAgIHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2 byA9IGludGVsX2F0dGFjaGVkX3Nkdm8oY29ubmVjdG9yKTsKPiAgCWludCBtYXhfZG90Y2xrID0g dG9faTkxNShjb25uZWN0b3ItPmRldiktPm1heF9kb3RjbGtfZnJlcTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3R2LmMKPiBpbmRleCA4ODVmYzM4MDlmN2YuLjc2MWVlZmE0ZjViMiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdHYuYwo+IEBAIC04NDUsNyArODQ1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCB0dl9tb2RlICppbnRlbF90dl9tb2RlX2ZpbmQoY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUKPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+ICBpbnRlbF90dl9tb2Rl X3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJICAgIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKPiAgewo+ICAJY29uc3Qgc3RydWN0IHR2X21vZGUgKnR2X21vZGUgPSBpbnRl bF90dl9tb2RlX2ZpbmQoY29ubmVjdG9yLT5zdGF0ZSk7Cj4gIAlpbnQgbWF4X2RvdGNsayA9IHRv X2k5MTUoY29ubmVjdG9yLT5kZXYpLT5tYXhfZG90Y2xrX2ZyZXE7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pbXgvaW14LXR2ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtdHZl LmMKPiBpbmRleCBiYzI3YzI2OTk0NjQuLjliZjVkZDk2MTQ3ZSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaW14L2lteC10dmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14 LXR2ZS5jCj4gQEAgLTI0NCw3ICsyNDQsNyBAQCBzdGF0aWMgaW50IGlteF90dmVfY29ubmVjdG9y X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4gIAo+ICBz dGF0aWMgaW50IGlteF90dmVfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiAtCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAr CQkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0 IGlteF90dmUgKnR2ZSA9IGNvbl90b190dmUoY29ubmVjdG9yKTsKPiAgCXVuc2lnbmVkIGxvbmcg cmF0ZTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+IGluZGV4IDU5YTExMDI2ZGNl Yi4uNzE0NWE5YWViZmQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMKPiBA QCAtMTIyOCw3ICsxMjI4LDcgQEAgc3RhdGljIGludCBtdGtfaGRtaV9jb25uX2dldF9tb2Rlcyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubikKPiAgfQo+ICAKPiAgc3RhdGljIGludCBtdGtfaGRt aV9jb25uX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4sCj4gLQkJCQkgICAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgICAgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBtdGtfaGRtaSAqaGRtaSA9IGhk bWlfY3R4X2Zyb21fY29ubihjb25uKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tZXNvbi9tZXNvbl92ZW5jX2N2YnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl92 ZW5jX2N2YnMuYwo+IGluZGV4IDc5ZDk1Y2E4YTBjMC4uNjQxNDQ3Y2FkZDk0IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl92ZW5jX2N2YnMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9tZXNvbi9tZXNvbl92ZW5jX2N2YnMuYwo+IEBAIC0xMTEsNyArMTExLDcgQEAg c3RhdGljIGludCBtZXNvbl9jdmJzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGludCBtZXNvbl9jdmJzX2Nvbm5l Y3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkJ ICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkJICAgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCS8qIFZhbGlkYXRlIHRoZSBtb2RlcyBh ZGRlZCBpbiBnZXRfbW9kZXMgKi8KPiAgCXJldHVybiBNT0RFX09LOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9t Z2FnMjAwL21nYWcyMDBfbW9kZS5jCj4gaW5kZXggODkxODUzOWExOWFhLi5jMTg4YmJkMTY4NDUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYwo+IEBAIC0xNTYwLDcg KzE1NjAsNyBAQCBzdGF0aWMgaW50IG1nYV92Z2FfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+IC1zdGF0aWMgdWludDMy X3QgbWdhX3ZnYV9jYWxjdWxhdGVfbW9kZV9iYW5kd2lkdGgoc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGUsCj4gK3N0YXRpYyB1aW50MzJfdCBtZ2FfdmdhX2NhbGN1bGF0ZV9tb2RlX2JhbmR3 aWR0aChjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiAgCQkJCQkJCWludCBi aXRzX3Blcl9waXhlbCkKPiAgewo+ICAJdWludDMyX3QgdG90YWxfYXJlYSwgZGl2aXNvcjsKPiBA QCAtMTU4Nyw3ICsxNTg3LDcgQEAgc3RhdGljIHVpbnQzMl90IG1nYV92Z2FfY2FsY3VsYXRlX21v ZGVfYmFuZHdpZHRoKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICAjZGVmaW5lIE1P REVfQkFORFdJRFRICU1PREVfQkFECj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMg bWdhX3ZnYV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJ CQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBj b25uZWN0b3ItPmRldjsKPiAgCXN0cnVjdCBtZ2FfZGV2aWNlICptZGV2ID0gKHN0cnVjdCBtZ2Ff ZGV2aWNlKilkZXYtPmRldl9wcml2YXRlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvbWRwNC9tZHA0X2x2ZHNfY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvbWRwNC9tZHA0X2x2ZHNfY29ubmVjdG9yLmMKPiBpbmRleCBlM2IxYzg2YjdhYWUuLjFi MDlkZjQ1MjRiYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9t ZHA0X2x2ZHNfY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRw NC9tZHA0X2x2ZHNfY29ubmVjdG9yLmMKPiBAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgaW50IG1k cDRfbHZkc19jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgbWRwNF9sdmRzX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlk KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpCj4gIHsKPiAgCXN0cnVjdCBtZHA0X2x2ZHNfY29ubmVjdG9yICptZHA0X2x2ZHNfY29ubmVj dG9yID0KPiAgCQkJdG9fbWRwNF9sdmRzX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwo+IGluZGV4IDRjYjFjYjY4ODc4Yi4uYTAyNGFjZjli NzkzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCj4gQEAgLTQwNSw3 ICs0MDUsNyBAQCBzdGF0aWMgaW50IGRzaV9tZ3JfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IGRzaV9tZ3Jf Y29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAt CQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCWludCBpZCA9IGRzaV9tZ3JfY29ubmVjdG9y X2dldF9pZChjb25uZWN0b3IpOwo+ICAJc3RydWN0IG1zbV9kc2kgKm1zbV9kc2kgPSBkc2lfbWdy X2dldF9kc2koaWQpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2VkcC9lZHBf Y29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2VkcC9lZHBfY29ubmVjdG9yLmMKPiBp bmRleCA2ZjNmYzZiMGYwYTMuLmFmMDVjMzA5MDAzNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2VkcC9lZHBfY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2VkcC9lZHBfY29ubmVjdG9yLmMKPiBAQCAtNjQsNyArNjQsNyBAQCBzdGF0aWMgaW50IGVkcF9j b25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIH0K PiAgCj4gIHN0YXRpYyBpbnQgZWRwX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUp Cj4gKwkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0 cnVjdCBlZHBfY29ubmVjdG9yICplZHBfY29ubmVjdG9yID0gdG9fZWRwX2Nvbm5lY3Rvcihjb25u ZWN0b3IpOwo+ICAJc3RydWN0IG1zbV9lZHAgKmVkcCA9IGVkcF9jb25uZWN0b3ItPmVkcDsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfY29ubmVjdG9yLmMgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9jb25uZWN0b3IuYwo+IGluZGV4IGMwODQ4ZGZl ZGQ1MC4uYmEyMThjNjExMDIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRt aS9oZG1pX2Nvbm5lY3Rvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlf Y29ubmVjdG9yLmMKPiBAQCAtNDAzLDcgKzQwMyw3IEBAIHN0YXRpYyBpbnQgbXNtX2hkbWlfY29u bmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4g IAo+ICBzdGF0aWMgaW50IG1zbV9oZG1pX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpCj4gKwkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAg CXN0cnVjdCBoZG1pX2Nvbm5lY3RvciAqaGRtaV9jb25uZWN0b3IgPSB0b19oZG1pX2Nvbm5lY3Rv cihjb25uZWN0b3IpOwo+ICAJc3RydWN0IGhkbWkgKmhkbWkgPSBoZG1pX2Nvbm5lY3Rvci0+aGRt aTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52MDQvdHZudjE3 LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnYwNC90dm52MTcuYwo+IGluZGV4IDZk OTlmMTFmZWU0ZS4uNmRkOTU2YmY3N2I5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L2Rpc3BudjA0L3R2bnYxNy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv ZGlzcG52MDQvdHZudjE3LmMKPiBAQCAtMzAxLDcgKzMwMSw3IEBAIHN0YXRpYyBpbnQgbnYxN190 dl9nZXRfbW9kZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICB9Cj4gIAo+ICBzdGF0 aWMgaW50IG52MTdfdHZfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4g LQkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkgICAgICBjb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IG52MTdfdHZf bm9ybV9wYXJhbXMgKnR2X25vcm0gPSBnZXRfdHZfbm9ybShlbmNvZGVyKTsKPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYwo+IGluZGV4IGI4MzQ2NWFlN2MxYi4uOTJj Zjc1NDg0MmEzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUw L2Rpc3AuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYwo+ IEBAIC04MzgsNyArODM4LDcgQEAgbnY1MF9tc3RjX2Jlc3RfZW5jb2RlcihzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCj4g IG52NTBfbXN0Y19tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4g LQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkgICAgIGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlyZXR1cm4gTU9ERV9PSzsKPiAg fQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Nvbm5lY3Rv ci5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9jb25uZWN0b3IuYwo+IGluZGV4 IDdiNTU3YzM1NDMwNy4uMzA4ZTI4YzE4NzFkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L25vdXZlYXVfY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9ub3V2ZWF1X2Nvbm5lY3Rvci5jCj4gQEAgLTEwMDcsNyArMTAwNyw3IEBAIGdldF90bWRz X2xpbmtfYmFuZHdpZHRoKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGRt aSkKPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+ICBub3V2ZWF1X2Nvbm5lY3Rv cl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCSAgICAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCSAgICAgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBub3V2ZWF1X2Nvbm5lY3RvciAq bnZfY29ubmVjdG9yID0gbm91dmVhdV9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiAgCXN0cnVjdCBu b3V2ZWF1X2VuY29kZXIgKm52X2VuY29kZXIgPSBudl9jb25uZWN0b3ItPmRldGVjdGVkX2VuY29k ZXI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9y LmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5jCj4gaW5kZXggNWNk ZTI2YWM5MzdiLi5lMzE2ZjZkNWFjNWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9jb25uZWN0b3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29t YXBfY29ubmVjdG9yLmMKPiBAQCAtMTY2LDcgKzE2Niw3IEBAIHN0YXRpYyBpbnQgb21hcF9jb25u ZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIH0KPiAg Cj4gIHN0YXRpYyBpbnQgb21hcF9jb25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+IC0JCQkJIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ ICsJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlzdHJ1 Y3Qgb21hcF9jb25uZWN0b3IgKm9tYXBfY29ubmVjdG9yID0gdG9fb21hcF9jb25uZWN0b3IoY29u bmVjdG9yKTsKPiAgCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldiA9IG9tYXBfY29ubmVj dG9yLT5kc3NkZXY7Cj4gQEAgLTE3NCwxMCArMTc0LDExIEBAIHN0YXRpYyBpbnQgb21hcF9jb25u ZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJc3Ry dWN0IHZpZGVvbW9kZSB2bSA9IHswfTsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25u ZWN0b3ItPmRldjsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpuZXdfbW9kZTsKPiArCXVu c2lnbmVkIGludCB2cmVmcmVzaDsKPiAgCWludCByLCByZXQgPSBNT0RFX0JBRDsKPiAgCj4gIAlk cm1fZGlzcGxheV9tb2RlX3RvX3ZpZGVvbW9kZShtb2RlLCAmdm0pOwo+IC0JbW9kZS0+dnJlZnJl c2ggPSBkcm1fbW9kZV92cmVmcmVzaChtb2RlKTsKPiArCXZyZWZyZXNoID0gZHJtX21vZGVfdnJl ZnJlc2gobW9kZSk7Cj4gIAo+ICAJLyoKPiAgCSAqIGlmIHRoZSBwYW5lbCBkcml2ZXIgZG9lc24n dCBoYXZlIGEgY2hlY2tfdGltaW5ncywgaXQncyBtb3N0IGxpa2VseQo+IEBAIC0yMTIsNyArMjEz LDcgQEAgc3RhdGljIGludCBvbWFwX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4gIAo+ICAJCW5ld19tb2RlLT5jbG9jayA9IHZtLnBpeGVsY2xv Y2sgLyAxMDAwOwo+ICAJCW5ld19tb2RlLT52cmVmcmVzaCA9IDA7Cj4gLQkJaWYgKG1vZGUtPnZy ZWZyZXNoID09IGRybV9tb2RlX3ZyZWZyZXNoKG5ld19tb2RlKSkKPiArCQlpZiAodnJlZnJlc2gg PT0gZHJtX21vZGVfdnJlZnJlc2gobmV3X21vZGUpKQo+ICAJCQlyZXQgPSBNT0RFX09LOwo+ICAJ CWRybV9tb2RlX2Rlc3Ryb3koZGV2LCBuZXdfbW9kZSk7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhs X2Rpc3BsYXkuYwo+IGluZGV4IGI4Y2RhOTQ0OTI0MS4uMWUyNjE5NjJmMDNkIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwo+IEBAIC05NTUsNyArOTU1LDcgQEAgc3RhdGljIGludCBx eGxfY29ubl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIHF4bF9jb25uX21vZGVfdmFsaWQoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJICAgICAgIHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlKQo+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZGV2ID0gY29ubmVjdG9yLT5k ZXY7Cj4gIAlzdHJ1Y3QgcXhsX2RldmljZSAqcWRldiA9IGRkZXYtPmRldl9wcml2YXRlOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2RwLmMgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2RwLmMKPiBpbmRleCAzZTc5ODU5M2UwNDIuLmQzY2Q4 MTY5ZmQ2OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2Rw LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2RwLmMKPiBAQCAtNDc0 LDcgKzQ3NCw3IEBAIHZvaWQgcmFkZW9uX2RwX3NldF9saW5rX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+ICB9Cj4gIAo+ICBpbnQgcmFkZW9uX2RwX21vZGVfdmFsaWRf aGVscGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQo+ICB7Cj4gIAlzdHJ1Y3QgcmFkZW9uX2Nvbm5lY3RvciAqcmFkZW9uX2Nvbm5lY3Rv ciA9IHRvX3JhZGVvbl9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiAgCXN0cnVjdCByYWRlb25fY29u bmVjdG9yX2F0b21fZGlnICpkaWdfY29ubmVjdG9yOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9jb25uZWN0b3JzLmMKPiBpbmRleCAyYWVhMmJkZmY5OWIuLjFkODRhYWQyMjg1OCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb25uZWN0b3JzLmMKPiBAQCAt ODUzLDcgKzg1Myw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2Rl X3N0YXR1cyByYWRlb25fbHZkc19tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCj4gLQkJCQkgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJICBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyID0gcmFkZW9uX2Jlc3Rfc2luZ2xlX2VuY29kZXIoY29ubmVjdG9yKTsK PiAgCj4gQEAgLTEwMTMsNyArMTAxMyw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX3ZnYV9nZXRfbW9k ZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGVu dW0gZHJtX21vZGVfc3RhdHVzIHJhZGVvbl92Z2FfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+IC0JCQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkK PiArCQkJCSAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiAgCXN0cnVjdCByYWRlb25f ZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiBAQCAtMTE1Nyw3ICsxMTU3LDcgQEAg c3RhdGljIGludCByYWRlb25fdHZfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyByYWRlb25fdHZf bW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCQkJc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKPiAgewo+ICAJaWYgKChtb2RlLT5oZGlzcGxheSA+IDEwMjQpIHx8IChtb2Rl LT52ZGlzcGxheSA+IDc2OCkpCj4gIAkJcmV0dXJuIE1PREVfQ0xPQ0tfUkFOR0U7Cj4gQEAgLTE0 OTksNyArMTQ5OSw3IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9kdmlfZm9yY2Uoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3Rh dHVzIHJhZGVvbl9kdmlfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+IC0JCQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJCSAgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiAgCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKPiBAQCAtMTgwMSw3ICsxODAxLDcgQEAgcmFkZW9uX2RwX2RldGVj dChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQo+ICB9Cj4gIAo+ ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgcmFkZW9uX2RwX21vZGVfdmFsaWQoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCSAgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGUpCj4gKwkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gIAlzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fZHBfbXN0LmMKPiBpbmRleCBjZDhhM2VlMTY2NDkuLmZjMTg4Y2FmZThl OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RwX21zdC5jCj4gQEAgLTIxMSw3 ICsyMTEsNyBAQCBzdGF0aWMgaW50IHJhZGVvbl9kcF9tc3RfZ2V0X21vZGVzKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMK PiAgcmFkZW9uX2RwX21zdF9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCj4gLQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkgY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCS8qIFRPRE8gLSB2YWxpZGF0ZSBt b2RlIGFnYWluc3QgYXZhaWxhYmxlIFBCTiBmb3IgbGluayAqLwo+ICAJaWYgKG1vZGUtPmNsb2Nr IDwgMTAwMDApCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21v ZGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUuaAo+IGluZGV4IGZkNDcw ZDZiZjNmNC4uZjg3ZTFhYzEzODRiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX21vZGUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21v ZGUuaAo+IEBAIC03NDYsNyArNzQ2LDcgQEAgZXh0ZXJuIHN0cnVjdCBlZGlkICpyYWRlb25fY29u bmVjdG9yX2VkaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIAo+ICBleHRl cm4gdm9pZCByYWRlb25fY29ubmVjdG9yX2hvdHBsdWcoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3Rvcik7Cj4gIGV4dGVybiBpbnQgcmFkZW9uX2RwX21vZGVfdmFsaWRfaGVscGVyKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkgICAgICAgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpOwo+ICsJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKTsKPiAgZXh0ZXJuIHZvaWQgcmFkZW9uX2RwX3NldF9saW5rX2NvbmZpZyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCQkJICAgICAgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ICBleHRlcm4gdm9pZCByYWRlb25fZHBfbGlua190cmFp bihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9jZG4tZHAtY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2Nk bi1kcC1jb3JlLmMKPiBpbmRleCBjNmZiZGNkODdjMTYuLjYwNWRjMGMzZDEwMCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvY2RuLWRwLWNvcmUuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9jZG4tZHAtY29yZS5jCj4gQEAgLTI4NCw3ICsyODQsNyBAQCBz dGF0aWMgaW50IGNkbl9kcF9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgY2RuX2RwX2Nvbm5lY3Rvcl9tb2Rl X3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkgICAgICAgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgICAgICAgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCBjZG5fZHBfZGV2aWNlICpkcCA9 IGNvbm5lY3Rvcl90b19kcChjb25uZWN0b3IpOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X2luZm8g KmRpc3BsYXlfaW5mbyA9ICZkcC0+Y29ubmVjdG9yLmRpc3BsYXlfaW5mbzsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jIGIvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL2lubm9faGRtaS5jCj4gaW5kZXggODhkMDc3NGM5N2JkLi4wNzA3Y2JhYjU2NDQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCj4gQEAgLTU3NSw3ICs1NzUs NyBAQCBzdGF0aWMgaW50IGlubm9faGRtaV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMK PiAgaW5ub19oZG1pX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCj4gLQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAr CQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAly ZXR1cm4gTU9ERV9PSzsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV9kdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jCj4gaW5kZXggYTU5NzljZDI1 Y2M3Li41ZGM3MWJjOWE3YjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlf ZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYwo+IEBAIC0zNDcsNyAr MzQ3LDcgQEAgc3RhdGljIGludCBzdGlfZHZvX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgI2RlZmluZSBDTEtfVE9MRVJBTkNFX0haIDUwCj4g IAo+ICBzdGF0aWMgaW50IHN0aV9kdm9fY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKPiArCQkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJ aW50IHRhcmdldCA9IG1vZGUtPmNsb2NrICogMTAwMDsKPiAgCWludCB0YXJnZXRfbWluID0gdGFy Z2V0IC0gQ0xLX1RPTEVSQU5DRV9IWjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfaGRhLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZGEuYwo+IGluZGV4IDY3YmJk YjQ5ZmZmYy4uYjY1YzljNTk2YTg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX2hkYS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRhLmMKPiBAQCAtNTk3 LDcgKzU5Nyw3IEBAIHN0YXRpYyBpbnQgc3RpX2hkYV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gICNkZWZpbmUgQ0xLX1RPTEVSQU5DRV9IWiA1 MAo+ICAKPiAgc3RhdGljIGludCBzdGlfaGRhX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpCj4gKwkJCQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsK PiAgCWludCB0YXJnZXQgPSBtb2RlLT5jbG9jayAqIDEwMDA7Cj4gIAlpbnQgdGFyZ2V0X21pbiA9 IHRhcmdldCAtIENMS19UT0xFUkFOQ0VfSFo7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9zdGkvc3RpX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+IGluZGV4 IDU4ZjQzMTEwMjUxMi4uZWY4YTdjNzhmMDBhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9zdGkvc3RpX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+ IEBAIC05OTAsNyArOTkwLDcgQEAgc3RhdGljIGludCBzdGlfaGRtaV9jb25uZWN0b3JfZ2V0X21v ZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gICNkZWZpbmUgQ0xLX1RPTEVS QU5DRV9IWiA1MAo+ICAKPiAgc3RhdGljIGludCBzdGlfaGRtaV9jb25uZWN0b3JfbW9kZV92YWxp ZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCQkJCXN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlKQo+ICsJCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlKQo+ICB7Cj4gIAlpbnQgdGFyZ2V0ID0gbW9kZS0+Y2xvY2sgKiAxMDAwOwo+ICAJaW50IHRh cmdldF9taW4gPSB0YXJnZXQgLSBDTEtfVE9MRVJBTkNFX0haOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdHYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40 aV90di5jCj4gaW5kZXggYjA3MGQ1MjJlZDhkLi45ODA4ZDBlZTdmYTggMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3R2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfdHYuYwo+IEBAIC01MDgsNyArNTA4LDcgQEAgc3RhdGljIGludCBzdW40aV90 dl9jb21wX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4g IAo+ICBzdGF0aWMgaW50IHN1bjRpX3R2X2NvbXBfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+IC0JCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl KQo+ICsJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4g IAkvKiBUT0RPICovCj4gIAlyZXR1cm4gTU9ERV9PSzsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3RlZ3JhL2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RzaS5jCj4gaW5kZXgg ODdjNWQ4OWJjOWJhLi42YTdkMTc3NDBhNDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3RlZ3JhL2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RzaS5jCj4gQEAgLTgx NSw3ICs4MTUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3MgdGVn cmFfZHNpX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0 YXR1cwo+ICB0ZWdyYV9kc2lfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiAtCQkJICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl KQo+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsK PiAgCXJldHVybiBNT0RFX09LOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jCj4gaW5kZXggNzg0NzM5 YTlmNDk3Li43ODhhOGY2NzUzZDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMKPiBAQCAtMTE2NCw3 ICsxMTY0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIHRlZ3Jh X2hkbWlfY29ubmVjdG9yX2Z1bmNzID0gewo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3Rh dHVzCj4gIHRlZ3JhX2hkbWlfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiAtCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJ CQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCB0 ZWdyYV9vdXRwdXQgKm91dHB1dCA9IGNvbm5lY3Rvcl90b19vdXRwdXQoY29ubmVjdG9yKTsKPiAg CXN0cnVjdCB0ZWdyYV9oZG1pICpoZG1pID0gdG9faGRtaShvdXRwdXQpOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvcmdiLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvcmdi LmMKPiBpbmRleCA3OGVjNTE5Mzc0MWQuLmRhNjA1YmVhODJlYSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvcmdiLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvcmdi LmMKPiBAQCAtOTgsNyArOTgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf ZnVuY3MgdGVncmFfcmdiX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyBlbnVtIGRy bV9tb2RlX3N0YXR1cwo+ICB0ZWdyYV9yZ2JfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKQo+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpCj4gIHsKPiAgCS8qCj4gIAkgKiBGSVhNRTogRm9yIG5vdywgYWx3YXlzIGFzc3VtZSB0aGF0 IHRoZSBtb2RlIGlzIG9rYXkuIFRoZXJlIGFyZQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdGVncmEvc29yLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiBpbmRleCA3ZDJh OTU1ZmM1MTUuLjA1ZjkzMjAwNjQ2YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVn cmEvc29yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiBAQCAtMTQ5Myw3 ICsxNDkzLDcgQEAgc3RhdGljIGludCB0ZWdyYV9zb3JfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAKPiAgc3RhdGljIGVudW0gZHJtX21vZGVf c3RhdHVzCj4gIHRlZ3JhX3Nvcl9jb25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+IC0JCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpCj4gKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAg ewo+ICAJcmV0dXJuIE1PREVfT0s7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3RpbGNkYy90aWxjZGNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfY3J0 Yy5jCj4gaW5kZXggMTA2N2U3MDJjMjJjLi4wOGVhMGRhNGQ2NmEgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3RpbGNkYy90aWxjZGNfY3J0Yy5jCj4gQEAgLTc0OSw3ICs3NDksOCBAQCBpbnQgdGlsY2RjX2Ny dGNfbWF4X3dpZHRoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXJldHVybiBtYXhfd2lkdGg7 Cj4gIH0KPiAgCj4gLWludCB0aWxjZGNfY3J0Y19tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yywgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gK2ludCB0aWxjZGNfY3J0Y19t b2RlX3ZhbGlkKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJICAgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCB0aWxjZGNfZHJtX3ByaXZhdGUg KnByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJdW5zaWduZWQgaW50IGJhbmR3aWR0 aDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19kcnYuaAo+IGluZGV4IGVhZDUxMjIxNjY2OS4u NjFiNDExMWI2MWI3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2Rj X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmgKPiBAQCAt MTcxLDcgKzE3MSw4IEBAIHZvaWQgdGlsY2RjX2NydGNfc2V0X3BhbmVsX2luZm8oc3RydWN0IGRy bV9jcnRjICpjcnRjLAo+ICAJCWNvbnN0IHN0cnVjdCB0aWxjZGNfcGFuZWxfaW5mbyAqaW5mbyk7 Cj4gIHZvaWQgdGlsY2RjX2NydGNfc2V0X3NpbXVsYXRlX3Zlc2Ffc3luYyhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIAkJCQkJYm9vbCBzaW11bGF0ZV92ZXNhX3N5bmMpOwo+IC1pbnQgdGlsY2Rj X2NydGNfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlKTsKPiAraW50IHRpbGNkY19jcnRjX21vZGVfdmFsaWQoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+ICsJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7 Cj4gIGludCB0aWxjZGNfY3J0Y19tYXhfd2lkdGgoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAg dm9pZCB0aWxjZGNfY3J0Y19zaHV0ZG93bihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICBpbnQg dGlsY2RjX2NydGNfdXBkYXRlX2ZiKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZXh0ZXJuYWwuYyBiL2RyaXZlcnMvZ3B1 L2RybS90aWxjZGMvdGlsY2RjX2V4dGVybmFsLmMKPiBpbmRleCBkNjUxYmRkNjU5N2UuLjZmNTQ4 YzlmODFiMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19leHRl cm5hbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZXh0ZXJuYWwuYwo+ IEBAIC00MSw3ICs0MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGlsY2RjX3BhbmVsX2luZm8g cGFuZWxfaW5mb19kZWZhdWx0ID0gewo+ICB9Owo+ICAKPiAgc3RhdGljIGludCB0aWxjZGNfZXh0 ZXJuYWxfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0JCQkJ ICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgICAgICBjb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IHRpbGNkY19kcm1f cHJpdmF0ZSAqcHJpdiA9IGNvbm5lY3Rvci0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCWludCByZXQ7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX3BhbmVsLmMgYi9k cml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19wYW5lbC5jCj4gaW5kZXggZDYxNmQ2NGE2NzI1 Li5mMTgyNWE2YjdkNTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxj ZGNfcGFuZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX3BhbmVsLmMK PiBAQCAtMTcxLDcgKzE3MSw3IEBAIHN0YXRpYyBpbnQgcGFuZWxfY29ubmVjdG9yX2dldF9tb2Rl cyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50 IHBhbmVsX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCj4gLQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkgIGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlzdHJ1Y3QgdGlsY2RjX2RybV9w cml2YXRlICpwcml2ID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJLyogb3VyIG9u bHkgY29uc3RyYWludHMgYXJlIHdoYXQgdGhlIGNydGMgY2FuIGdlbmVyYXRlOiAqLwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY190ZnA0MTAuYyBiL2RyaXZlcnMv Z3B1L2RybS90aWxjZGMvdGlsY2RjX3RmcDQxMC5jCj4gaW5kZXggYzQ1Y2FiYjM4ZGIwLi4xNTNm ZmJkYzQxMDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfdGZw NDEwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY190ZnA0MTAuYwo+IEBA IC0xODQsNyArMTg0LDcgQEAgc3RhdGljIGludCB0ZnA0MTBfY29ubmVjdG9yX2dldF9tb2Rlcyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHRm cDQxMF9jb25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+IC0JCSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJICBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJc3RydWN0IHRpbGNkY19kcm1fcHJp dmF0ZSAqcHJpdiA9IGNvbm5lY3Rvci0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCS8qIG91ciBvbmx5 IGNvbnN0cmFpbnRzIGFyZSB3aGF0IHRoZSBjcnRjIGNhbiBnZW5lcmF0ZTogKi8KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9k cm0vdWRsL3VkbF9jb25uZWN0b3IuYwo+IGluZGV4IDA5ZGM1ODVhYTQ2Zi4uNTQ3Nzc2N2RlNTVj IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2Nvbm5lY3Rvci5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfY29ubmVjdG9yLmMKPiBAQCAtMTA2LDcgKzEwNiw3 IEBAIHN0YXRpYyBpbnQgdWRsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICB9Cj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgdWRsX21vZGVfdmFs aWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJICBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSkKPiAgewo+ICAJc3RydWN0IHVkbF9kZXZpY2UgKnVkbCA9IGNvbm5lY3Rvci0+ZGV2LT5k ZXZfcHJpdmF0ZTsKPiAgCWlmICghdWRsLT5za3VfcGl4ZWxfbGltaXQpCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9k cm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5jCj4gaW5kZXggYTVlZGQ4NjYwM2Q5Li42OTQ1M2Ey Y2ZjZDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rpc3Bs YXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMKPiBA QCAtMjA5LDcgKzIwOSw3IEBAIHN0YXRpYyBpbnQgdmlydGlvX2dwdV9jb25uX2dldF9tb2Rlcyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4gIAo+ICBzdGF0aWMgZW51bSBk cm1fbW9kZV9zdGF0dXMgdmlydGlvX2dwdV9jb25uX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlKQo+ICsJCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4g IHsKPiAgCXN0cnVjdCB2aXJ0aW9fZ3B1X291dHB1dCAqb3V0cHV0ID0KPiAgCQlkcm1fY29ubmVj dG9yX3RvX3ZpcnRpb19ncHVfb3V0cHV0KGNvbm5lY3Rvcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS96dGUvenhfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMK PiBpbmRleCAxM2VhOTBmN2ExODUuLmUyZDE1MWIzN2MwNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0venRlL3p4X2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRt aS5jCj4gQEAgLTI4MSw3ICsyODEsNyBAQCBzdGF0aWMgaW50IHp4X2hkbWlfY29ubmVjdG9yX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAKPiAgc3RhdGljIGVu dW0gZHJtX21vZGVfc3RhdHVzCj4gIHp4X2hkbWlfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKPiArCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKPiAgewo+ICAJcmV0dXJuIE1PREVfT0s7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3p0ZS96eF90dmVuYy5jIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF90dmVuYy5jCj4g aW5kZXggMGRlMWE3MWNhNGUwLi5mZDFjMjBlMjM0Y2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3p0ZS96eF90dmVuYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF90dmVu Yy5jCj4gQEAgLTEzMiw3ICsxMzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHp4X3R2ZW5jX21v ZGUgKnR2ZW5jX21vZGVzW10gPSB7Cj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHp4 X3R2ZW5jX21vZGUgKgo+IC16eF90dmVuY19maW5kX3ptb2RlKHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKQo+ICt6eF90dmVuY19maW5kX3ptb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlKQo+ICB7Cj4gIAlpbnQgaTsKPiAgCj4gQEAgLTI0OSw3ICsyNDksNyBAQCBz dGF0aWMgaW50IHp4X3R2ZW5jX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgCj4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+ICB6eF90 dmVuY19jb25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+IC0JCQkgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJICAgICAg Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsKPiAgCXN0cnVjdCB6eF90 dmVuYyAqdHZlbmMgPSB0b196eF90dmVuYyhjb25uZWN0b3IpOwo+ICAJY29uc3Qgc3RydWN0IHp4 X3R2ZW5jX21vZGUgKnptb2RlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4 X3ZnYS5jIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF92Z2EuYwo+IGluZGV4IDNlN2UzM2NkM2Rm YS4uNDUwZjg5MzhkYWE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfdmdh LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3ZnYS5jCj4gQEAgLTExOCw3ICsxMTgs NyBAQCBzdGF0aWMgaW50IHp4X3ZnYV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKPiAg enhfdmdhX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCj4gLQkJCSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArCQkJICAgIGNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAlyZXR1cm4gTU9ERV9P SzsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hfbW9k ZS5jIGIvZHJpdmVycy9zdGFnaW5nL3Zib3h2aWRlby92Ym94X21vZGUuYwo+IGluZGV4IGIyNjVm ZTkyNDU1Ni4uOGNkZTZjYTcwMTRjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy92Ym94 dmlkZW8vdmJveF9tb2RlLmMKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hf bW9kZS5jCj4gQEAgLTU3NCw3ICs1NzQsNyBAQCBzdGF0aWMgaW50IHZib3hfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgdmJv eF9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJCSAgIHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJcmV0dXJuIE1PREVfT0s7Cj4gIH0KPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vZHJtX2VuY29kZXJfc2xhdmUuaCBiL2luY2x1ZGUvZHJtL2RybV9l bmNvZGVyX3NsYXZlLmgKPiBpbmRleCAxMTA3YjRiMWM1OTkuLmI3OTA5NGJjMmZjZCAxMDA2NDQK PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZW5jb2Rlcl9zbGF2ZS5oCj4gKysrIGIvaW5jbHVkZS9k cm0vZHJtX2VuY29kZXJfc2xhdmUuaAo+IEBAIC01OCw3ICs1OCw3IEBAIHN0cnVjdCBkcm1fZW5j b2Rlcl9zbGF2ZV9mdW5jcyB7Cj4gIAkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlLAo+ICAJCQkgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSk7 Cj4gIAlpbnQgKCptb2RlX3ZhbGlkKShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJ CSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ICsJCQkgIGNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiAgCXZvaWQgKCptb2RlX3NldCkoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAo+ICAJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4g IAkJCSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSk7Cj4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVzLmggYi9pbmNsdWRlL2Ry bS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oCj4gaW5kZXggMzVlMmEzYTc5ZmM1Li4xOWJi MDMyMTNhZjMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0 YWJsZXMuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVzLmgK PiBAQCAtODgxLDcgKzg4MSw3IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyB7 Cj4gIAkgKiBkcm1fbW9kZV9zdGF0dXMuCj4gIAkgKi8KPiAgCWVudW0gZHJtX21vZGVfc3RhdHVz ICgqbW9kZV92YWxpZCkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCQkg ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Cj4gKwkJCQkJICAgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ICAJLyoqCj4gIAkgKiBAYmVzdF9lbmNvZGVyOgo+ ICAJICoKPiAtLSAKPiBSZWdhcmRzLAo+IAo+IExhdXJlbnQgUGluY2hhcnQKPiAKPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWls aW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApWaWxsZSBT eXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==