From mboxrd@z Thu Jan 1 00:00:00 1970 From: Corey Minyard Subject: Re: [PATCH 21/30] panic: Introduce the panic pre-reboot notifier list Date: Thu, 28 Apr 2022 11:26:16 -0500 Message-ID: <20220428162616.GE442787@minyard.net> References: <20220427224924.592546-1-gpiccoli@igalia.com> <20220427224924.592546-22-gpiccoli@igalia.com> Reply-To: minyard-HInyCGIudOg@public.gmane.org Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:date:from:to:cc:subject:message-id:reply-to:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=X61ynYOTK5MLCYojT5d+ysrbHRt63RIFwyQAXjqYUNE=; b=RB+bl5iS3eKUU1+cjBBmoZPJ1GgbW8A749d7YnZ5vNC1ZTUNv7WuO8EMH81G6FfKTS ULk5loh6t/tF8m/LAK3UZqNRLeu4MFN0UjekospklQvLFm841ye1F/VzC3oleDitZ9O1 cvCfYdbM5VdBWJyGeksEVUvI/wAmKaB1Xib5pllqvVtHqYCR321S43b6ZumXK649aRhK zYDyDYBYNmM0JL+Vo7iNHObeaqoFD1y1D4cNFPF7xZzMMMNiqfQKAckfc8DPi2gZdtiq 5S67VXHmy+E6AUijmYawjpiuSvLWVR0T3rL6kGpPqkjomB2poiuXMcy1kF9nEqMyvOX9 Yn4g== Sender: Corey Minyard Content-Disposition: inline In-Reply-To: <20220427224924.592546-22-gpiccoli-wEGTBA9jqPzQT0dZR+AlfA@public.gmane.org> List-ID: Content-Type: text/plain; charset="macroman" To: "Guilherme G. Piccoli" Cc: akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org, bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, pmladek-IBi9RG/b67k@public.gmane.org, kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org, coresight-cunTk1MwBs8s++Sfvej+rw@public.gmane.org, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-alpha-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-edac-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-hyperv-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-leds-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-mips-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-parisc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-remoteproc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-um-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw@public.gmane.org, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, openipmi-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, rcu-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b@public.gmane.org, x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, kernel-dev-wEGTBA9jqPzQT0dZR+AlfA@public.gmane.org, k T24gV2VkLCBBcHIgMjcsIDIwMjIgYXQgMDc6NDk6MTVQTSAtMDMwMCwgR3VpbGhlcm1lIEcuIFBp Y2NvbGkgd3JvdGU6Cj4gVGhpcyBwYXRjaCByZW5hbWVzIHRoZSBwYW5pY19ub3RpZmllcl9saXN0 IHRvIHBhbmljX3ByZV9yZWJvb3RfbGlzdDsKPiB0aGUgaWRlYSBpcyB0aGF0IGEgc3Vic2VxdWVu dCBwYXRjaCB3aWxsIHJlZmFjdG9yIHRoZSBwYW5pYyBwYXRoCj4gaW4gb3JkZXIgdG8gYmV0dGVy IHNwbGl0IHRoZSBub3RpZmllcnMsIHJ1bm5pbmcgc29tZSBvZiB0aGVtIHZlcnkKPiBlYXJseSwg c29tZSBvZiB0aGVtIG5vdCBzbyBlYXJseSBbYnV0IHN0aWxsIGJlZm9yZSBrbXNnX2R1bXAoKV0g YW5kCj4gZmluYWxseSwgdGhlIHJlc3Qgc2hvdWxkIGV4ZWN1dGUgbGF0ZSwgYWZ0ZXIga2R1bXAu IFRoZSBsYXR0ZXIgb25lcwo+IGFyZSBub3cgaW4gdGhlIHBhbmljIHByZS1yZWJvb3QgbGlzdCAt IHRoZSBuYW1lIGNvbWVzIGZyb20gdGhlIGlkZWEKPiB0aGF0IHRoZXNlIG5vdGlmaWVycyBleGVj dXRlIGJlZm9yZSBwYW5pYygpIGF0dGVtcHRzIHJlYm9vdGluZyB0aGUKPiBtYWNoaW5lIChpZiB0 aGF0IG9wdGlvbiBpcyBzZXQpLgo+IAo+IFdlIGFsc28gdG9vayB0aGUgb3Bwb3J0dW5pdHkgdG8g Y2xlYW4tdXAgdXNlbGVzcyBoZWFkZXIgaW5jbHVzaW9ucywKPiBpbXByb3ZlIHNvbWUgbm90aWZp ZXIgYmxvY2sgZGVjbGFyYXRpb25zIChlLmcuIGluIGlibWFzbS9oZWFydGJlYXQuYykKPiBhbmQg bW9yZSBpbXBvcnRhbnQsIGNoYW5nZSBzb21lIHByaW9yaXRpZXMgLSB3ZSBoZXJlYnkgc2V0IDIg bm90aWZpZXJzCj4gdG8gcnVuIGxhdGUgaW4gdGhlIGxpc3QgW2lzc19wYW5pY19ldmVudCgpIGFu ZCB0aGUgSVBNSSBwYW5pY19ldmVudCgpXQo+IGR1ZSB0byB0aGUgcmlza3MgdGhleSBvZmZlciAo bWF5IG5vdCByZXR1cm4sIGZvciBleGFtcGxlKS4KPiBQcm9wZXIgZG9jdW1lbnRhdGlvbiBpcyBn b2luZyB0byBiZSBwcm92aWRlZCBpbiBhIHN1YnNlcXVlbnQgcGF0Y2gsCj4gdGhhdCBlZmZlY3Rp dmVseSByZWZhY3RvcnMgdGhlIHBhbmljIHBhdGguCgpGb3IgdGhlIElQTUkgcG9ydGlvbjoKCkFj a2VkLWJ5OiBDb3JleSBNaW55YXJkIDxjbWlueWFyZC1JZ2Y0UE9ZVFlDRFFUMGRaUitBbGZBQHB1 YmxpYy5nbWFuZS5vcmc+CgpOb3RlIHRoYXQgdGhlIElQTUkgcGFuaWNfZXZlbnQoKSBzaG91bGQg YWx3YXlzIHJldHVybiwgYnV0IGl0IG1heSB0YWtlCnNvbWUgdGltZSwgZXNwZWNpYWxseSBpZiB0 aGUgSVBNSSBjb250cm9sbGVyIGlzIG5vIGxvbmdlciBmdW5jdGlvbmFsLgpTbyB0aGUgcmlzayBv ZiBhIGxvbmcgZGVsYXkgaXMgdGhlcmUgYW5kIGl0IG1ha2VzIHNlbnNlIHRvIG1vdmUgaXQgdmVy eQpsYXRlLgoKLWNvcmV5Cgo+IAo+IENjOiBBbGV4IEVsZGVyIDxlbGRlci1EZ0VqVCtBaTJ5Z2Ru bSt5Uk9mRTBBQHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IEFsZXhhbmRlciBHb3JkZWV2IDxhZ29y ZGVldi10RVhtdnRDWlg3QXliUzVFZThyczNBQHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IEFudG9u IEl2YW5vdiA8YW50b24uaXZhbm92LWVhU2dwNWhOMkVBdHdxRmRJRWd5emRCUFIxbEg0Q1Y4QHB1 YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IEJlbmphbWluIEhlcnJlbnNjaG1pZHQgPGJlbmgtWFZtdkhN QVJHQVM4VTJkSk5OOEk3a0IrNkJHa0xxN3JAcHVibGljLmdtYW5lLm9yZz4KPiBDYzogQmpvcm4g QW5kZXJzc29uIDxiam9ybi5hbmRlcnNzb24tUVNFajVGWVFobTRkbm0reVJPZkUwQUBwdWJsaWMu Z21hbmUub3JnPgo+IENjOiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreS1RSGNMWnVF R1RzdlFUMGRaUitBbGZBQHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IENocmlzIFphbmtlbCA8Y2hy aXMtWXZYZXF3U1l6RzJzVG5KTjkrQkdYZ0BwdWJsaWMuZ21hbmUub3JnPgo+IENjOiBDaHJpc3Rp YW4gQm9ybnRyYWVnZXIgPGJvcm50cmFlZ2VyLXRFWG12dENaWDdBeWJTNUVlOHJzM0FAcHVibGlj LmdtYW5lLm9yZz4KPiBDYzogQ29yZXkgTWlueWFyZCA8bWlueWFyZC1ISW55Q0dJdWRPZ0BwdWJs aWMuZ21hbmUub3JnPgo+IENjOiBEZXh1YW4gQ3VpIDxkZWN1aS0wbGk2T3RjeEJGSGJ5M2lWcmta cTJBQHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6ICJILiBQZXRlciBBbnZpbiIgPGhwYS1ZTU5PVVpK QzRod0F2eHRpdU13eDN3QHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IEhhaXlhbmcgWmhhbmcgPGhh aXlhbmd6LTBsaTZPdGN4QkZIYnkzaVZya1pxMkFAcHVibGljLmdtYW5lLm9yZz4KPiBDYzogSGVp a28gQ2Fyc3RlbnMgPGhjYS10RVhtdnRDWlg3QXliUzVFZThyczNBQHB1YmxpYy5nbWFuZS5vcmc+ Cj4gQ2M6IEhlbGdlIERlbGxlciA8ZGVsbGVyLU1tYjdNWnBIbkZZQHB1YmxpYy5nbWFuZS5vcmc+ Cj4gQ2M6IEl2YW4gS29rc2hheXNreSA8aW5rLWJpSXMvWTB5bVlKTVpMSVZZb2p1UE5QMHJYVEpU aTA5QHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6ICJKYW1lcyBFLkouIEJvdHRvbWxleSIgPEphbWVz LkJvdHRvbWxleS1kOVBoSHVkMUpmakNYcTZrZk1aNTMvZWdZSGVHdzhKa0BwdWJsaWMuZ21hbmUu b3JnPgo+IENjOiBKYW1lcyBNb3JzZSA8amFtZXMubW9yc2UtNXd2N2RnbklnRzhAcHVibGljLmdt YW5lLm9yZz4KPiBDYzogSm9oYW5uZXMgQmVyZyA8am9oYW5uZXMtY2R2dTAwdW4xVmdkSHh6QURk bGs4UUBwdWJsaWMuZ21hbmUub3JnPgo+IENjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3MtSUJpOVJH L2I2N2tAcHVibGljLmdtYW5lLm9yZz4KPiBDYzogIksuIFkuIFNyaW5pdmFzYW4iIDxreXMtMGxp Nk90Y3hCRkhieTNpVnJrWnEyQUBwdWJsaWMuZ21hbmUub3JnPgo+IENjOiBNYXRoaWV1IFBvaXJp ZXIgPG1hdGhpZXUucG9pcmllci1RU0VqNUZZUWhtNGRubSt5Uk9mRTBBQHB1YmxpYy5nbWFuZS5v cmc+Cj4gQ2M6IE1hdHQgVHVybmVyIDxtYXR0c3Q4OC1SZTVKUUVlUXFlOEF2eHRpdU13eDN3QHB1 YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IE1hdXJvIENhcnZhbGhvIENoZWhhYiA8bWNoZWhhYi1EZ0Vq VCtBaTJ5Z2RubSt5Uk9mRTBBQHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IE1heCBGaWxpcHBvdiA8 amNtdmJrYmMtUmU1SlFFZVFxZThBdnh0aXVNd3gzd0BwdWJsaWMuZ21hbmUub3JnPgo+IENjOiBN aWNoYWVsIEVsbGVybWFuIDxtcGUtR3N4L09lOEhzRmdnQmMyN3dxREFIZ0BwdWJsaWMuZ21hbmUu b3JnPgo+IENjOiBQYXVsIE1hY2tlcnJhcyA8cGF1bHVzLWVVTlVCSHJvbGZiWXRqdnlXNnlEc2dA cHVibGljLmdtYW5lLm9yZz4KPiBDYzogUGF2ZWwgTWFjaGVrIDxwYXZlbC0rWkk5eFVOaXQ3SUBw dWJsaWMuZ21hbmUub3JnPgo+IENjOiBSaWNoYXJkIEhlbmRlcnNvbiA8cnRoLWhMNDZqUDVCeHE3 UjdzODgwam95YlFAcHVibGljLmdtYW5lLm9yZz4KPiBDYzogUmljaGFyZCBXZWluYmVyZ2VyIDxy aWNoYXJkLS9MM1JhN245ZWtjQHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IFJvYmVydCBSaWNodGVy IDxycmljLURnRWpUK0FpMnlnZG5tK3lST2ZFMEFAcHVibGljLmdtYW5lLm9yZz4KPiBDYzogU3Rl ZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaS1EZ0VqVCtBaTJ5Z2RubSt5Uk9mRTBBQHB1Ymxp Yy5nbWFuZS5vcmc+Cj4gQ2M6IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGhlbW1pbi0wbGk2T3RjeEJG SGJ5M2lWcmtacTJBQHB1YmxpYy5nbWFuZS5vcmc+Cj4gQ2M6IFN2ZW4gU2NobmVsbGUgPHN2ZW5z LXRFWG12dENaWDdBeWJTNUVlOHJzM0FAcHVibGljLmdtYW5lLm9yZz4KPiBDYzogVG9ueSBMdWNr IDx0b255Lmx1Y2stcmFsMkpRQ3JodUVBdnh0aXVNd3gzd0BwdWJsaWMuZ21hbmUub3JnPgo+IENj OiBWYXNpbHkgR29yYmlrIDxnb3ItdEVYbXZ0Q1pYN0F5YlM1RWU4cnMzQUBwdWJsaWMuZ21hbmUu b3JnPgo+IENjOiBXZWkgTGl1IDx3ZWkubGl1LURnRWpUK0FpMnlnZG5tK3lST2ZFMEFAcHVibGlj LmdtYW5lLm9yZz4KPiBTaWduZWQtb2ZmLWJ5OiBHdWlsaGVybWUgRy4gUGljY29saSA8Z3BpY2Nv bGktd0VHVEJBOWpxUHpRVDBkWlIrQWxmQUBwdWJsaWMuZ21hbmUub3JnPgo+IC0tLQo+IAo+IE5v dGljZSB0aGF0LCB3aXRoIHRoaXMgbmFtZSBjaGFuZ2UsIG91dC1vZi10cmVlIGNvZGUgdGhhdCBy ZWxpZXMgaW4gdGhlIGdsb2JhbAo+IGV4cG9ydGVkICJwYW5pY19ub3RpZmllcl9saXN0IiB3aWxs IGZhaWwgdG8gYnVpbGQuIFdlIGNvdWxkIGVhc2lseSBrZWVwIHRoZQo+IHJldHJvLWNvbXBhdGli aWxpdHkgYnkgbWFraW5nIHRoZSBvbGQgc3ltYm9sIHRvIHN0aWxsIGV4aXN0IGFuZCBwb2ludCB0 byB0aGUKPiBwcmVfcmVib290IGxpc3QgKG9yIGV2ZW4sIGtlZXAgdGhlIG9sZCBuYW1pbmcpLgo+ IAo+IEJ1dCBvdXIgZGVzaWduIGNob2ljZSB3YXMgdG8gYWxsb3cgdGhlIGJyZWFrYWdlLCBtYWtp bmcgdXNlcnMgcmV0aGluayB0aGVpcgo+IG5vdGlmaWVycywgYWRkaW5nIHRoZW0gaW4gdGhlIGxp c3QgdGhhdCBmaXRzIGJlc3QuIElmIHRoYXQgd2Fzbid0IGEgZ29vZAo+IGRlY2lzaW9uLCB3ZSdy ZSBvcGVuIHRvIGNoYW5nZSBpdCwgb2YgY291cnNlLgo+IFRoYW5rcyBpbiBhZHZhbmNlIGZvciB0 aGUgcmV2aWV3IQo+IAo+ICBhcmNoL2FscGhhL2tlcm5lbC9zZXR1cC5jICAgICAgICAgICAgIHwg IDQgKystLQo+ICBhcmNoL3BhcmlzYy9rZXJuZWwvcGRjX2NoYXNzaXMuYyAgICAgIHwgIDMgKy0t Cj4gIGFyY2gvcG93ZXJwYy9rZXJuZWwvc2V0dXAtY29tbW9uLmMgICAgfCAgMiArLQo+ICBhcmNo L3MzOTAva2VybmVsL2lwbC5jICAgICAgICAgICAgICAgIHwgIDQgKystLQo+ICBhcmNoL3VtL2Ry aXZlcnMvbWNvbnNvbGVfa2Vybi5jICAgICAgIHwgIDIgKy0KPiAgYXJjaC91bS9rZXJuZWwvdW1f YXJjaC5jICAgICAgICAgICAgICB8ICAyICstCj4gIGFyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyAg ICAgICAgICAgICAgfCAgMiArLQo+ICBhcmNoL3h0ZW5zYS9wbGF0Zm9ybXMvaXNzL3NldHVwLmMg ICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2NoYXIvaXBtaS9pcG1pX21zZ2hhbmRsZXIuYyAgIHwg MTIgKysrKysrKy0tLS0tCj4gIGRyaXZlcnMvZWRhYy9hbHRlcmFfZWRhYy5jICAgICAgICAgICAg fCAgMyArLS0KPiAgZHJpdmVycy9odi92bWJ1c19kcnYuYyAgICAgICAgICAgICAgICB8ICA0ICsr LS0KPiAgZHJpdmVycy9sZWRzL3RyaWdnZXIvbGVkdHJpZy1wYW5pYy5jICB8ICAzICstLQo+ICBk cml2ZXJzL21pc2MvaWJtYXNtL2hlYXJ0YmVhdC5jICAgICAgIHwgMTYgKysrKysrKysrLS0tLS0t LQo+ICBkcml2ZXJzL25ldC9pcGEvaXBhX3NtcDJwLmMgICAgICAgICAgIHwgIDUgKystLS0KPiAg ZHJpdmVycy9wYXJpc2MvcG93ZXIuYyAgICAgICAgICAgICAgICB8ICA0ICsrLS0KPiAgZHJpdmVy cy9yZW1vdGVwcm9jL3JlbW90ZXByb2NfY29yZS5jICB8ICA2ICsrKystLQo+ICBkcml2ZXJzL3Mz OTAvY2hhci9jb24zMjE1LmMgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9zMzkwL2NoYXIv Y29uMzI3MC5jICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29u LmMgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMgICAg ICAgIHwgIDIgKy0KPiAgZHJpdmVycy9zdGFnaW5nL29scGNfZGNvbi9vbHBjX2Rjb24uYyB8ICA2 ICsrKystLQo+ICBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2h5cGVydl9mYi5jICAgICAgIHwgIDQgKyst LQo+ICBpbmNsdWRlL2xpbnV4L3BhbmljX25vdGlmaWVyLmggICAgICAgIHwgIDIgKy0KPiAga2Vy bmVsL3BhbmljLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKystLS0tLQo+ICAyNCBm aWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCA1MSBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvc2V0dXAuYyBiL2FyY2gvYWxwaGEva2VybmVsL3Nl dHVwLmMKPiBpbmRleCBkODhiZGY4NTI3NTMuLjhhY2UwZDcxMTNiNiAxMDA2NDQKPiAtLS0gYS9h cmNoL2FscGhhL2tlcm5lbC9zZXR1cC5jCj4gKysrIGIvYXJjaC9hbHBoYS9rZXJuZWwvc2V0dXAu Ywo+IEBAIC00NzIsOCArNDcyLDggQEAgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQo+ICAJ fQo+ICAKPiAgCS8qIFJlZ2lzdGVyIGEgY2FsbCBmb3IgcGFuaWMgY29uZGl0aW9ucy4gKi8KPiAt CWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwKPiAt CQkJJmFscGhhX3BhbmljX2Jsb2NrKTsKPiArCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3Rl cigmcGFuaWNfcHJlX3JlYm9vdF9saXN0LAo+ICsJCQkJCSZhbHBoYV9wYW5pY19ibG9jayk7Cj4g IAo+ICAjaWZuZGVmIGFscGhhX3VzaW5nX3NybQo+ICAJLyogQXNzdW1lIHRoYXQgd2UndmUgYm9v dGVkIGZyb20gU1JNIGlmIHdlIGhhdmVuJ3QgYm9vdGVkIGZyb20gTUlMTy4KPiBkaWZmIC0tZ2l0 IGEvYXJjaC9wYXJpc2Mva2VybmVsL3BkY19jaGFzc2lzLmMgYi9hcmNoL3BhcmlzYy9rZXJuZWwv cGRjX2NoYXNzaXMuYwo+IGluZGV4IGRhMTU0NDA2ZDM2OC4uMGZkOGQ4N2ZiNGY5IDEwMDY0NAo+ IC0tLSBhL2FyY2gvcGFyaXNjL2tlcm5lbC9wZGNfY2hhc3Npcy5jCj4gKysrIGIvYXJjaC9wYXJp c2Mva2VybmVsL3BkY19jaGFzc2lzLmMKPiBAQCAtMjIsNyArMjIsNiBAQAo+ICAjaW5jbHVkZSA8 bGludXgva2VybmVsLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9wYW5pY19ub3RpZmllci5oPgo+ICAj aW5jbHVkZSA8bGludXgvcmVib290Lmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgo+ ICAjaW5jbHVkZSA8bGludXgvY2FjaGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4K PiAgI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Cj4gQEAgLTEzNSw3ICsxMzQsNyBAQCB2b2lk IF9faW5pdCBwYXJpc2NfcGRjX2NoYXNzaXNfaW5pdCh2b2lkKQo+ICAJCQkJUERDX0NIQVNTSVNf VkVSKTsKPiAgCj4gIAkJLyogaW5pdGlhbGl6ZSBwYW5pYyBub3RpZmllciBjaGFpbiAqLwo+IC0J CWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwKPiAr CQlhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmljX3ByZV9yZWJvb3RfbGlzdCwK PiAgCQkJCSZwZGNfY2hhc3Npc19wYW5pY19ibG9jayk7Cj4gIAo+ICAJCS8qIGluaXRpYWxpemUg cmVib290IG5vdGlmaWVyIGNoYWluICovCj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJu ZWwvc2V0dXAtY29tbW9uLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwLWNvbW1vbi5jCj4g aW5kZXggZDA0YjhiZjhkYmM3Li4zNTE4YmViYzEwYWQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9wb3dl cnBjL2tlcm5lbC9zZXR1cC1jb21tb24uYwo+ICsrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvc2V0 dXAtY29tbW9uLmMKPiBAQCAtNzYyLDcgKzc2Miw3IEBAIHZvaWQgX19pbml0IHNldHVwX3Bhbmlj KHZvaWQpCj4gIAo+ICAJLyogTG93LWxldmVsIHBsYXRmb3JtLXNwZWNpZmljIHJvdXRpbmVzIHRo YXQgc2hvdWxkIHJ1biBvbiBwYW5pYyAqLwo+ICAJaWYgKHBwY19tZC5wYW5pYykKPiAtCQlhdG9t aWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmljX25vdGlmaWVyX2xpc3QsCj4gKwkJYXRv bWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19wcmVfcmVib290X2xpc3QsCj4gIAkJ CQkJICAgICAgICZwcGNfcGFuaWNfYmxvY2spOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9hcmNo L3MzOTAva2VybmVsL2lwbC5jIGIvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYwo+IGluZGV4IDFjYzg1 YjhmZjQyZS4uNGE4OGM1YmI2ZTE1IDEwMDY0NAo+IC0tLSBhL2FyY2gvczM5MC9rZXJuZWwvaXBs LmMKPiArKysgYi9hcmNoL3MzOTAva2VybmVsL2lwbC5jCj4gQEAgLTIwMzQsNyArMjAzNCw3IEBA IHN0YXRpYyBpbnQgb25fcGFuaWNfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwK PiAgCQkJICAgdW5zaWduZWQgbG9uZyBldmVudCwgdm9pZCAqZGF0YSkKPiAgewo+ICAJZG9fcGFu aWMoKTsKPiAtCXJldHVybiBOT1RJRllfT0s7Cj4gKwlyZXR1cm4gTk9USUZZX0RPTkU7Cj4gIH0K PiAgCj4gIHN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgb25fcGFuaWNfbmIgPSB7Cj4gQEAg LTIwNjksNyArMjA2OSw3IEBAIHZvaWQgX19pbml0IHNldHVwX2lwbCh2b2lkKQo+ICAJCS8qIFdl IGhhdmUgbm8gaW5mbyB0byBjb3B5ICovCj4gIAkJYnJlYWs7Cj4gIAl9Cj4gLQlhdG9taWNfbm90 aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmljX25vdGlmaWVyX2xpc3QsICZvbl9wYW5pY19uYik7 Cj4gKwlhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmljX3ByZV9yZWJvb3RfbGlz dCwgJm9uX3BhbmljX25iKTsKPiAgfQo+ICAKPiAgdm9pZCBzMzkwX3Jlc2V0X3N5c3RlbSh2b2lk KQo+IGRpZmYgLS1naXQgYS9hcmNoL3VtL2RyaXZlcnMvbWNvbnNvbGVfa2Vybi5jIGIvYXJjaC91 bS9kcml2ZXJzL21jb25zb2xlX2tlcm4uYwo+IGluZGV4IDJlYTA0MjFiY2MzZi4uMjFjMTNiNGUy NGEzIDEwMDY0NAo+IC0tLSBhL2FyY2gvdW0vZHJpdmVycy9tY29uc29sZV9rZXJuLmMKPiArKysg Yi9hcmNoL3VtL2RyaXZlcnMvbWNvbnNvbGVfa2Vybi5jCj4gQEAgLTg1NSw3ICs4NTUsNyBAQCBz dGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHBhbmljX2V4aXRfbm90aWZpZXIgPSB7Cj4gIAo+ ICBzdGF0aWMgaW50IGFkZF9ub3RpZmllcih2b2lkKQo+ICB7Cj4gLQlhdG9taWNfbm90aWZpZXJf Y2hhaW5fcmVnaXN0ZXIoJnBhbmljX25vdGlmaWVyX2xpc3QsCj4gKwlhdG9taWNfbm90aWZpZXJf Y2hhaW5fcmVnaXN0ZXIoJnBhbmljX3ByZV9yZWJvb3RfbGlzdCwKPiAgCQkJJnBhbmljX2V4aXRf bm90aWZpZXIpOwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvYXJjaC91bS9rZXJu ZWwvdW1fYXJjaC5jIGIvYXJjaC91bS9rZXJuZWwvdW1fYXJjaC5jCj4gaW5kZXggNDQ4NWIxYTdj OGU0Li5mYzZlNDQzMjk5ZGEgMTAwNjQ0Cj4gLS0tIGEvYXJjaC91bS9rZXJuZWwvdW1fYXJjaC5j Cj4gKysrIGIvYXJjaC91bS9rZXJuZWwvdW1fYXJjaC5jCj4gQEAgLTI1Nyw3ICsyNTcsNyBAQCBz dGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHBhbmljX2V4aXRfbm90aWZpZXIgPSB7Cj4gIAo+ ICB2b2lkIHVtbF9maW5pc2hzZXR1cCh2b2lkKQo+ICB7Cj4gLQlhdG9taWNfbm90aWZpZXJfY2hh aW5fcmVnaXN0ZXIoJnBhbmljX25vdGlmaWVyX2xpc3QsCj4gKwlhdG9taWNfbm90aWZpZXJfY2hh aW5fcmVnaXN0ZXIoJnBhbmljX3ByZV9yZWJvb3RfbGlzdCwKPiAgCQkJCSAgICAgICAmcGFuaWNf ZXhpdF9ub3RpZmllcik7Cj4gIAo+ICAJdW1sX3Bvc3RzZXR1cCgpOwo+IGRpZmYgLS1naXQgYS9h cmNoL3g4Ni94ZW4vZW5saWdodGVuLmMgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKPiBpbmRl eCAzMGM2ZTk4NmE2Y2QuLmQ0ZjRkZTIzOWEyMSAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni94ZW4v ZW5saWdodGVuLmMKPiArKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKPiBAQCAtMjkwLDcg KzI5MCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgeGVuX3BhbmljX2Jsb2NrID0g ewo+ICAKPiAgaW50IHhlbl9wYW5pY19oYW5kbGVyX2luaXQodm9pZCkKPiAgewo+IC0JYXRvbWlj X25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19ub3RpZmllcl9saXN0LCAmeGVuX3Bhbmlj X2Jsb2NrKTsKPiArCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfcHJlX3Jl Ym9vdF9saXN0LCAmeGVuX3BhbmljX2Jsb2NrKTsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IGRp ZmYgLS1naXQgYS9hcmNoL3h0ZW5zYS9wbGF0Zm9ybXMvaXNzL3NldHVwLmMgYi9hcmNoL3h0ZW5z YS9wbGF0Zm9ybXMvaXNzL3NldHVwLmMKPiBpbmRleCBkMzQzM2UxYmI5NGUuLmVlZWViNmNmZjZi ZCAxMDA2NDQKPiAtLS0gYS9hcmNoL3h0ZW5zYS9wbGF0Zm9ybXMvaXNzL3NldHVwLmMKPiArKysg Yi9hcmNoL3h0ZW5zYS9wbGF0Zm9ybXMvaXNzL3NldHVwLmMKPiBAQCAtMTMsNyArMTMsNiBAQAo+ ICAgKi8KPiAgI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2tlcm5l bC5oPgo+IC0jaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3Bh bmljX25vdGlmaWVyLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9wcmludGsuaD4KPiAgI2luY2x1ZGUg PGxpbnV4L3N0cmluZy5oPgo+IEBAIC01Myw2ICs1Miw3IEBAIGlzc19wYW5pY19ldmVudChzdHJ1 Y3Qgbm90aWZpZXJfYmxvY2sgKnRoaXMsIHVuc2lnbmVkIGxvbmcgZXZlbnQsIHZvaWQgKnB0cikK PiAgCj4gIHN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgaXNzX3BhbmljX2Jsb2NrID0gewo+ ICAJLm5vdGlmaWVyX2NhbGwgPSBpc3NfcGFuaWNfZXZlbnQsCj4gKwkucHJpb3JpdHkgPSBJTlRf TUlOLCAvKiBydW4gYXMgbGF0ZSBhcyBwb3NzaWJsZSwgbWF5IG5vdCByZXR1cm4gKi8KPiAgfTsK PiAgCj4gIHZvaWQgX19pbml0IHBsYXRmb3JtX3NldHVwKGNoYXIgKipwX2NtZGxpbmUpCj4gQEAg LTgxLDUgKzgxLDUgQEAgdm9pZCBfX2luaXQgcGxhdGZvcm1fc2V0dXAoY2hhciAqKnBfY21kbGlu ZSkKPiAgCQl9Cj4gIAl9Cj4gIAo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZw YW5pY19ub3RpZmllcl9saXN0LCAmaXNzX3BhbmljX2Jsb2NrKTsKPiArCWF0b21pY19ub3RpZmll cl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfcHJlX3JlYm9vdF9saXN0LCAmaXNzX3BhbmljX2Jsb2Nr KTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX21zZ2hhbmRsZXIu YyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfbXNnaGFuZGxlci5jCj4gaW5kZXggYzU5MjY1MTQ2 ZTljLi42YzQ3NzA5NDljMDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9t c2doYW5kbGVyLmMKPiArKysgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX21zZ2hhbmRsZXIuYwo+ IEBAIC0yNSw3ICsyNSw2IEBACj4gICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gICNpbmNsdWRl IDxsaW51eC9pcG1pLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9pcG1pX3NtaS5oPgo+IC0jaW5jbHVk ZSA8bGludXgvbm90aWZpZXIuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KPiAgI2luY2x1 ZGUgPGxpbnV4L3Byb2NfZnMuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+Cj4gQEAg LTUzNzUsMTAgKzUzNzQsMTMgQEAgc3RhdGljIGludCBpcG1pX3JlZ2lzdGVyX2RyaXZlcih2b2lk KQo+ICAJcmV0dXJuIHJ2Owo+ICB9Cj4gIAo+ICsvKgo+ICsgKiB3ZSBzaG91bGQgZXhlY3V0ZSB0 aGlzIHBhbmljIGNhbGxiYWNrIGxhdGUsIHNpbmNlIGl0IGludm9sdmVzCj4gKyAqIGEgY29tcGxl eCBjYWxsLWNoYWluIGFuZCBwYW5pYygpIHJ1bnMgaW4gYXRvbWljIGNvbnRleHQuCj4gKyAqLwo+ ICBzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHBhbmljX2Jsb2NrID0gewo+ICAJLm5vdGlm aWVyX2NhbGwJPSBwYW5pY19ldmVudCwKPiAtCS5uZXh0CQk9IE5VTEwsCj4gLQkucHJpb3JpdHkJ PSAyMDAJLyogcHJpb3JpdHk6IElOVF9NQVggPj0geCA+PSAwICovCj4gKwkucHJpb3JpdHkJPSBJ TlRfTUlOICsgMSwKPiAgfTsKPiAgCj4gIHN0YXRpYyBpbnQgaXBtaV9pbml0X21zZ2hhbmRsZXIo dm9pZCkKPiBAQCAtNTQwNiw3ICs1NDA4LDcgQEAgc3RhdGljIGludCBpcG1pX2luaXRfbXNnaGFu ZGxlcih2b2lkKQo+ICAJdGltZXJfc2V0dXAoJmlwbWlfdGltZXIsIGlwbWlfdGltZW91dCwgMCk7 Cj4gIAltb2RfdGltZXIoJmlwbWlfdGltZXIsIGppZmZpZXMgKyBJUE1JX1RJTUVPVVRfSklGRklF Uyk7Cj4gIAo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19ub3RpZmll cl9saXN0LCAmcGFuaWNfYmxvY2spOwo+ICsJYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVy KCZwYW5pY19wcmVfcmVib290X2xpc3QsICZwYW5pY19ibG9jayk7Cj4gIAo+ICAJaW5pdGlhbGl6 ZWQgPSB0cnVlOwo+ICAKPiBAQCAtNTQzOCw3ICs1NDQwLDcgQEAgc3RhdGljIHZvaWQgX19leGl0 IGNsZWFudXBfaXBtaSh2b2lkKQo+ICAJaWYgKGluaXRpYWxpemVkKSB7Cj4gIAkJZGVzdHJveV93 b3JrcXVldWUocmVtb3ZlX3dvcmtfd3EpOwo+ICAKPiAtCQlhdG9taWNfbm90aWZpZXJfY2hhaW5f dW5yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwKPiArCQlhdG9taWNfbm90aWZpZXJfY2hh aW5fdW5yZWdpc3RlcigmcGFuaWNfcHJlX3JlYm9vdF9saXN0LAo+ICAJCQkJCQkgJnBhbmljX2Js b2NrKTsKPiAgCj4gIAkJLyoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL2FsdGVyYV9lZGFj LmMgYi9kcml2ZXJzL2VkYWMvYWx0ZXJhX2VkYWMuYwo+IGluZGV4IGU3ZThlNjI0YTQzNi4uNDg5 MGU5Y2JhNmZiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZWRhYy9hbHRlcmFfZWRhYy5jCj4gKysr IGIvZHJpdmVycy9lZGFjL2FsdGVyYV9lZGFjLmMKPiBAQCAtMTYsNyArMTYsNiBAQAo+ICAjaW5j bHVkZSA8bGludXgva2VybmVsLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tZmQvYWx0ZXJhLXN5c21n ci5oPgo+ICAjaW5jbHVkZSA8bGludXgvbWZkL3N5c2Nvbi5oPgo+IC0jaW5jbHVkZSA8bGludXgv bm90aWZpZXIuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4KPiAgI2luY2x1ZGUg PGxpbnV4L29mX2lycS5oPgo+ICAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KPiBAQCAt MjE2Myw3ICsyMTYyLDcgQEAgc3RhdGljIGludCBhbHRyX2VkYWNfYTEwX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAkJaW50IGRiZXJyb3IsIGVycl9hZGRyOwo+ICAKPiAg CQllZGFjLT5wYW5pY19ub3RpZmllci5ub3RpZmllcl9jYWxsID0gczEwX2VkYWNfZGJlcnJfaGFu ZGxlcjsKPiAtCQlhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmljX25vdGlmaWVy X2xpc3QsCj4gKwkJYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19wcmVfcmVi b290X2xpc3QsCj4gIAkJCQkJICAgICAgICZlZGFjLT5wYW5pY19ub3RpZmllcik7Cj4gIAo+ICAJ CS8qIFByaW50b3V0IGEgbWVzc2FnZSBpZiB1bmNvcnJlY3RhYmxlIGVycm9yIHByZXZpb3VzbHku ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHYvdm1idXNfZHJ2LmMgYi9kcml2ZXJzL2h2L3Zt YnVzX2Rydi5jCj4gaW5kZXggOTAxYjk3MDM0MzA4Li4zNzE3YzMyM2FhMzYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9odi92bWJ1c19kcnYuYwo+ICsrKyBiL2RyaXZlcnMvaHYvdm1idXNfZHJ2LmMK PiBAQCAtMTYyMiw3ICsxNjIyLDcgQEAgc3RhdGljIGludCB2bWJ1c19idXNfaW5pdCh2b2lkKQo+ ICAJICogQWx3YXlzIHJlZ2lzdGVyIHRoZSB2bWJ1cyB1bmxvYWQgcGFuaWMgbm90aWZpZXIgYmVj YXVzZSB3ZQo+ICAJICogbmVlZCB0byBzaHV0IHRoZSBWTWJ1cyBjaGFubmVsIGNvbm5lY3Rpb24g b24gcGFuaWMuCj4gIAkgKi8KPiAtCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFu aWNfbm90aWZpZXJfbGlzdCwKPiArCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFu aWNfcHJlX3JlYm9vdF9saXN0LAo+ICAJCQkgICAgICAgJmh5cGVydl9wYW5pY192bWJ1c191bmxv YWRfYmxvY2spOwo+ICAKPiAgCXZtYnVzX3JlcXVlc3Rfb2ZmZXJzKCk7Cj4gQEAgLTI4NTEsNyAr Mjg1MSw3IEBAIHN0YXRpYyB2b2lkIF9fZXhpdCB2bWJ1c19leGl0KHZvaWQpCj4gIAkgKiBUaGUg dm1idXMgcGFuaWMgbm90aWZpZXIgaXMgYWx3YXlzIHJlZ2lzdGVyZWQsIGhlbmNlIHdlIHNob3Vs ZAo+ICAJICogYWxzbyB1bmNvbmRpdGlvbmFsbHkgdW5yZWdpc3RlciBpdCBoZXJlIGFzIHdlbGwu Cj4gIAkgKi8KPiAtCWF0b21pY19ub3RpZmllcl9jaGFpbl91bnJlZ2lzdGVyKCZwYW5pY19ub3Rp Zmllcl9saXN0LAo+ICsJYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJnBhbmljX3By ZV9yZWJvb3RfbGlzdCwKPiAgCQkJCQkmaHlwZXJ2X3BhbmljX3ZtYnVzX3VubG9hZF9ibG9jayk7 Cj4gIAo+ICAJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKWh2X3BhbmljX3BhZ2UpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2xlZHMvdHJpZ2dlci9sZWR0cmlnLXBhbmljLmMgYi9kcml2ZXJzL2xl ZHMvdHJpZ2dlci9sZWR0cmlnLXBhbmljLmMKPiBpbmRleCA2NGFiZjJlOTE2MDguLjM0ZmQ1MTcw NzIzZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2xlZHMvdHJpZ2dlci9sZWR0cmlnLXBhbmljLmMK PiArKysgYi9kcml2ZXJzL2xlZHMvdHJpZ2dlci9sZWR0cmlnLXBhbmljLmMKPiBAQCAtNyw3ICs3 LDYgQEAKPiAgCj4gICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiAgI2luY2x1ZGUgPGxpbnV4 L2luaXQuaD4KPiAtI2luY2x1ZGUgPGxpbnV4L25vdGlmaWVyLmg+Cj4gICNpbmNsdWRlIDxsaW51 eC9wYW5pY19ub3RpZmllci5oPgo+ICAjaW5jbHVkZSA8bGludXgvbGVkcy5oPgo+ICAjaW5jbHVk ZSAiLi4vbGVkcy5oIgo+IEBAIC02NCw3ICs2Myw3IEBAIHN0YXRpYyBsb25nIGxlZF9wYW5pY19i bGluayhpbnQgc3RhdGUpCj4gIAo+ICBzdGF0aWMgaW50IF9faW5pdCBsZWR0cmlnX3BhbmljX2lu aXQodm9pZCkKPiAgewo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19u b3RpZmllcl9saXN0LAo+ICsJYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19w cmVfcmVib290X2xpc3QsCj4gIAkJCQkgICAgICAgJmxlZF90cmlnZ2VyX3BhbmljX25iKTsKPiAg Cj4gIAlsZWRfdHJpZ2dlcl9yZWdpc3Rlcl9zaW1wbGUoInBhbmljIiwgJnRyaWdnZXIpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvaWJtYXNtL2hlYXJ0YmVhdC5jIGIvZHJpdmVycy9taXNj L2libWFzbS9oZWFydGJlYXQuYwo+IGluZGV4IDU5YzlhMGQ5NTY1OS4uZDZhY2FlODhiNzIyIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvbWlzYy9pYm1hc20vaGVhcnRiZWF0LmMKPiArKysgYi9kcml2 ZXJzL21pc2MvaWJtYXNtL2hlYXJ0YmVhdC5jCj4gQEAgLTgsNyArOCw2IEBACj4gICAqIEF1dGhv cjogTWF4IEFzYsO2Y2sgPGFtYXgtci9KdzYrcm1mN0hRVDBkWlIrQWxmQUBwdWJsaWMuZ21hbmUu b3JnPgo+ICAgKi8KPiAgCj4gLSNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgo+ICAjaW5jbHVk ZSA8bGludXgvcGFuaWNfbm90aWZpZXIuaD4KPiAgI2luY2x1ZGUgImlibWFzbS5oIgo+ICAjaW5j bHVkZSAiZG90X2NvbW1hbmQuaCIKPiBAQCAtMjQsNyArMjMsNyBAQCBzdGF0aWMgaW50IHN1c3Bl bmRfaGVhcnRiZWF0cyA9IDA7Cj4gICAqIEluIHRoZSBjYXNlIG9mIGEgcGFuaWMgdGhlIGludGVy cnVwdCBoYW5kbGVyIGNvbnRpbnVlcyB0byB3b3JrIGFuZCB0aHVzCj4gICAqIGNvbnRpbnVlcyB0 byByZXNwb25kIHRvIGhlYXJ0YmVhdHMsIG1ha2luZyB0aGUgc2VydmljZSBwcm9jZXNzb3IgYmVs aWV2ZQo+ICAgKiB0aGUgT1MgaXMgc3RpbGwgcnVubmluZyBhbmQgdGh1cyBwcmV2ZW50aW5nIGEg cmVib290Lgo+IC0gKiBUbyBwcmV2ZW50IHRoaXMgZnJvbSBoYXBwZW5pbmcgYSBjYWxsYmFjayBp cyBhZGRlZCB0aGUgcGFuaWNfbm90aWZpZXJfbGlzdC4KPiArICogVG8gcHJldmVudCB0aGlzIGZy b20gaGFwcGVuaW5nIGEgY2FsbGJhY2sgaXMgYWRkZWQgaW4gYSBwYW5pYyBub3RpZmllciBsaXN0 Lgo+ICAgKiBCZWZvcmUgcmVzcG9uZGluZyB0byBhIGhlYXJ0YmVhdCB0aGUgZHJpdmVyIGNoZWNr cyBpZiBhIHBhbmljIGhhcyBoYXBwZW5lZCwKPiAgICogaWYgeWVzIGl0IHN1c3BlbmRzIGhlYXJ0 YmVhdCwgY2F1c2luZyB0aGUgc2VydmljZSBwcm9jZXNzb3IgdG8gcmVib290IGFzCj4gICAqIGV4 cGVjdGVkLgo+IEBAIC0zMiwyMCArMzEsMjMgQEAgc3RhdGljIGludCBzdXNwZW5kX2hlYXJ0YmVh dHMgPSAwOwo+ICBzdGF0aWMgaW50IHBhbmljX2hhcHBlbmVkKHN0cnVjdCBub3RpZmllcl9ibG9j ayAqbiwgdW5zaWduZWQgbG9uZyB2YWwsIHZvaWQgKnYpCj4gIHsKPiAgCXN1c3BlbmRfaGVhcnRi ZWF0cyA9IDE7Cj4gLQlyZXR1cm4gMDsKPiArCXJldHVybiBOT1RJRllfRE9ORTsKPiAgfQo+ICAK PiAtc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayBwYW5pY19ub3RpZmllciA9IHsgcGFuaWNf aGFwcGVuZWQsIE5VTEwsIDEgfTsKPiArc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayBwYW5p Y19ub3RpZmllciA9IHsKPiArCS5ub3RpZmllcl9jYWxsID0gcGFuaWNfaGFwcGVuZWQsCj4gK307 Cj4gIAo+ICB2b2lkIGlibWFzbV9yZWdpc3Rlcl9wYW5pY19ub3RpZmllcih2b2lkKQo+ICB7Cj4g LQlhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmljX25vdGlmaWVyX2xpc3QsICZw YW5pY19ub3RpZmllcik7Cj4gKwlhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmlj X3ByZV9yZWJvb3RfbGlzdCwKPiArCQkJCQkmcGFuaWNfbm90aWZpZXIpOwo+ICB9Cj4gIAo+ICB2 b2lkIGlibWFzbV91bnJlZ2lzdGVyX3BhbmljX25vdGlmaWVyKHZvaWQpCj4gIHsKPiAtCWF0b21p Y19ub3RpZmllcl9jaGFpbl91bnJlZ2lzdGVyKCZwYW5pY19ub3RpZmllcl9saXN0LAo+IC0JCQkm cGFuaWNfbm90aWZpZXIpOwo+ICsJYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJnBh bmljX3ByZV9yZWJvb3RfbGlzdCwKPiArCQkJCQkmcGFuaWNfbm90aWZpZXIpOwo+ICB9Cj4gIAo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXBhL2lwYV9zbXAycC5jIGIvZHJpdmVycy9u ZXQvaXBhL2lwYV9zbXAycC5jCj4gaW5kZXggMjExMjMzNjEyMDM5Li45MmNkZjZlMDYzN2MgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvaXBhL2lwYV9zbXAycC5jCj4gKysrIGIvZHJpdmVycy9u ZXQvaXBhL2lwYV9zbXAycC5jCj4gQEAgLTcsNyArNyw2IEBACj4gICNpbmNsdWRlIDxsaW51eC90 eXBlcy5oPgo+ICAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9p bnRlcnJ1cHQuaD4KPiAtI2luY2x1ZGUgPGxpbnV4L25vdGlmaWVyLmg+Cj4gICNpbmNsdWRlIDxs aW51eC9wYW5pY19ub3RpZmllci5oPgo+ICAjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPgo+ ICAjaW5jbHVkZSA8bGludXgvc29jL3Fjb20vc21lbS5oPgo+IEBAIC0xMzgsMTMgKzEzNywxMyBA QCBzdGF0aWMgaW50IGlwYV9zbXAycF9wYW5pY19ub3RpZmllcl9yZWdpc3RlcihzdHJ1Y3QgaXBh X3NtcDJwICpzbXAycCkKPiAgCXNtcDJwLT5wYW5pY19ub3RpZmllci5ub3RpZmllcl9jYWxsID0g aXBhX3NtcDJwX3BhbmljX25vdGlmaWVyOwo+ICAJc21wMnAtPnBhbmljX25vdGlmaWVyLnByaW9y aXR5ID0gSU5UX01BWDsJLyogRG8gaXQgZWFybHkgKi8KPiAgCj4gLQlyZXR1cm4gYXRvbWljX25v dGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19ub3RpZmllcl9saXN0LAo+ICsJcmV0dXJuIGF0 b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfcHJlX3JlYm9vdF9saXN0LAo+ICAJ CQkJCSAgICAgICZzbXAycC0+cGFuaWNfbm90aWZpZXIpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9p ZCBpcGFfc21wMnBfcGFuaWNfbm90aWZpZXJfdW5yZWdpc3RlcihzdHJ1Y3QgaXBhX3NtcDJwICpz bXAycCkKPiAgewo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJnBhbmljX25v dGlmaWVyX2xpc3QsCj4gKwlhdG9taWNfbm90aWZpZXJfY2hhaW5fdW5yZWdpc3RlcigmcGFuaWNf cHJlX3JlYm9vdF9saXN0LAo+ICAJCQkJCSAmc21wMnAtPnBhbmljX25vdGlmaWVyKTsKPiAgfQo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wYXJpc2MvcG93ZXIuYyBiL2RyaXZlcnMvcGFyaXNj L3Bvd2VyLmMKPiBpbmRleCA4NTEyODg0ZGUyY2YuLjViYjA4NjhmNWYwOCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL3BhcmlzYy9wb3dlci5jCj4gKysrIGIvZHJpdmVycy9wYXJpc2MvcG93ZXIuYwo+ IEBAIC0yMzMsNyArMjMzLDcgQEAgc3RhdGljIGludCBfX2luaXQgcG93ZXJfaW5pdCh2b2lkKQo+ ICAJfQo+ICAKPiAgCS8qIFJlZ2lzdGVyIGEgY2FsbCBmb3IgcGFuaWMgY29uZGl0aW9ucy4gKi8K PiAtCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwK PiArCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfcHJlX3JlYm9vdF9saXN0 LAo+ICAJCQkmcGFyaXNjX3BhbmljX2Jsb2NrKTsKPiAgCj4gIAlyZXR1cm4gMDsKPiBAQCAtMjQz LDcgKzI0Myw3IEBAIHN0YXRpYyB2b2lkIF9fZXhpdCBwb3dlcl9leGl0KHZvaWQpCj4gIHsKPiAg CWt0aHJlYWRfc3RvcChwb3dlcl90YXNrKTsKPiAgCj4gLQlhdG9taWNfbm90aWZpZXJfY2hhaW5f dW5yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwKPiArCWF0b21pY19ub3RpZmllcl9jaGFp bl91bnJlZ2lzdGVyKCZwYW5pY19wcmVfcmVib290X2xpc3QsCj4gIAkJCSZwYXJpc2NfcGFuaWNf YmxvY2spOwo+ICAKPiAgCXBkY19zb2Z0X3Bvd2VyX2J1dHRvbigwKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9yZW1vdGVwcm9jL3JlbW90ZXByb2NfY29yZS5jIGIvZHJpdmVycy9yZW1vdGVwcm9j L3JlbW90ZXByb2NfY29yZS5jCj4gaW5kZXggYzUxMDEyNTc2OWI5Li4yNDc5OWZmMjM5ZTYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3JlbW90ZXByb2NfY29yZS5jCj4gKysrIGIv ZHJpdmVycy9yZW1vdGVwcm9jL3JlbW90ZXByb2NfY29yZS5jCj4gQEAgLTI3OTUsMTIgKzI3OTUs MTQgQEAgc3RhdGljIGludCBycHJvY19wYW5pY19oYW5kbGVyKHN0cnVjdCBub3RpZmllcl9ibG9j ayAqbmIsIHVuc2lnbmVkIGxvbmcgZXZlbnQsCj4gIHN0YXRpYyB2b2lkIF9faW5pdCBycHJvY19p bml0X3BhbmljKHZvaWQpCj4gIHsKPiAgCXJwcm9jX3BhbmljX25iLm5vdGlmaWVyX2NhbGwgPSBy cHJvY19wYW5pY19oYW5kbGVyOwo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZw YW5pY19ub3RpZmllcl9saXN0LCAmcnByb2NfcGFuaWNfbmIpOwo+ICsJYXRvbWljX25vdGlmaWVy X2NoYWluX3JlZ2lzdGVyKCZwYW5pY19wcmVfcmVib290X2xpc3QsCj4gKwkJCQkgICAgICAgJnJw cm9jX3BhbmljX25iKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgX19leGl0IHJwcm9jX2V4aXRf cGFuaWModm9pZCkKPiAgewo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJnBh bmljX25vdGlmaWVyX2xpc3QsICZycHJvY19wYW5pY19uYik7Cj4gKwlhdG9taWNfbm90aWZpZXJf Y2hhaW5fdW5yZWdpc3RlcigmcGFuaWNfcHJlX3JlYm9vdF9saXN0LAo+ICsJCQkJCSAmcnByb2Nf cGFuaWNfbmIpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IF9faW5pdCByZW1vdGVwcm9jX2luaXQo dm9pZCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jIGIvZHJpdmVy cy9zMzkwL2NoYXIvY29uMzIxNS5jCj4gaW5kZXggMTkyMTk4YmQzZGM0Li4wNzM3OWRkM2YxZjMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jCj4gKysrIGIvZHJpdmVy cy9zMzkwL2NoYXIvY29uMzIxNS5jCj4gQEAgLTg2Nyw3ICs4NjcsNyBAQCBzdGF0aWMgaW50IF9f aW5pdCBjb24zMjE1X2luaXQodm9pZCkKPiAgCQlyYXczMjE1WzBdID0gTlVMTDsKPiAgCQlyZXR1 cm4gLUVOT0RFVjsKPiAgCX0KPiAtCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFu aWNfbm90aWZpZXJfbGlzdCwgJm9uX3BhbmljX25iKTsKPiArCWF0b21pY19ub3RpZmllcl9jaGFp bl9yZWdpc3RlcigmcGFuaWNfcHJlX3JlYm9vdF9saXN0LCAmb25fcGFuaWNfbmIpOwo+ICAJcmVn aXN0ZXJfcmVib290X25vdGlmaWVyKCZvbl9yZWJvb3RfbmIpOwo+ICAJcmVnaXN0ZXJfY29uc29s ZSgmY29uMzIxNSk7Cj4gIAlyZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2No YXIvY29uMzI3MC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvY29uMzI3MC5jCj4gaW5kZXggNDc2MjAy ZjNkOGEwLi5lNzliZjNlN2JkZTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvY29u MzI3MC5jCj4gKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvY29uMzI3MC5jCj4gQEAgLTY0NSw3ICs2 NDUsNyBAQCBjb24zMjcwX2luaXQodm9pZCkKPiAgCWNvbmRldi0+Y2xpbmUtPmxlbiA9IDA7Cj4g IAljb24zMjcwX2NyZWF0ZV9zdGF0dXMoY29uZGV2KTsKPiAgCWNvbmRldi0+aW5wdXQgPSBhbGxv Y19zdHJpbmcoJmNvbmRldi0+ZnJlZW1lbSwgODApOwo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWlu X3JlZ2lzdGVyKCZwYW5pY19ub3RpZmllcl9saXN0LCAmb25fcGFuaWNfbmIpOwo+ICsJYXRvbWlj X25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19wcmVfcmVib290X2xpc3QsICZvbl9wYW5p Y19uYik7Cj4gIAlyZWdpc3Rlcl9yZWJvb3Rfbm90aWZpZXIoJm9uX3JlYm9vdF9uYik7Cj4gIAly ZWdpc3Rlcl9jb25zb2xlKCZjb24zMjcwKTsKPiAgCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3MzOTAvY2hhci9zY2xwX2Nvbi5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb24u Ywo+IGluZGV4IGU1ZDk0N2M3NjNlYS4uN2NhOWQ0YzQ1ZDYwIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvczM5MC9jaGFyL3NjbHBfY29uLmMKPiArKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2Nv bi5jCj4gQEAgLTI4OCw3ICsyODgsNyBAQCBzY2xwX2NvbnNvbGVfaW5pdCh2b2lkKQo+ICAJdGlt ZXJfc2V0dXAoJnNjbHBfY29uX3RpbWVyLCBzY2xwX2NvbnNvbGVfdGltZW91dCwgMCk7Cj4gIAo+ ICAJLyogZW5hYmxlIHByaW50ay1hY2Nlc3MgdG8gdGhpcyBkcml2ZXIgKi8KPiAtCWF0b21pY19u b3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwgJm9uX3BhbmljX25i KTsKPiArCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfcHJlX3JlYm9vdF9s aXN0LCAmb25fcGFuaWNfbmIpOwo+ICAJcmVnaXN0ZXJfcmVib290X25vdGlmaWVyKCZvbl9yZWJv b3RfbmIpOwo+ICAJcmVnaXN0ZXJfY29uc29sZSgmc2NscF9jb25zb2xlKTsKPiAgCXJldHVybiAw Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMgYi9kcml2ZXJz L3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMKPiBpbmRleCBhMzJmMzRhMWM2ZDIuLjk3Y2Y5ZTI5MGMy OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMKPiArKysgYi9k cml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMKPiBAQCAtODM4LDcgKzgzOCw3IEBAIHNjbHBf dnQyMjBfY29uX2luaXQodm9pZCkKPiAgCWlmIChyYykKPiAgCQlyZXR1cm4gcmM7Cj4gIAkvKiBB dHRhY2ggbGludXggY29uc29sZSAqLwo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVy KCZwYW5pY19ub3RpZmllcl9saXN0LCAmb25fcGFuaWNfbmIpOwo+ICsJYXRvbWljX25vdGlmaWVy X2NoYWluX3JlZ2lzdGVyKCZwYW5pY19wcmVfcmVib290X2xpc3QsICZvbl9wYW5pY19uYik7Cj4g IAlyZWdpc3Rlcl9yZWJvb3Rfbm90aWZpZXIoJm9uX3JlYm9vdF9uYik7Cj4gIAlyZWdpc3Rlcl9j b25zb2xlKCZzY2xwX3Z0MjIwX2NvbnNvbGUpOwo+ICAJcmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24vb2xwY19kY29uLmMgYi9kcml2ZXJzL3N0YWdpbmcv b2xwY19kY29uL29scGNfZGNvbi5jCj4gaW5kZXggNzI4NGNiNGFjMzk1Li5jYjUwNDcxZjIyNDYg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL29scGNfZGNvbi9vbHBjX2Rjb24uYwo+ICsr KyBiL2RyaXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24vb2xwY19kY29uLmMKPiBAQCAtNjUzLDcgKzY1 Myw4IEBAIHN0YXRpYyBpbnQgZGNvbl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCBj b25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4gIAl9Cj4gIAo+ICAJcmVnaXN0ZXJfcmVi b290X25vdGlmaWVyKCZkY29uLT5yZWJvb3RfbmIpOwo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWlu X3JlZ2lzdGVyKCZwYW5pY19ub3RpZmllcl9saXN0LCAmZGNvbl9wYW5pY19uYik7Cj4gKwlhdG9t aWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmljX3ByZV9yZWJvb3RfbGlzdCwKPiArCQkJ CSAgICAgICAmZGNvbl9wYW5pY19uYik7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gIAo+IEBAIC02NzYs NyArNjc3LDggQEAgc3RhdGljIGludCBkY29uX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQo+ICAJc3RydWN0IGRjb25fcHJpdiAqZGNvbiA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGll bnQpOwo+ICAKPiAgCXVucmVnaXN0ZXJfcmVib290X25vdGlmaWVyKCZkY29uLT5yZWJvb3RfbmIp Owo+IC0JYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJnBhbmljX25vdGlmaWVyX2xp c3QsICZkY29uX3BhbmljX25iKTsKPiArCWF0b21pY19ub3RpZmllcl9jaGFpbl91bnJlZ2lzdGVy KCZwYW5pY19wcmVfcmVib290X2xpc3QsCj4gKwkJCQkJICZkY29uX3BhbmljX25iKTsKPiAgCj4g IAlmcmVlX2lycShEQ09OX0lSUSwgZGNvbik7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2h5cGVydl9mYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9oeXBlcnZfZmIuYwo+ IGluZGV4IGYzNDk0Yjg2OGE2NC4uZWMyMWU2MzU5MmJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvaHlwZXJ2X2ZiLmMKPiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2h5cGVy dl9mYi5jCj4gQEAgLTEyNTMsNyArMTI1Myw3IEBAIHN0YXRpYyBpbnQgaHZmYl9wcm9iZShzdHJ1 Y3QgaHZfZGV2aWNlICpoZGV2LAo+ICAJICovCj4gIAlwYXItPmh2ZmJfcGFuaWNfbmIubm90aWZp ZXJfY2FsbCA9IGh2ZmJfb25fcGFuaWM7Cj4gIAlwYXItPmh2ZmJfcGFuaWNfbmIucHJpb3JpdHkg PSBJTlRfTUlOICsgMTAsCj4gLQlhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmlj X25vdGlmaWVyX2xpc3QsCj4gKwlhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJnBhbmlj X3ByZV9yZWJvb3RfbGlzdCwKPiAgCQkJCSAgICAgICAmcGFyLT5odmZiX3BhbmljX25iKTsKPiAg Cj4gIAlyZXR1cm4gMDsKPiBAQCAtMTI3Niw3ICsxMjc2LDcgQEAgc3RhdGljIGludCBodmZiX3Jl bW92ZShzdHJ1Y3QgaHZfZGV2aWNlICpoZGV2KQo+ICAJc3RydWN0IGZiX2luZm8gKmluZm8gPSBo dl9nZXRfZHJ2ZGF0YShoZGV2KTsKPiAgCXN0cnVjdCBodmZiX3BhciAqcGFyID0gaW5mby0+cGFy Owo+ICAKPiAtCWF0b21pY19ub3RpZmllcl9jaGFpbl91bnJlZ2lzdGVyKCZwYW5pY19ub3RpZmll cl9saXN0LAo+ICsJYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJnBhbmljX3ByZV9y ZWJvb3RfbGlzdCwKPiAgCQkJCQkgJnBhci0+aHZmYl9wYW5pY19uYik7Cj4gIAo+ICAJcGFyLT51 cGRhdGUgPSBmYWxzZTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wYW5pY19ub3RpZmll ci5oIGIvaW5jbHVkZS9saW51eC9wYW5pY19ub3RpZmllci5oCj4gaW5kZXggNzM2NGEzNDZiY2Iw Li43OTEyYWFjYmMwZTUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9wYW5pY19ub3RpZmll ci5oCj4gKysrIGIvaW5jbHVkZS9saW51eC9wYW5pY19ub3RpZmllci5oCj4gQEAgLTUsOSArNSw5 IEBACj4gICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgo+ICAjaW5jbHVkZSA8bGludXgvdHlw ZXMuaD4KPiAgCj4gLWV4dGVybiBzdHJ1Y3QgYXRvbWljX25vdGlmaWVyX2hlYWQgcGFuaWNfbm90 aWZpZXJfbGlzdDsKPiAgZXh0ZXJuIHN0cnVjdCBhdG9taWNfbm90aWZpZXJfaGVhZCBwYW5pY19o eXBlcnZpc29yX2xpc3Q7Cj4gIGV4dGVybiBzdHJ1Y3QgYXRvbWljX25vdGlmaWVyX2hlYWQgcGFu aWNfaW5mb19saXN0Owo+ICtleHRlcm4gc3RydWN0IGF0b21pY19ub3RpZmllcl9oZWFkIHBhbmlj X3ByZV9yZWJvb3RfbGlzdDsKPiAgCj4gIGV4dGVybiBib29sIGNyYXNoX2tleGVjX3Bvc3Rfbm90 aWZpZXJzOwo+ICAKPiBkaWZmIC0tZ2l0IGEva2VybmVsL3BhbmljLmMgYi9rZXJuZWwvcGFuaWMu Ywo+IGluZGV4IDczY2ExYmM0NGUzMC4uYTlkNDNiOThiMDViIDEwMDY0NAo+IC0tLSBhL2tlcm5l bC9wYW5pYy5jCj4gKysrIGIva2VybmVsL3BhbmljLmMKPiBAQCAtNjksMTYgKzY5LDE1IEBAIEVY UE9SVF9TWU1CT0xfR1BMKHBhbmljX3RpbWVvdXQpOwo+ICAjZGVmaW5lIFBBTklDX1BSSU5UX0FM TF9DUFVfQlQJCTB4MDAwMDAwNDAKPiAgdW5zaWduZWQgbG9uZyBwYW5pY19wcmludDsKPiAgCj4g LUFUT01JQ19OT1RJRklFUl9IRUFEKHBhbmljX25vdGlmaWVyX2xpc3QpOwo+IC0KPiAtRVhQT1JU X1NZTUJPTChwYW5pY19ub3RpZmllcl9saXN0KTsKPiAtCj4gIEFUT01JQ19OT1RJRklFUl9IRUFE KHBhbmljX2h5cGVydmlzb3JfbGlzdCk7Cj4gIEVYUE9SVF9TWU1CT0wocGFuaWNfaHlwZXJ2aXNv cl9saXN0KTsKPiAgCj4gIEFUT01JQ19OT1RJRklFUl9IRUFEKHBhbmljX2luZm9fbGlzdCk7Cj4g IEVYUE9SVF9TWU1CT0wocGFuaWNfaW5mb19saXN0KTsKPiAgCj4gK0FUT01JQ19OT1RJRklFUl9I RUFEKHBhbmljX3ByZV9yZWJvb3RfbGlzdCk7Cj4gK0VYUE9SVF9TWU1CT0wocGFuaWNfcHJlX3Jl Ym9vdF9saXN0KTsKPiArCj4gIHN0YXRpYyBsb25nIG5vX2JsaW5rKGludCBzdGF0ZSkKPiAgewo+ ICAJcmV0dXJuIDA7Cj4gQEAgLTI5NSw3ICsyOTQsNyBAQCB2b2lkIHBhbmljKGNvbnN0IGNoYXIg KmZtdCwgLi4uKQo+ICAJICovCj4gIAlhdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmcGFuaWNf aHlwZXJ2aXNvcl9saXN0LCBQQU5JQ19OT1RJRklFUiwgYnVmKTsKPiAgCWF0b21pY19ub3RpZmll cl9jYWxsX2NoYWluKCZwYW5pY19pbmZvX2xpc3QsIFBBTklDX05PVElGSUVSLCBidWYpOwo+IC0J YXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4oJnBhbmljX25vdGlmaWVyX2xpc3QsIFBBTklDX05P VElGSUVSLCBidWYpOwo+ICsJYXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4oJnBhbmljX3ByZV9y ZWJvb3RfbGlzdCwgUEFOSUNfTk9USUZJRVIsIGJ1Zik7Cj4gIAo+ICAJcGFuaWNfcHJpbnRfc3lz X2luZm8oZmFsc2UpOwo+ICAKPiAtLSAKPiAyLjM2LjAKPiAK