From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98B75C432C0 for ; Tue, 3 Dec 2019 06:50:39 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6099D20684 for ; Tue, 3 Dec 2019 06:50:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="jGz8Xl4f"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Wd1hzLEY" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6099D20684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=G1ogiQIbxJKH3qsb41BhUCgWyeddPKl7ExTVQO3y89s=; b=jGz8Xl4fez04XP uAiD6Pzg6vjILtHTD0UEXddCltzYzoPlEGTGRsyFPWOXz4Rrywbek/jEP6L54oyv4flGOsFZUIMvn zV8f3KdH/qoPsEuA8vL0RnT1VFhQmi0AyNdn5emJcsHWL3VL6/8IzJ444kAXLL34/X63PqP98Uk42 vfa5BWeJHZrDntTs6fPZMV9d7S/Ejm3BlH3iWdqOaEHkFHA85D5FMwc8L3dU+QJVof9MpSKwPBf3i lsCGpeFryPNUczTSkK5tgjCflWykGxJaFNN6gx9u7T5RFSqT9zDncRXdnJFy0zArW4l6rMnZqk5C8 4hU+T74wkSGjbjxEKdPg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ic218-00051R-NQ; Tue, 03 Dec 2019 06:50:38 +0000 Received: from perceval.ideasonboard.com ([2001:4b98:dc2:55:216:3eff:fef7:d647]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ic213-0004th-PI; Tue, 03 Dec 2019 06:50:37 +0000 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 61B94309; Tue, 3 Dec 2019 07:50:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1575355829; bh=JCYpN0lJ6PBF6IoSuQhfMZfjjlpHUvVxT4efcnAM+uw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Wd1hzLEYzhD4xAyn64CRDIQ40lGVbjZ0TkD1rMHeBvl3YZdcstenwg9gqzoiD1u6m 3L144P1LfWp0QFfyyRo3ayWBYeDGDRS9q6uz34EhPiluXxh+V6zC/30EZMeeRZWtbK /zBZEG0kzgW6ZRv/AdB3QtrIDQAO7Fpnigrpu4iY= Date: Tue, 3 Dec 2019 08:50:21 +0200 From: Laurent Pinchart To: Sam Ravnborg Subject: Re: [PATCH v1 05/26] drm/panel: add drm_connector argument to get_modes() Message-ID: <20191203065021.GE4730@pendragon.ideasonboard.com> References: <20191202193230.21310-1-sam@ravnborg.org> <20191202193230.21310-6-sam@ravnborg.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191202193230.21310-6-sam@ravnborg.org> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191202_225034_272540_3B6A5AE2 X-CRM114-Status: GOOD ( 17.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neil Armstrong , David Airlie , Linus Walleij , dri-devel@lists.freedesktop.org, Andrzej Hajda , Thierry Reding , Benjamin Gaignard , Stefan Agner , linux-samsung-soc@vger.kernel.org, Stefan Mavrodiev , linux-rockchip@lists.infradead.org, Tomi Valkeinen , NXP Linux Team , Robert Chiras , Guido =?utf-8?Q?G=C3=BCnther?= , Jagan Teki , Jitao Shi , Pengutronix Kernel Team , Maarten Lankhorst , Maxime Ripard , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Sean Paul , linux-arm-kernel@lists.infradead.org, Purism Kernel Team , linux-renesas-soc@vger.kernel.org, Boris Brezillon , Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgU2FtLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBNb24sIERlYyAwMiwgMjAxOSBh dCAwODozMjowOVBNICswMTAwLCBTYW0gUmF2bmJvcmcgd3JvdGU6Cj4gVG9kYXkgdGhlIGJyaWRn ZSBjcmVhdGVzIHRoZSBkcm1fY29ubmVjdG9yLCBidXQgdGhhdCBpcyBwbGFubmVkCj4gdG8gYmUg bW92ZWQgdG8gdGhlIGRpc3BsYXkgZHJpdmVycy4KPiBUbyBmYWNpbGl0YXRlIHRoaXMsIHVwZGF0 ZSBkcm1fcGFuZWxfZnVuY3MuZ2V0X21vZGVzKCkgdG8KPiB0YWtlIGRybV9jb25uZWN0b3IgYXMg YW4gYXJndW1lbnQuCj4gQWxsIHBhbmVsIGRyaXZlcnMgaW1wbGVtZW50aW5nIGdldF9tb2Rlcygp IGFyZSB1cGRhdGVkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5i b3JnLm9yZz4KPiBDYzogVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4K PiBDYzogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29t Pgo+IENjOiBTYW0gUmF2bmJvcmcgPHNhbUByYXZuYm9yZy5vcmc+Cj4gQ2M6IE1hYXJ0ZW4gTGFu a2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IE1heGltZSBS aXBhcmQgPG1yaXBhcmRAa2VybmVsLm9yZz4KPiBDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxp bnV4LmllPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Cj4gQ2M6IExpbnVz IFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9yZz4KPiBDYzogSmFnYW4gVGVraSA8amFn YW5AYW1hcnVsYXNvbHV0aW9ucy5jb20+Cj4gQ2M6IFN0ZWZhbiBNYXZyb2RpZXYgPHN0ZWZhbkBv bGltZXguY29tPgo+IENjOiBSb2JlcnQgQ2hpcmFzIDxyb2JlcnQuY2hpcmFzQG54cC5jb20+Cj4g Q2M6ICJHdWlkbyBHw7xudGhlciIgPGFneEBzaWd4Y3B1Lm9yZz4KPiBDYzogUHVyaXNtIEtlcm5l bCBUZWFtIDxrZXJuZWxAcHVyaS5zbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wYW5l bC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLWFybS12ZXJzYXRpbGUuYyAgIHwgIDQgKy0tCj4gIC4uLi9kcm0vcGFuZWwvcGFuZWwtZmVp eWFuZy1meTA3MDI0ZGkyNmEzMGQuYyB8ICA0ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtaWxpdGVrLWlsaTkzMjIuYyAgfCAgNSArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1pbGl0ZWstaWxpOTg4MWMuYyB8ICA4ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtaW5ub2x1eC1wMDc5emNhLmMgfCAxMyArKysrKy0tLS0KPiAgLi4uL2dwdS9k cm0vcGFuZWwvcGFuZWwtamRpLWx0MDcwbWUwNTAwMC5jICAgIHwgIDkgKysrKy0tLQo+ICAuLi4v ZHJtL3BhbmVsL3BhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0LmMgICAgfCAxMSArKysrLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYyAgICAgfCAgNCArLS0K PiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxnNDU3My5jICAgICAgIHwgIDggKysr LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMgICAgICAgICAgICB8ICA0 ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbmVjLW5sODA0OGhsMTEuYyAgfCAg NCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5vdmF0ZWstbnQzOTAxNi5jIHwg IDQgKy0tCj4gIC4uLi9kcm0vcGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYyAgICB8 ICA0ICstLQo+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1vcmlzZXRlY2gtb3RtODAwOWEuYyAg fCAgOSArKysrLS0tCj4gIC4uLi9kcm0vcGFuZWwvcGFuZWwtb3NkLW9zZDEwMXQyNTg3LTUzdHMu YyAgICB8ICA5ICsrKystLS0KPiAgLi4uL2RybS9wYW5lbC9wYW5lbC1wYW5hc29uaWMtdnZ4MTBm MDM0bjAwLmMgIHwgIDkgKysrKy0tLQo+ICAuLi4vZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBp LXRvdWNoc2NyZWVuLmMgfCAgNCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJh eWRpdW0tcm02NzE5MS5jIHwgIDYgKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXJheWRpdW0tcm02ODIwMC5jIHwgIDkgKysrKy0tLQo+ICAuLi4vZHJtL3BhbmVsL3BhbmVsLXJv Y2t0ZWNoLWpoMDU3bjAwOTAwLmMgICAgfCAgOSArKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5jICB8IDEwICsrKy0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMgIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZDE2ZDAuYyB8ICA0ICstLQo+ICBkcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMgfCAgNCArLS0KPiAgLi4uL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M2oweDAzLmMgIHwgIDQgKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzbTAuYyB8ICA0ICstLQo+ICBkcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEwLmMgfCAgNCArLS0KPiAgZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNlaWtvLTQzd3ZmMWcuYyAgIHwgIDkgKysrKy0tLQo+ICAu Li4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1scTEwMXIxc3gwMS5jICAgfCAgOSArKysrLS0t Cj4gIC4uLi9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3djdkdzAxLmMgICB8ICA0ICst LQo+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczA0M3QxbGUwMS5jICAgfCAgOSAr KysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYyAgICAgICAgICB8 IDI3ICsrKysrKysrKystLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNp dHJvbml4LXN0NzcwMS5jIHwgIDkgKysrKy0tLQo+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1z aXRyb25peC1zdDc3ODl2LmMgICAgfCAgOCArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNvbnktYWN4NTY1YWttLmMgIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC10cG8tdGQwMjh0dGVjMS5jICB8ICA0ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtdHBvLXRkMDQzbXRlYTEuYyAgfCAgNCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXRwby10cGcxMTAuYyAgICAgIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC10cnVseS1udDM1NTk3LmMgICB8ICA0ICstLQo+ICBpbmNsdWRlL2RybS9kcm1f cGFuZWwuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiAgNDEgZmlsZXMgY2hhbmdl ZCwgMTQxIGluc2VydGlvbnMoKyksIDEzMCBkZWxldGlvbnMoLSkKCldvdyB0aGF0J3MgbG90cyBv ZiBtYW51YWwgY2hhbmdlcy4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFu ZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwo+IGluZGV4IDM1NjA5YzkwZTQ2Ny4u OTkyN2UyOGQ5M2U2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwo+IEBAIC0yNTIsNyArMjUyLDcgQEAg aW50IGRybV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAkJcmV0 dXJuIC1FSU5WQUw7Cj4gIAo+ICAJaWYgKHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPmdl dF9tb2RlcykKPiAtCQlyZXR1cm4gcGFuZWwtPmZ1bmNzLT5nZXRfbW9kZXMocGFuZWwpOwo+ICsJ CXJldHVybiBwYW5lbC0+ZnVuY3MtPmdldF9tb2RlcyhwYW5lbCwgcGFuZWwtPmNvbm5lY3Rvcik7 Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1h cm0tdmVyc2F0aWxlLmMKPiBpbmRleCBhMDU3NGRjMDNlMTYuLjQxYWE5MWY2MDk3OSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZlcnNhdGlsZS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYwo+IEBAIC0yNjAs OSArMjYwLDkgQEAgc3RhdGljIGludCB2ZXJzYXRpbGVfcGFuZWxfZW5hYmxlKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgdmVyc2F0 aWxlX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGljIGlu dCB2ZXJzYXRpbGVfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ICsJ CQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gLQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiAgCXN0cnVjdCB2 ZXJzYXRpbGVfcGFuZWwgKnZwYW5lbCA9IHRvX3ZlcnNhdGlsZV9wYW5lbChwYW5lbCk7Cj4gIAlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1mZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWZlaXlhbmctZnkwNzAyNGRpMjZhMzBkLmMKPiBpbmRleCA5OGYx ODRiODExODcuLjM3ZDZiNzM5MDk1NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtZmVpeWFuZy1meTA3MDI0ZGkyNmEzMGQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1mZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jCj4gQEAgLTE2Miw5ICsxNjIs OSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgZmVpeWFuZ19kZWZhdWx0 X21vZGUgPSB7Cj4gIAkudHlwZSA9IERSTV9NT0RFX1RZUEVfRFJJVkVSIHwgRFJNX01PREVfVFlQ RV9QUkVGRVJSRUQsCj4gIH07Cj4gIAo+IC1zdGF0aWMgaW50IGZlaXlhbmdfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IGZlaXlhbmdfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5l bC0+Y29ubmVjdG9yOwo+ICAJc3RydWN0IGZlaXlhbmcgKmN0eCA9IHBhbmVsX3RvX2ZlaXlhbmco cGFuZWwpOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTMyMi5jCj4gaW5kZXggMjQ5NTViZWMx OTU4Li44ZmQ0YzA1MjE4NDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLWlsaXRlay1pbGk5MzIyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt aWxpdGVrLWlsaTkzMjIuYwo+IEBAIC02NDEsOSArNjQxLDkgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlIGl0dV9yX2J0XzY1Nl83MjBfbW9kZSA9IHsKPiAgCS5mbGFncyA9 IDAsCj4gIH07Cj4gIAo+IC1zdGF0aWMgaW50IGlsaTkzMjJfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IGlsaTkzMjJfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsLAo+ICsJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip Cj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+Y29ubmVj dG9yOwo+ICAJc3RydWN0IGlsaTkzMjIgKmlsaSA9IHBhbmVsX3RvX2lsaTkzMjIocGFuZWwpOwo+ ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlf aW5mbyAqaW5mbzsKPiBAQCAtNjU1LDcgKzY1NSw2IEBAIHN0YXRpYyBpbnQgaWxpOTMyMl9nZXRf bW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAkJaW5mby0+YnVzX2ZsYWdzIHw9IERS TV9CVVNfRkxBR19QSVhEQVRBX0RSSVZFX1BPU0VER0U7Cj4gIAllbHNlCj4gIAkJaW5mby0+YnVz X2ZsYWdzIHw9IERSTV9CVVNfRkxBR19QSVhEQVRBX0RSSVZFX05FR0VER0U7Cj4gLQoKVGhpcyBj aGFuZ2UgaXMgdW5yZWxhdGVkIGFuZCB1bm5lZWRlZCBpbiBteSBvcGluaW9uLgoKPiAgCWlmIChp bGktPmNvbmYtPmRlX2FjdGl2ZV9oaWdoKQo+ICAJCWluZm8tPmJ1c19mbGFncyB8PSBEUk1fQlVT X0ZMQUdfREVfSElHSDsKPiAgCWVsc2UKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LWlsaXRlay1pbGk5ODgxYy5jCj4gaW5kZXggZTg3ODllNDYwYTE2Li4xYzY3YTY2OGQ2YmYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jCj4g QEAgLTM4Nyw5ICszODcsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg YmFuYW5hcGlfZGVmYXVsdF9tb2RlID0gewo+ICAJLnZ0b3RhbAkJPSAxMjgwICsgMTAgKyAxMCAr IDIwLAo+ICB9Owo+ICAKPiAtc3RhdGljIGludCBpbGk5ODgxY19nZXRfbW9kZXMoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQgaWxpOTg4MWNfZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNv bm5lY3RvcjsKPiAgCXN0cnVjdCBpbGk5ODgxYyAqY3R4ID0gcGFuZWxfdG9faWxpOTg4MWMocGFu ZWwpOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAo+IEBAIC00MDcsOCAr NDA3LDggQEAgc3RhdGljIGludCBpbGk5ODgxY19nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAq cGFuZWwpCj4gIAltb2RlLT50eXBlID0gRFJNX01PREVfVFlQRV9EUklWRVIgfCBEUk1fTU9ERV9U WVBFX1BSRUZFUlJFRDsKPiAgCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsK PiAgCj4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSA2MjsKPiAt CXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxMTA7Cj4gKwljb25u ZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDYyOwo+ICsJY29ubmVjdG9yLT5kaXNwbGF5 X2luZm8uaGVpZ2h0X21tID0gMTEwOwo+ICAKPiAgCXJldHVybiAxOwo+ICB9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2EuYyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2EuYwo+IGluZGV4IDgzZGYxYWM0 MjExZi4uZmFjZjFiYWIyNTMyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1pbm5vbHV4LXAwNzl6Y2EuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1pbm5vbHV4LXAwNzl6Y2EuYwo+IEBAIC00MDMsNyArNDAzLDggQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBwYW5lbF9kZXNjIGlubm9sdXhfcDA5N3BmZ19wYW5lbF9kZXNjID0gewo+ICAJLnNsZWVw X21vZGVfZGVsYXkgPSAxMDAsIC8qIFQxNSAqLwo+ICB9Owo+ICAKPiAtc3RhdGljIGludCBpbm5v bHV4X3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGljIGlu dCBpbm5vbHV4X3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiArCQkJ CSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAgCXN0cnVjdCBpbm5v bHV4X3BhbmVsICppbm5vbHV4ID0gdG9faW5ub2x1eF9wYW5lbChwYW5lbCk7Cj4gIAljb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbSA9IGlubm9sdXgtPmRlc2MtPm1vZGU7Cj4gQEAgLTQx OCwxMyArNDE5LDExIEBAIHN0YXRpYyBpbnQgaW5ub2x1eF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwpCj4gIAo+ICAJZHJtX21vZGVfc2V0X25hbWUobW9kZSk7Cj4gIAo+ IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9yLCBtb2RlKTsKPiArCWRybV9t b2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiAgCj4gLQlwYW5lbC0+Y29ubmVjdG9y LT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPQo+IC0JCQlpbm5vbHV4LT5kZXNjLT5zaXplLndpZHRo Owo+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9Cj4gLQkJCWlu bm9sdXgtPmRlc2MtPnNpemUuaGVpZ2h0Owo+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvLmJwYyA9IGlubm9sdXgtPmRlc2MtPmJwYzsKPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZv LndpZHRoX21tID0gaW5ub2x1eC0+ZGVzYy0+c2l6ZS53aWR0aDsKPiArCWNvbm5lY3Rvci0+ZGlz cGxheV9pbmZvLmhlaWdodF9tbSA9IGlubm9sdXgtPmRlc2MtPnNpemUuaGVpZ2h0Owo+ICsJY29u bmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjID0gaW5ub2x1eC0+ZGVzYy0+YnBjOwo+ICAKPiAgCXJl dHVybiAxOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1q ZGktbHQwNzBtZTA1MDAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtamRpLWx0MDcw bWUwNTAwMC5jCj4gaW5kZXggNTYzNjRhOTNmMGI4Li5lNmI2NTBhNjRmZGIgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWpkaS1sdDA3MG1lMDUwMDAuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1qZGktbHQwNzBtZTA1MDAwLmMKPiBAQCAtMzAw LDcgKzMwMCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBkZWZhdWx0 X21vZGUgPSB7Cj4gIAkJLmZsYWdzID0gMCwKPiAgfTsKPiAgCj4gLXN0YXRpYyBpbnQgamRpX3Bh bmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGljIGludCBqZGlf cGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkgICAgICAgc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGU7Cj4gIAlzdHJ1Y3QgamRpX3BhbmVsICpqZGkgPSB0b19qZGlfcGFuZWwocGFu ZWwpOwo+IEBAIC0zMTYsMTAgKzMxNywxMCBAQCBzdGF0aWMgaW50IGpkaV9wYW5lbF9nZXRfbW9k ZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAo+ICAJZHJtX21vZGVfc2V0X25hbWUobW9k ZSk7Cj4gIAo+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9yLCBtb2RlKTsK PiArCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiAgCj4gLQlwYW5lbC0+ Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSA5NTsKPiAtCXBhbmVsLT5jb25uZWN0 b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxNTE7Cj4gKwljb25uZWN0b3ItPmRpc3BsYXlf aW5mby53aWR0aF9tbSA9IDk1Owo+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21t ID0gMTUxOwo+ICAKPiAgCXJldHVybiAxOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1raW5nZGlzcGxheS1rZDA5N2QwNC5jIGIvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0LmMKPiBpbmRleCA0NWY5NjU1NmVjOGMu LmU2ZjUzZDU2ZGFmOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt a2luZ2Rpc3BsYXkta2QwOTdkMDQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1raW5nZGlzcGxheS1rZDA5N2QwNC5jCj4gQEAgLTMzMyw3ICszMzMsOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgZGVmYXVsdF9tb2RlID0gewo+ICAJLnZyZWZyZXNo ID0gNjAsCj4gIH07Cj4gIAo+IC1zdGF0aWMgaW50IGtpbmdkaXNwbGF5X3BhbmVsX2dldF9tb2Rl cyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGljIGludCBraW5nZGlzcGxheV9wYW5l bF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gKwkJCQkgICAgICAgc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGU7Cj4gIAo+IEBAIC0zNDcsMTEgKzM0OCwxMSBAQCBzdGF0aWMgaW50IGtpbmdkaXNw bGF5X3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCj4gIAlkcm1f bW9kZV9zZXRfbmFtZShtb2RlKTsKPiAgCj4gLQlkcm1fbW9kZV9wcm9iZWRfYWRkKHBhbmVsLT5j b25uZWN0b3IsIG1vZGUpOwo+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUp Owo+ICAKPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDE0NzsK PiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxOTY7Cj4gLQlw YW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjID0gODsKPiArCWNvbm5lY3Rvci0+ZGlz cGxheV9pbmZvLndpZHRoX21tID0gMTQ3Owo+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVp Z2h0X21tID0gMTk2Owo+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjID0gODsKPiAgCj4g IAlyZXR1cm4gMTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtbGctbGIwMzVxMDIuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEw Mi5jCj4gaW5kZXggN2ExMzg1ZTgzNGYwLi43YTNiZDRkODBjNzkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxiMDM1cTAyLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYwo+IEBAIC0xNDEsOSArMTQxLDkgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGxiMDM1cTAyX21vZGUgPSB7Cj4gIAku aGVpZ2h0X21tID0gNTMsCj4gIH07Cj4gIAo+IC1zdGF0aWMgaW50IGxiMDM1cTAyX2dldF9tb2Rl cyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGljIGludCBsYjAzNXEwMl9nZXRfbW9k ZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gKwkJCSAgICAgIHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ig PSBwYW5lbC0+Y29ubmVjdG9yOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4g IAo+ICAJbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAmbGIwMzVxMDJfbW9k ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sZzQ1NzMu YyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sZzQ1NzMuYwo+IGluZGV4IGRiNDg2 NWE0YzJiOS4uZmM2NTcyYjRlMmY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1sZy1sZzQ1NzMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1s Zy1sZzQ1NzMuYwo+IEBAIC0yMDksOSArMjA5LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlIGRlZmF1bHRfbW9kZSA9IHsKPiAgCS52cmVmcmVzaCA9IDYwLAo+ICB9Owo+ ICAKPiAtc3RhdGljIGludCBsZzQ1NzNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs KQo+ICtzdGF0aWMgaW50IGxnNDU3M19nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWws Cj4gKwkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gLQlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiAgCXN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ICAKPiAgCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNh dGUocGFuZWwtPmRybSwgJmRlZmF1bHRfbW9kZSk7Cj4gQEAgLTIyNyw4ICsyMjcsOCBAQCBzdGF0 aWMgaW50IGxnNDU3M19nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAltb2Rl LT50eXBlID0gRFJNX01PREVfVFlQRV9EUklWRVIgfCBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsK PiAgCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiAgCj4gLQlwYW5lbC0+ Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSA2MTsKPiAtCXBhbmVsLT5jb25uZWN0 b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxMDM7Cj4gKwljb25uZWN0b3ItPmRpc3BsYXlf aW5mby53aWR0aF9tbSA9IDYxOwo+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21t ID0gMTAzOwo+ICAKPiAgCXJldHVybiAxOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbHZk cy5jCj4gaW5kZXggMjQwNWYyNmU1ZDMxLi5mNmQ1OGE2MGU1MTQgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWx2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1sdmRzLmMKPiBAQCAtMTA2LDEwICsxMDYsMTAgQEAgc3RhdGljIGludCBwYW5l bF9sdmRzX2VuYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCXJldHVybiAwOwo+ICB9 Cj4gIAo+IC1zdGF0aWMgaW50IHBhbmVsX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwg KnBhbmVsKQo+ICtzdGF0aWMgaW50IHBhbmVsX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsLAo+ICsJCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ ICAJc3RydWN0IHBhbmVsX2x2ZHMgKmx2ZHMgPSB0b19wYW5lbF9sdmRzKHBhbmVsKTsKPiAtCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBsdmRzLT5wYW5lbC5jb25uZWN0b3I7Cj4g IAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAgCj4gIAltb2RlID0gZHJtX21vZGVf Y3JlYXRlKGx2ZHMtPnBhbmVsLmRybSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1uZWMtbmw4MDQ4aGwxMS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LW5lYy1ubDgwNDhobDExLmMKPiBpbmRleCBmZDU5MzUzMmFiMjMuLmE2Y2NkYjA5YWFjZSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbmVjLW5sODA0OGhsMTEuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1uZWMtbmw4MDQ4aGwxMS5jCj4gQEAg LTEyMyw5ICsxMjMsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbmw4 MDQ4X21vZGUgPSB7Cj4gIAkuaGVpZ2h0X21tID0gNTMsCj4gIH07Cj4gIAo+IC1zdGF0aWMgaW50 IG5sODA0OF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQg bmw4MDQ4X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiArCQkJICAgIHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IgPSBwYW5lbC0+Y29ubmVjdG9yOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGU7Cj4gIAo+ICAJbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAm bmw4MDQ4X21vZGUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt bm92YXRlay1udDM5MDE2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbm92YXRlay1u dDM5MDE2LmMKPiBpbmRleCA2MGNjZWRjZTUzMGMuLjkxZWE0OWMwNTYxMSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMKPiBAQCAtMjA2LDEx ICsyMDYsMTEgQEAgc3RhdGljIGludCBudDM5MDE2X2Rpc2FibGUoc3RydWN0IGRybV9wYW5lbCAq ZHJtX3BhbmVsKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgbnQzOTAxNl9n ZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqZHJtX3BhbmVsKQo+ICtzdGF0aWMgaW50IG50Mzkw MTZfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKmRybV9wYW5lbCwKPiArCQkJICAgICBzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlzdHJ1Y3QgbnQzOTAxNiAqcGFu ZWwgPSB0b19udDM5MDE2KGRybV9wYW5lbCk7Cj4gIAljb25zdCBzdHJ1Y3QgbnQzOTAxNl9wYW5l bF9pbmZvICpwYW5lbF9pbmZvID0gcGFuZWwtPnBhbmVsX2luZm87Cj4gLQlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yID0gZHJtX3BhbmVsLT5jb25uZWN0b3I7Cj4gIAlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAgCj4gIAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKGRy bV9wYW5lbC0+ZHJtLCAmcGFuZWxfaW5mby0+ZGlzcGxheV9tb2RlKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9saW1leC1sY2Qtb2xpbnV4aW5vLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYwo+IGluZGV4IDg3 MzhlZjFiNjZkYy4uMmI3ZTBkZmViYzVlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1vbGltZXgtbGNkLW9saW51eGluby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLW9saW1leC1sY2Qtb2xpbnV4aW5vLmMKPiBAQCAtMTQxLDEwICsxNDEsMTAg QEAgc3RhdGljIGludCBsY2Rfb2xpbnV4aW5vX2VuYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5l bCkKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IGxjZF9vbGludXhpbm9fZ2V0 X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IGxjZF9vbGludXhp bm9fZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkJICAgc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGxjZF9vbGludXhpbm8gKmxj ZCA9IHRvX2xjZF9vbGludXhpbm8ocGFuZWwpOwo+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciA9IGxjZC0+cGFuZWwuY29ubmVjdG9yOwo+ICAJc3RydWN0IGxjZF9vbGludXhpbm9f aW5mbyAqbGNkX2luZm8gPSAmbGNkLT5lZXByb20uaW5mbzsKPiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkcm0gPSBsY2QtPnBhbmVsLmRybTsKPiAgCXN0cnVjdCBsY2Rfb2xpbnV4aW5vX21vZGUgKmxj ZF9tb2RlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0 ZWNoLW90bTgwMDlhLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNoLW90 bTgwMDlhLmMKPiBpbmRleCBiZjFmOTI4YjIxNWYuLjRlMTYwNmM3OTA3MiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNoLW90bTgwMDlhLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNoLW90bTgwMDlhLmMKPiBAQCAt MzQ5LDcgKzM0OSw4IEBAIHN0YXRpYyBpbnQgb3RtODAwOWFfZW5hYmxlKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgb3RtODAwOWFf Z2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IG90bTgwMDlh X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiArCQkJICAgICAgc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGU7Cj4gIAo+IEBAIC0zNjQsMTAgKzM2NSwxMCBAQCBzdGF0aWMgaW50IG90bTgwMDlhX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCWRybV9tb2RlX3NldF9uYW1lKG1v ZGUpOwo+ICAKPiAgCW1vZGUtPnR5cGUgPSBEUk1fTU9ERV9UWVBFX0RSSVZFUiB8IERSTV9NT0RF X1RZUEVfUFJFRkVSUkVEOwo+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9y LCBtb2RlKTsKPiArCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiAgCj4g LQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53aWR0aF9t bTsKPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBtb2RlLT5o ZWlnaHRfbW07Cj4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IG1vZGUtPndp ZHRoX21tOwo+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gbW9kZS0+aGVp Z2h0X21tOwo+ICAKPiAgCXJldHVybiAxOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1vc2Qtb3NkMTAxdDI1ODctNTN0cy5jIGIvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLW9zZC1vc2QxMDF0MjU4Ny01M3RzLmMKPiBpbmRleCAyYjQwOTEzODk5ZDgu LmIzZTAxMDI4OGMxMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt b3NkLW9zZDEwMXQyNTg3LTUzdHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1vc2Qtb3NkMTAxdDI1ODctNTN0cy5jCj4gQEAgLTExMiw3ICsxMTIsOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgZGVmYXVsdF9tb2RlX29zZDEwMXQyNTg3ID0gewo+ ICAJLmZsYWdzID0gRFJNX01PREVfRkxBR19OSFNZTkMgfCBEUk1fTU9ERV9GTEFHX05WU1lOQywK PiAgfTsKPiAgCj4gLXN0YXRpYyBpbnQgb3NkMTAxdDI1ODdfcGFuZWxfZ2V0X21vZGVzKHN0cnVj dCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IG9zZDEwMXQyNTg3X3BhbmVsX2dldF9t b2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiArCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlzdHJ1Y3Qgb3NkMTAxdDI1ODdfcGFuZWwgKm9z ZDEwMXQyNTg3ID0gdGlfb3NkX3BhbmVsKHBhbmVsKTsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlOwo+IEBAIC0xMjgsMTAgKzEyOSwxMCBAQCBzdGF0aWMgaW50IG9zZDEwMXQyNTg3 X3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCj4gIAlkcm1fbW9k ZV9zZXRfbmFtZShtb2RlKTsKPiAgCj4gLQlkcm1fbW9kZV9wcm9iZWRfYWRkKHBhbmVsLT5jb25u ZWN0b3IsIG1vZGUpOwo+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ ICAKPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDIxNzsKPiAt CXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxMzY7Cj4gKwljb25u ZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDIxNzsKPiArCWNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvLmhlaWdodF9tbSA9IDEzNjsKPiAgCj4gIAlyZXR1cm4gMTsKPiAgfQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcGFuYXNvbmljLXZ2eDEwZjAzNG4wMC5j IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngxMGYwMzRuMDAuYwo+ IGluZGV4IDY2NDYwNTA3MWQzNC4uMTlhNmViNDYzN2M4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1wYW5hc29uaWMtdnZ4MTBmMDM0bjAwLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcGFuYXNvbmljLXZ2eDEwZjAzNG4wMC5jCj4gQEAgLTE2 Niw3ICsxNjYsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgZGVmYXVs dF9tb2RlID0gewo+ICAJLnZyZWZyZXNoID0gNjAsCj4gIH07Cj4gIAo+IC1zdGF0aWMgaW50IHd1 eGdhX250X3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGlj IGludCB3dXhnYV9udF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4g KwkJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAo+IEBAIC0xODAsMTAgKzE4MSwxMCBAQCBzdGF0 aWMgaW50IHd1eGdhX250X3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkK PiAgCj4gIAlkcm1fbW9kZV9zZXRfbmFtZShtb2RlKTsKPiAgCj4gLQlkcm1fbW9kZV9wcm9iZWRf YWRkKHBhbmVsLT5jb25uZWN0b3IsIG1vZGUpOwo+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChjb25u ZWN0b3IsIG1vZGUpOwo+ICAKPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0 aF9tbSA9IDIxNzsKPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0g PSAxMzY7Cj4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDIxNzsKPiArCWNv bm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IDEzNjsKPiAgCj4gIAlyZXR1cm4gMTsK PiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5 cGktdG91Y2hzY3JlZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXNwYmVycnlw aS10b3VjaHNjcmVlbi5jCj4gaW5kZXggMDk4MjRlOTJmYzc4Li43MzJiNzExMTM5NWUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2Ny ZWVuLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5cGktdG91 Y2hzY3JlZW4uYwo+IEBAIC0zMTEsOSArMzExLDkgQEAgc3RhdGljIGludCBycGlfdG91Y2hzY3Jl ZW5fZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAg Cj4gLXN0YXRpYyBpbnQgcnBpX3RvdWNoc2NyZWVuX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVs ICpwYW5lbCkKPiArc3RhdGljIGludCBycGlfdG91Y2hzY3JlZW5fZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNv bm5lY3RvcjsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBwYW5lbC0+ZHJtOwo+ICAJdW5z aWduZWQgaW50IGksIG51bSA9IDA7Cj4gIAlzdGF0aWMgY29uc3QgdTMyIGJ1c19mb3JtYXQgPSBN RURJQV9CVVNfRk1UX1JHQjg4OF8xWDI0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY3MTkxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtcmF5ZGl1bS1ybTY3MTkxLmMKPiBpbmRleCBmZDY3ZmM2MTg1YzQuLjEyM2JiNjhjZmNiNyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY3MTkx LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY3MTkxLmMK PiBAQCAtNDM2LDkgKzQzNiw5IEBAIHN0YXRpYyBpbnQgcmFkX3BhbmVsX2Rpc2FibGUoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RhdGljIGludCBy YWRfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50 IHJhZF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gKwkJCSAgICAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiAgCXN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlOwo+ICAKPiAgCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUocGFuZWwt PmRybSwgJmRlZmF1bHRfbW9kZSk7Cj4gQEAgLTQ1MSw3ICs0NTEsNyBAQCBzdGF0aWMgaW50IHJh ZF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAo+ICAJZHJtX21v ZGVfc2V0X25hbWUobW9kZSk7Cj4gIAltb2RlLT50eXBlID0gRFJNX01PREVfVFlQRV9EUklWRVIg fCBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsKPiAtCWRybV9tb2RlX3Byb2JlZF9hZGQocGFuZWwt PmNvbm5lY3RvciwgbW9kZSk7Cj4gKwlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3RvciwgbW9k ZSk7Cj4gIAo+ICAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53aWR0 aF9tbTsKPiAgCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IG1vZGUtPmhlaWdo dF9tbTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0t cm02ODIwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02ODIwMC5j Cj4gaW5kZXggOTk0ZTg1NTcyMWY0Li42NmZhOTc1MzA4ZWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02ODIwMC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02ODIwMC5jCj4gQEAgLTMzNSw3ICszMzUsOCBA QCBzdGF0aWMgaW50IHJtNjgyMDBfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICAJ cmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgcm02ODIwMF9nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQgcm02ODIwMF9nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwsCj4gKwkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAo+IEBAIC0z NTAsMTAgKzM1MSwxMCBAQCBzdGF0aWMgaW50IHJtNjgyMDBfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ICAJZHJtX21vZGVfc2V0X25hbWUobW9kZSk7Cj4gIAo+ICAJbW9kZS0+ dHlwZSA9IERSTV9NT0RFX1RZUEVfRFJJVkVSIHwgRFJNX01PREVfVFlQRV9QUkVGRVJSRUQ7Cj4g LQlkcm1fbW9kZV9wcm9iZWRfYWRkKHBhbmVsLT5jb25uZWN0b3IsIG1vZGUpOwo+ICsJZHJtX21v ZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ICAKPiAtCXBhbmVsLT5jb25uZWN0b3It PmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IG1vZGUtPndpZHRoX21tOwo+IC0JcGFuZWwtPmNvbm5l Y3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IG1vZGUtPmhlaWdodF9tbTsKPiArCWNvbm5l Y3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gbW9kZS0+d2lkdGhfbW07Cj4gKwljb25uZWN0 b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBtb2RlLT5oZWlnaHRfbW07Cj4gIAo+ICAJcmV0 dXJuIDE7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJv Y2t0ZWNoLWpoMDU3bjAwOTAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9ja3Rl Y2gtamgwNTduMDA5MDAuYwo+IGluZGV4IDMxMjM0Yjc5ZDNiMS4uYjJkNjFjYWIzY2FkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24wMDkw MC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAw OTAwLmMKPiBAQCAtMjMwLDcgKzIzMCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSBkZWZhdWx0X21vZGUgPSB7Cj4gIAkuaGVpZ2h0X21tICAgPSAxMzAsCj4gIH07Cj4g IAo+IC1zdGF0aWMgaW50IGpoMDU3bl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwp Cj4gK3N0YXRpYyBpbnQgamgwNTduX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwK PiArCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAgCXN0cnVj dCBqaDA1N24gKmN0eCA9IHBhbmVsX3RvX2poMDU3bihwYW5lbCk7Cj4gIAlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZTsKPiBAQCAtMjQ2LDkgKzI0Nyw5IEBAIHN0YXRpYyBpbnQgamgwNTdu X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCWRybV9tb2RlX3NldF9uYW1l KG1vZGUpOwo+ICAKPiAgCW1vZGUtPnR5cGUgPSBEUk1fTU9ERV9UWVBFX0RSSVZFUiB8IERSTV9N T0RFX1RZUEVfUFJFRkVSUkVEOwo+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndp ZHRoX21tID0gbW9kZS0+d2lkdGhfbW07Cj4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2lu Zm8uaGVpZ2h0X21tID0gbW9kZS0+aGVpZ2h0X21tOwo+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChw YW5lbC0+Y29ubmVjdG9yLCBtb2RlKTsKPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRo X21tID0gbW9kZS0+d2lkdGhfbW07Cj4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRf bW0gPSBtb2RlLT5oZWlnaHRfbW07Cj4gKwlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3Rvciwg bW9kZSk7Cj4gIAo+ICAJcmV0dXJuIDE7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcwZDMwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtcm9uYm8tcmIwNzBkMzAuYwo+IGluZGV4IDE3MGE1Y2RhMjFiOS4uNTdhNDYyY2UyMjFl IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQz MC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcwZDMwLmMK PiBAQCAtMTIwLDkgKzEyMCw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSBkZWZhdWx0X21vZGUgPSB7Cj4gIAkuaGVpZ2h0X21tCT0gODUsCj4gIH07Cj4gIAo+IC1zdGF0 aWMgaW50IHJiMDcwZDMwX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkK PiArc3RhdGljIGludCByYjA3MGQzMF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAq cGFuZWwsCj4gKwkJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7Cj4g IAlzdHJ1Y3QgcmIwNzBkMzBfcGFuZWwgKmN0eCA9IHBhbmVsX3RvX3JiMDcwZDMwX3BhbmVsKHBh bmVsKTsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ICAJc3RhdGljIGNvbnN0 IHUzMiBidXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVgyNDsKPiBAQCAtMTQwLDkg KzE0MCw5IEBAIHN0YXRpYyBpbnQgcmIwNzBkMzBfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ICAJbW9kZS0+dHlwZSA9IERSTV9NT0RFX1RZUEVfRFJJVkVSIHwgRFJN X01PREVfVFlQRV9QUkVGRVJSRUQ7Cj4gIAlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3Rvciwg bW9kZSk7Cj4gIAo+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYyA9IDg7Cj4g LQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53aWR0aF9t bTsKPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBtb2RlLT5o ZWlnaHRfbW07Cj4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5icGMgPSA4Owo+ICsJY29ubmVj dG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53aWR0aF9tbTsKPiArCWNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IG1vZGUtPmhlaWdodF9tbTsKPiAgCWRybV9kaXNw bGF5X2luZm9fc2V0X2J1c19mb3JtYXRzKCZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbywKPiAgCQkJ CQkgJmJ1c19mb3JtYXQsIDEpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c2Ftc3VuZy1sZDkwNDAuYwo+IGluZGV4IDI1MDgwOWJhMzdjNy4uM2M1MmYxNWY3YTFjIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMKPiBAQCAt MjYxLDkgKzI2MSw5IEBAIHN0YXRpYyBpbnQgbGQ5MDQwX2VuYWJsZShzdHJ1Y3QgZHJtX3BhbmVs ICpwYW5lbCkKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IGxkOTA0MF9nZXRf bW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQgbGQ5MDQwX2dldF9t b2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiArCQkJICAgIHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ig PSBwYW5lbC0+Y29ubmVjdG9yOwo+ICAJc3RydWN0IGxkOTA0MCAqY3R4ID0gcGFuZWxfdG9fbGQ5 MDQwKHBhbmVsKTsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ICAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZkMTZkMC5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZkMTZkMC5jCj4gaW5kZXggZTNh MDM5N2U5NTNlLi43MTkzOWFiNzU3YjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXNhbXN1bmctczZkMTZkMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNhbXN1bmctczZkMTZkMC5jCj4gQEAgLTE0Myw5ICsxNDMsOSBAQCBzdGF0aWMgaW50 IHM2ZDE2ZDBfZGlzYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCXJldHVybiAwOwo+ ICB9Cj4gIAo+IC1zdGF0aWMgaW50IHM2ZDE2ZDBfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwg KnBhbmVsKQo+ICtzdGF0aWMgaW50IHM2ZDE2ZDBfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwg KnBhbmVsLAo+ICsJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsK PiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+Y29ubmVjdG9yOwo+ ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAo+ICAJbW9kZSA9IGRybV9tb2Rl X2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAmc2Ftc3VuZ19zNmQxNmQwX21vZGUpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMKPiBpbmRleCA5MzhhYjcy YzU1NDAuLjhlMDIzNmJhNjE0NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2Ftc3VuZy1zNmUzaGEyLmMKPiBAQCAtNjQ1LDkgKzY0NSw5IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgczZlM2hhMl9wYW5lbF9kZXNjIHNhbXN1bmdfczZlM2hmMiA9IHsKPiAgCS50eXBlID0g SEYyX1RZUEUsCj4gIH07Cj4gIAo+IC1zdGF0aWMgaW50IHM2ZTNoYTJfZ2V0X21vZGVzKHN0cnVj dCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IHM2ZTNoYTJfZ2V0X21vZGVzKHN0cnVj dCBkcm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+ Y29ubmVjdG9yOwo+ICAJc3RydWN0IHM2ZTNoYTIgKmN0eCA9IGNvbnRhaW5lcl9vZihwYW5lbCwg c3RydWN0IHM2ZTNoYTIsIHBhbmVsKTsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmct czZlNjNqMHgwMy5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNq MHgwMy5jCj4gaW5kZXggYTYwNjM1ZTkyMjZkLi5jOTM5ZDViZGU0ZjAgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jCj4gQEAgLTQw MCw5ICs0MDAsOSBAQCBzdGF0aWMgaW50IHM2ZTYzajB4MDNfZW5hYmxlKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgczZlNjNqMHgw M19nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQgczZlNjNq MHgwM19nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gKwkJCQlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlOwo+ICAKPiAgCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUocGFuZWwtPmRybSwgJmRlZmF1 bHRfbW9kZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1z dW5nLXM2ZTYzbTAuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYz bTAuYwo+IGluZGV4IGJhMDFhZjBiMTRmZC4uMWQwOTkwOTJlNzU0IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzbTAuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzbTAuYwo+IEBAIC0zNjIsOSArMzYy LDkgQEAgc3RhdGljIGludCBzNmU2M20wX2VuYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkK PiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IHM2ZTYzbTBfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IHM2ZTYzbTBfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5l bC0+Y29ubmVjdG9yOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAo+ICAJ bW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAmZGVmYXVsdF9tb2RlKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5j IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jCj4gaW5kZXgg ZGJjZWQ2NTAxMjA0Li44YTAyOGQyYmQwZDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jCj4gQEAgLTkyMCw5ICs5MjAsOSBAQCBzdGF0aWMg aW50IHM2ZThhYTBfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICAJcmV0dXJuIDA7 Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgczZlOGFhMF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQgczZlOGFhMF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwsCj4gKwkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAg ewo+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7 Cj4gIAlzdHJ1Y3QgczZlOGFhMCAqY3R4ID0gcGFuZWxfdG9fczZlOGFhMChwYW5lbCk7Cj4gIAlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jCj4gaW5kZXggYjM2MTliYTQ0M2JkLi5iODc4OTMwYjE3 ZTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNlaWtvLTQzd3Zm MWcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMK PiBAQCAtNTYsOSArNTYsOSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBzZWlrb19wYW5lbCAqdG9f c2Vpa29fcGFuZWwoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAlyZXR1cm4gY29udGFpbmVy X29mKHBhbmVsLCBzdHJ1Y3Qgc2Vpa29fcGFuZWwsIGJhc2UpOwo+ICB9Cj4gIAo+IC1zdGF0aWMg aW50IHNlaWtvX3BhbmVsX2dldF9maXhlZF9tb2RlcyhzdHJ1Y3Qgc2Vpa29fcGFuZWwgKnBhbmVs KQo+ICtzdGF0aWMgaW50IHNlaWtvX3BhbmVsX2dldF9maXhlZF9tb2RlcyhzdHJ1Y3Qgc2Vpa29f cGFuZWwgKnBhbmVsLAo+ICsJCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+YmFz ZS5jb25uZWN0b3I7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gcGFuZWwtPmJhc2UuZHJt Owo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAl1bnNpZ25lZCBpbnQgaSwg bnVtID0gMDsKPiBAQCAtMjA4LDEyICsyMDgsMTMgQEAgc3RhdGljIGludCBzZWlrb19wYW5lbF9l bmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAt c3RhdGljIGludCBzZWlrb19wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwp Cj4gK3N0YXRpYyBpbnQgc2Vpa29fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsLAo+ICsJCQkJIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAgCXN0 cnVjdCBzZWlrb19wYW5lbCAqcCA9IHRvX3NlaWtvX3BhbmVsKHBhbmVsKTsKPiAgCj4gIAkvKiBh ZGQgaGFyZC1jb2RlZCBwYW5lbCBtb2RlcyAqLwo+IC0JcmV0dXJuIHNlaWtvX3BhbmVsX2dldF9m aXhlZF9tb2RlcyhwKTsKPiArCXJldHVybiBzZWlrb19wYW5lbF9nZXRfZml4ZWRfbW9kZXMocCwg Y29ubmVjdG9yKTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCBzZWlrb19wYW5lbF9nZXRfdGltaW5n cyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2hhcnAtbHExMDFyMXN4MDEuYwo+IGluZGV4IDVlMTM2YzNiYTE4NS4uZTc5N2I3MDA2 NjFhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1scTEw MXIxc3gwMS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxxMTAx cjFzeDAxLmMKPiBAQCAtMjc4LDcgKzI3OCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSBkZWZhdWx0X21vZGUgPSB7Cj4gIAkudnJlZnJlc2ggPSA2MCwKPiAgfTsKPiAg Cj4gLXN0YXRpYyBpbnQgc2hhcnBfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsKQo+ICtzdGF0aWMgaW50IHNoYXJwX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVs ICpwYW5lbCwKPiArCQkJCSBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4g IAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAgCj4gQEAgLTI5MiwxMCArMjkzLDEw IEBAIHN0YXRpYyBpbnQgc2hhcnBfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsKQo+ICAKPiAgCWRybV9tb2RlX3NldF9uYW1lKG1vZGUpOwo+ICAKPiAtCWRybV9tb2RlX3By b2JlZF9hZGQocGFuZWwtPmNvbm5lY3RvciwgbW9kZSk7Cj4gKwlkcm1fbW9kZV9wcm9iZWRfYWRk KGNvbm5lY3RvciwgbW9kZSk7Cj4gIAo+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZv LndpZHRoX21tID0gMjE3Owo+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdo dF9tbSA9IDEzNjsKPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gMjE3Owo+ ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gMTM2Owo+ICAKPiAgCXJldHVy biAxOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFy cC1sczAzN3Y3ZHcwMS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3 djdkdzAxLmMKPiBpbmRleCBlZWFiNzk5OGM3ZGUuLjcxMDNhOTQ1ZjBlOCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwMzd2N2R3MDEuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczAzN3Y3ZHcwMS5jCj4gQEAgLTEw MCw5ICsxMDAsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbHMwMzd2 N2R3MDFfbW9kZSA9IHsKPiAgCS5oZWlnaHRfbW0gPSA3NSwKPiAgfTsKPiAgCj4gLXN0YXRpYyBp bnQgbHMwMzd2N2R3MDFfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0 aWMgaW50IGxzMDM3djdkdzAxX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiAr CQkJCSBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiAgCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlOwo+ICAKPiAgCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUocGFu ZWwtPmRybSwgJmxzMDM3djdkdzAxX21vZGUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwNDN0MWxlMDEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1zaGFycC1sczA0M3QxbGUwMS5jCj4gaW5kZXggYjk2M2JhNGFiNTg5Li44NWFlNmNm ZmRiZmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxz MDQzdDFsZTAxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMw NDN0MWxlMDEuYwo+IEBAIC0yMTAsNyArMjEwLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlIGRlZmF1bHRfbW9kZSA9IHsKPiAgCS52cmVmcmVzaCA9IDYwLAo+ICB9Owo+ ICAKPiAtc3RhdGljIGludCBzaGFycF9udF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQgc2hhcnBfbnRfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ICAKPiBAQCAtMjI0 LDEwICsyMjUsMTAgQEAgc3RhdGljIGludCBzaGFycF9udF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwpCj4gIAo+ICAJZHJtX21vZGVfc2V0X25hbWUobW9kZSk7Cj4gIAo+ IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9yLCBtb2RlKTsKPiArCWRybV9t b2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiAgCj4gLQlwYW5lbC0+Y29ubmVjdG9y LT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSA1NDsKPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3Bs YXlfaW5mby5oZWlnaHRfbW0gPSA5NTsKPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRo X21tID0gNTQ7Cj4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSA5NTsKPiAg Cj4gIAlyZXR1cm4gMTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2ltcGxlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMKPiBp bmRleCBhNWRmNmQ2ZGQ0NTUuLmQ2Mjk5ZmU2ZDI3NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2ltcGxlLmMKPiBAQCAtMTE3LDkgKzExNyw5IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0 IHBhbmVsX3NpbXBsZSAqdG9fcGFuZWxfc2ltcGxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ ICAJcmV0dXJuIGNvbnRhaW5lcl9vZihwYW5lbCwgc3RydWN0IHBhbmVsX3NpbXBsZSwgYmFzZSk7 Cj4gIH0KPiAgCj4gLXN0YXRpYyB1bnNpZ25lZCBpbnQgcGFuZWxfc2ltcGxlX2dldF90aW1pbmdz X21vZGVzKHN0cnVjdCBwYW5lbF9zaW1wbGUgKnBhbmVsKQo+ICtzdGF0aWMgdW5zaWduZWQgaW50 IHBhbmVsX3NpbXBsZV9nZXRfdGltaW5nc19tb2RlcyhzdHJ1Y3QgcGFuZWxfc2ltcGxlICpwYW5l bCwKPiArCQkJCQkJICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+IC0J c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5iYXNlLmNvbm5lY3RvcjsK PiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBwYW5lbC0+YmFzZS5kcm07Cj4gIAlzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAgCXVuc2lnbmVkIGludCBpLCBudW0gPSAwOwo+IEBA IC0xNTAsOSArMTUwLDkgQEAgc3RhdGljIHVuc2lnbmVkIGludCBwYW5lbF9zaW1wbGVfZ2V0X3Rp bWluZ3NfbW9kZXMoc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWwpCj4gIAlyZXR1cm4gbnVtOwo+ ICB9Cj4gIAo+IC1zdGF0aWMgdW5zaWduZWQgaW50IHBhbmVsX3NpbXBsZV9nZXRfZGlzcGxheV9t b2RlcyhzdHJ1Y3QgcGFuZWxfc2ltcGxlICpwYW5lbCkKPiArc3RhdGljIHVuc2lnbmVkIGludCBw YW5lbF9zaW1wbGVfZ2V0X2Rpc3BsYXlfbW9kZXMoc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWws Cj4gKwkJCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAtCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+YmFzZS5jb25uZWN0b3I7Cj4g IAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gcGFuZWwtPmJhc2UuZHJtOwo+ICAJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAl1bnNpZ25lZCBpbnQgaSwgbnVtID0gMDsKPiBAQCAt MTgxLDkgKzE4MSw5IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgcGFuZWxfc2ltcGxlX2dldF9kaXNw bGF5X21vZGVzKHN0cnVjdCBwYW5lbF9zaW1wbGUgKnBhbmVsKQo+ICAJcmV0dXJuIG51bTsKPiAg fQo+ICAKPiAtc3RhdGljIGludCBwYW5lbF9zaW1wbGVfZ2V0X25vbl9lZGlkX21vZGVzKHN0cnVj dCBwYW5lbF9zaW1wbGUgKnBhbmVsKQo+ICtzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfbm9u X2VkaWRfbW9kZXMoc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWwsCj4gKwkJCQkJICAgc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+IC0Jc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciA9IHBhbmVsLT5iYXNlLmNvbm5lY3RvcjsKPiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkcm0gPSBwYW5lbC0+YmFzZS5kcm07Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZTsKPiAgCWJvb2wgaGFzX292ZXJyaWRlID0gcGFuZWwtPm92ZXJyaWRlX21vZGUudHlwZTsKPiBA QCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRpYyBpbnQgcGFuZWxfc2ltcGxlX2dldF9ub25fZWRpZF9t b2RlcyhzdHJ1Y3QgcGFuZWxfc2ltcGxlICpwYW5lbCkKPiAgCj4gIAkvKiBPbmx5IGFkZCB0aW1p bmdzIGlmIG92ZXJyaWRlIHdhcyBub3QgdGhlcmUgb3IgZmFpbGVkIHRvIHZhbGlkYXRlICovCj4g IAlpZiAobnVtID09IDAgJiYgcGFuZWwtPmRlc2MtPm51bV90aW1pbmdzKQo+IC0JCW51bSA9IHBh bmVsX3NpbXBsZV9nZXRfdGltaW5nc19tb2RlcyhwYW5lbCk7Cj4gKwkJbnVtID0gcGFuZWxfc2lt cGxlX2dldF90aW1pbmdzX21vZGVzKHBhbmVsLCBjb25uZWN0b3IpOwo+ICAKPiAgCS8qCj4gIAkg KiBPbmx5IGFkZCBmaXhlZCBtb2RlcyBpZiB0aW1pbmdzL292ZXJyaWRlIGFkZGVkIG5vIG1vZGUu Cj4gQEAgLTIxNCw3ICsyMTQsNyBAQCBzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfbm9uX2Vk aWRfbW9kZXMoc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWwpCj4gIAkgKi8KPiAgCVdBUk5fT04o cGFuZWwtPmRlc2MtPm51bV90aW1pbmdzICYmIHBhbmVsLT5kZXNjLT5udW1fbW9kZXMpOwo+ICAJ aWYgKG51bSA9PSAwKQo+IC0JCW51bSA9IHBhbmVsX3NpbXBsZV9nZXRfZGlzcGxheV9tb2Rlcyhw YW5lbCk7Cj4gKwkJbnVtID0gcGFuZWxfc2ltcGxlX2dldF9kaXNwbGF5X21vZGVzKHBhbmVsLCBj b25uZWN0b3IpOwo+ICAKPiAgCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYyA9IHBhbmVsLT5k ZXNjLT5icGM7Cj4gIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IHBhbmVsLT5k ZXNjLT5zaXplLndpZHRoOwo+IEBAIC0zMDQsMjMgKzMwNCwyNCBAQCBzdGF0aWMgaW50IHBhbmVs X3NpbXBsZV9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAlyZXR1cm4gMDsKPiAg fQo+ICAKPiAtc3RhdGljIGludCBwYW5lbF9zaW1wbGVfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfbW9kZXMoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwsCj4gKwkJCQkgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip Cj4gIHsKPiAgCXN0cnVjdCBwYW5lbF9zaW1wbGUgKnAgPSB0b19wYW5lbF9zaW1wbGUocGFuZWwp Owo+ICAJaW50IG51bSA9IDA7Cj4gIAo+ICAJLyogcHJvYmUgRURJRCBpZiBhIEREQyBidXMgaXMg YXZhaWxhYmxlICovCj4gIAlpZiAocC0+ZGRjKSB7Cj4gLQkJc3RydWN0IGVkaWQgKmVkaWQgPSBk cm1fZ2V0X2VkaWQocGFuZWwtPmNvbm5lY3RvciwgcC0+ZGRjKTsKPiAtCQlkcm1fY29ubmVjdG9y X3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHBhbmVsLT5jb25uZWN0b3IsIGVkaWQpOwo+ICsJCXN0cnVj dCBlZGlkICplZGlkID0gZHJtX2dldF9lZGlkKGNvbm5lY3RvciwgcC0+ZGRjKTsKPiArCQlkcm1f Y29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7Cj4gIAkJaWYg KGVkaWQpIHsKPiAtCQkJbnVtICs9IGRybV9hZGRfZWRpZF9tb2RlcyhwYW5lbC0+Y29ubmVjdG9y LCBlZGlkKTsKPiArCQkJbnVtICs9IGRybV9hZGRfZWRpZF9tb2Rlcyhjb25uZWN0b3IsIGVkaWQp Owo+ICAJCQlrZnJlZShlZGlkKTsKPiAgCQl9Cj4gIAl9Cj4gIAo+ICAJLyogYWRkIGhhcmQtY29k ZWQgcGFuZWwgbW9kZXMgKi8KPiAtCW51bSArPSBwYW5lbF9zaW1wbGVfZ2V0X25vbl9lZGlkX21v ZGVzKHApOwo+ICsJbnVtICs9IHBhbmVsX3NpbXBsZV9nZXRfbm9uX2VkaWRfbW9kZXMocCwgY29u bmVjdG9yKTsKPiAgCj4gIAlyZXR1cm4gbnVtOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3MDEuYyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1zaXRyb25peC1zdDc3MDEuYwo+IGluZGV4IGVlM2YyM2Y0NTc1NS4uM2VkM2Ix ZDZkODJkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25p eC1zdDc3MDEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1z dDc3MDEuYwo+IEBAIC0yNjQsNyArMjY0LDggQEAgc3RhdGljIGludCBzdDc3MDFfdW5wcmVwYXJl KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRp YyBpbnQgc3Q3NzAxX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGlj IGludCBzdDc3MDFfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkgICAg c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IHN0NzcwMSAq c3Q3NzAxID0gcGFuZWxfdG9fc3Q3NzAxKHBhbmVsKTsKPiAgCWNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICpkZXNjX21vZGUgPSBzdDc3MDEtPmRlc2MtPm1vZGU7Cj4gQEAgLTI4MCwxMCAr MjgxLDEwIEBAIHN0YXRpYyBpbnQgc3Q3NzAxX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpw YW5lbCkKPiAgCX0KPiAgCj4gIAlkcm1fbW9kZV9zZXRfbmFtZShtb2RlKTsKPiAtCWRybV9tb2Rl X3Byb2JlZF9hZGQocGFuZWwtPmNvbm5lY3RvciwgbW9kZSk7Cj4gKwlkcm1fbW9kZV9wcm9iZWRf YWRkKGNvbm5lY3RvciwgbW9kZSk7Cj4gIAo+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvLndpZHRoX21tID0gZGVzY19tb2RlLT53aWR0aF9tbTsKPiAtCXBhbmVsLT5jb25uZWN0b3It PmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBkZXNjX21vZGUtPmhlaWdodF9tbTsKPiArCWNvbm5l Y3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gZGVzY19tb2RlLT53aWR0aF9tbTsKPiArCWNv bm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IGRlc2NfbW9kZS0+aGVpZ2h0X21tOwo+ ICAKPiAgCXJldHVybiAxOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c2l0cm9uaXgtc3Q3Nzg5di5jCj4gaW5kZXggMTA4YTg1YmI2NjY3Li44MzZiMDEzMzE1MDUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0Nzc4OXYu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMK PiBAQCAtMTcwLDkgKzE3MCw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSBkZWZhdWx0X21vZGUgPSB7Cj4gIAkudnJlZnJlc2ggPSA2MCwKPiAgfTsKPiAgCj4gLXN0YXRp YyBpbnQgc3Q3Nzg5dl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRp YyBpbnQgc3Q3Nzg5dl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gKwkJCSAg ICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+IC0Jc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7Cj4gIAlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZTsKPiAgCj4gIAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKHBhbmVs LT5kcm0sICZkZWZhdWx0X21vZGUpOwo+IEBAIC0xODgsOCArMTg4LDggQEAgc3RhdGljIGludCBz dDc3ODl2X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCW1vZGUtPnR5cGUg PSBEUk1fTU9ERV9UWVBFX0RSSVZFUiB8IERSTV9NT0RFX1RZUEVfUFJFRkVSUkVEOwo+ICAJZHJt X21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ICAKPiAtCXBhbmVsLT5jb25uZWN0 b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDYxOwo+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlz cGxheV9pbmZvLmhlaWdodF9tbSA9IDEwMzsKPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndp ZHRoX21tID0gNjE7Cj4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxMDM7 Cj4gIAo+ICAJcmV0dXJuIDE7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXNvbnktYWN4NTY1YWttLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c29ueS1hY3g1NjVha20uYwo+IGluZGV4IGQ2Mzg3ZDhmODhhMy4uODQxZGM3M2M0NDNkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zb255LWFjeDU2NWFrbS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNvbnktYWN4NTY1YWttLmMKPiBAQCAt NTIxLDkgKzUyMSw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBhY3g1 NjVha21fbW9kZSA9IHsKPiAgCS5oZWlnaHRfbW0gPSA0NiwKPiAgfTsKPiAgCj4gLXN0YXRpYyBp bnQgYWN4NTY1YWttX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGlj IGludCBhY3g1NjVha21fZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ICsJCQkg ICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+IC0Jc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7Cj4gIAlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAgCj4gIAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKHBh bmVsLT5kcm0sICZhY3g1NjVha21fbW9kZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC10cG8tdGQwMjh0dGVjMS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXRwby10ZDAyOHR0ZWMxLmMKPiBpbmRleCBjNDRkNmE2NWMwYWEuLjUyMzAxNzZiZDhlNiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDI4dHRlYzEu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwMjh0dGVjMS5jCj4g QEAgLTI4Nyw5ICsyODcsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg dGQwMjh0dGVjMV9tb2RlID0gewo+ICAJLmhlaWdodF9tbSA9IDU4LAo+ICB9Owo+ICAKPiAtc3Rh dGljIGludCB0ZDAyOHR0ZWMxX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAr c3RhdGljIGludCB0ZDAyOHR0ZWMxX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwK PiArCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAtCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+Y29ubmVjdG9yOwo+ICAJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAo+ICAJbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShw YW5lbC0+ZHJtLCAmdGQwMjh0dGVjMV9tb2RlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXRwby10ZDA0M210ZWExLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtdHBvLXRkMDQzbXRlYTEuYwo+IGluZGV4IDYyMWI2NWZlZWMwNy4uNzE2ZjhlZDFjYzQ1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNtdGVh MS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDA0M210ZWExLmMK PiBAQCAtMzQ2LDkgKzM0Niw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSB0ZDA0M210ZWExX21vZGUgPSB7Cj4gIAkuaGVpZ2h0X21tID0gNTYsCj4gIH07Cj4gIAo+IC1z dGF0aWMgaW50IHRkMDQzbXRlYTFfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ ICtzdGF0aWMgaW50IHRkMDQzbXRlYTFfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs LAo+ICsJCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+IC0Jc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7Cj4gIAlzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAgCj4gIAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRl KHBhbmVsLT5kcm0sICZ0ZDA0M210ZWExX21vZGUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRwZzExMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXRwby10cGcxMTAuYwo+IGluZGV4IDFhNTQxOGFlMmNjZi4uZTc0Y2Q5ZDQxOGNmIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdHBnMTEwLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRwZzExMC5jCj4gQEAgLTM4NCw5ICsz ODQsOSBAQCBzdGF0aWMgaW50IHRwZzExMF9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwp Cj4gICAqIHByZXNlbnRzIHRoZSBtb2RlIHRoYXQgaXMgY29uZmlndXJlZCBmb3IgdGhlIHN5c3Rl bSB1bmRlciB1c2UsCj4gICAqIGFuZCB3aGljaCBpcyBkZXRlY3RlZCBieSByZWFkaW5nIHRoZSBy ZWdpc3RlcnMgb2YgdGhlIGRpc3BsYXkuCj4gICAqLwo+IC1zdGF0aWMgaW50IHRwZzExMF9nZXRf bW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQgdHBnMTEwX2dldF9t b2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiArCQkJICAgIHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCj4gIHsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ig PSBwYW5lbC0+Y29ubmVjdG9yOwo+ICAJc3RydWN0IHRwZzExMCAqdHBnID0gdG9fdHBnMTEwKHBh bmVsKTsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRydWx5LW50MzU1OTcuYyBiL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC10cnVseS1udDM1NTk3LmMKPiBpbmRleCAwZmVlYTI0NTZlMTQu LjAxMmNhNjJiZjMwZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt dHJ1bHktbnQzNTU5Ny5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRydWx5 LW50MzU1OTcuYwo+IEBAIC00NTQsOSArNDU0LDkgQEAgc3RhdGljIGludCB0cnVseV9udDM1NTk3 X2VuYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ IC1zdGF0aWMgaW50IHRydWx5X250MzU1OTdfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsKQo+ICtzdGF0aWMgaW50IHRydWx5X250MzU1OTdfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsLAo+ICsJCQkJICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAg ewo+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7 Cj4gIAlzdHJ1Y3QgdHJ1bHlfbnQzNTU5NyAqY3R4ID0gcGFuZWxfdG9fY3R4KHBhbmVsKTsKPiAg CXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ICAJY29uc3Qgc3RydWN0IG50MzU1OTdf Y29uZmlnICpjb25maWc7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oIGIv aW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKPiBpbmRleCBkMzBjOTg1NjczODQuLmE1ZjcxOTk4MDdm MiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAo+ICsrKyBiL2luY2x1ZGUv ZHJtL2RybV9wYW5lbC5oCj4gQEAgLTEwMCw3ICsxMDAsOCBAQCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1 bmNzIHsKPiAgCSAqIEFkZCBtb2RlcyB0byB0aGUgY29ubmVjdG9yIHRoYXQgdGhlIHBhbmVsIGlz IGF0dGFjaGVkIHRvIGFuZAo+ICAJICogcmV0dXJuIHRoZSBudW1iZXIgb2YgbW9kZXMgYWRkZWQu CgpZb3Ugc2hvdWxkIHVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbjoKCgkgKiBBZGQgcGFuZWwgbW9k ZXMgdG8gdGhlIGdpdmVuIGNvbm5lY3RvciBhbmQgcmV0dXJuIHRoZSBudW1iZXIgb2YgbW9kZXMK CSAqIGFkZGVkLgoKV2l0aCB0aGVzZSBzbWFsbCBpc3N1ZXMgYWRkcmVzc2VkLAoKUmV2aWV3ZWQt Ynk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4K Cj4gLQlpbnQgKCpnZXRfbW9kZXMpKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKPiArCWludCAo KmdldF9tb2Rlcykoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gKwkJCSBzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKTsKPiAgCj4gIAkvKioKPiAgCSAqIEBnZXRfdGltaW5nczoKCi0t IApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=