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=-13.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 B61A7C4361B for ; Mon, 14 Dec 2020 16:55:54 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 01E712173E for ; Mon, 14 Dec 2020 16:55:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 01E712173E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3F0A06E041; Mon, 14 Dec 2020 16:55:53 +0000 (UTC) Received: from mail-oi1-x241.google.com (mail-oi1-x241.google.com [IPv6:2607:f8b0:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1A1946E064 for ; Mon, 14 Dec 2020 16:55:52 +0000 (UTC) Received: by mail-oi1-x241.google.com with SMTP id l207so19908259oib.4 for ; Mon, 14 Dec 2020 08:55:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=k3S/PR4pxwtoai0h2Cqz+sYKPX71Z+iZKTwhVglrDqA=; b=FC4x9E2VLmVXRpHlxvOeSk2ePE3D3kv9zoXsTrdp6dHJrrswGI7Lfo/xIIq4xQgK51 3ukOgR/fFuYmAxM36aPebc+iWQBUjtCyBgBO+ISKPK/tnqHZLSce9bgbdqkT/1K/23Fu xylGLXS369UHLoCQW7IlCERjZA53yRgj+BbIM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=k3S/PR4pxwtoai0h2Cqz+sYKPX71Z+iZKTwhVglrDqA=; b=bBNYy+fIzjbI7MM/Cn9IpwWS9ohKORO+/D4CqRsA2EgUDbuF8uDIAEtPwoECIorjUC swgSlLtX2/Pax3iaW93AiBfAfBoprB5rHn7oBV7MRw6hC3ucvTULESkTxHuSXq86cJhO Y37AI3x2PwyXqbPf3U3fnMMep90Gs6AwmaCxcFuphythbfAug/09df56x2rSogLsWJZ/ 0a2i0/KsjPtdXCpRu7sHD+ixbXiEurMLTxM0pLDhL4wmzA2CfgC42FG09QAoU6oZYhXL /VOKkhvbY2eUz6axMzP06mpYzlRaDjDCfhgI6+rb7j8uIWUm3qGJNgJgkmJNasAdZTHb 5rrg== X-Gm-Message-State: AOAM532tVpD6PvR97zuH7DShiD9ZDv+AWFH/2lPO8o0wc55+QFobSA7r ypUvp2ynTSxI9a++LERdrB7sLDlrr8pest3U+OVD20Kko5ksfg== X-Google-Smtp-Source: ABdhPJwvKGhyrjN0nKXW1uro0aybk8V2u8zSg9/IkONZV0Rnpio83JH/8gAQLi+XwCVH2fzIandLx+U0XAE8isYmS0Q= X-Received: by 2002:aca:54d8:: with SMTP id i207mr18712734oib.101.1607964950553; Mon, 14 Dec 2020 08:55:50 -0800 (PST) MIME-Version: 1.0 References: <20201210145212.16214-1-christian.koenig@amd.com> In-Reply-To: <20201210145212.16214-1-christian.koenig@amd.com> From: Daniel Vetter Date: Mon, 14 Dec 2020 17:55:39 +0100 Message-ID: Subject: Re: [PATCH] drm/ttm: cleanup BO size handling v3 To: =?UTF-8?Q?Christian_K=C3=B6nig?= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SSB0aGluayB5b3UgZm9yZ290IHRvIGNvbXBpbGUgdGVzdCB3aXRoIGFtZGtmZCA6LSkKCmRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYzogSW4gZnVuY3Rpb24g 4oCYYWRkX2JvX3RvX3Zt4oCZOgpkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1k a2ZkX2dwdXZtLmM6NDU2OjM3OiBlcnJvcjoK4oCYc3RydWN0IHR0bV9yZXNvdXJjZeKAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmHNpemXigJkKIDQ1NiB8ICB1bnNpZ25lZCBsb25nIGJvX3NpemUg PSBiby0+dGJvLm1lbS5zaXplOwogICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgpkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmM6 IEluIGZ1bmN0aW9uCuKAmGFtZGdwdV9hbWRrZmRfZ3B1dm1fZnJlZV9tZW1vcnlfb2ZfZ3B14oCZ Ogpkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmM6MTI4NDo0 MjogZXJyb3I6CuKAmHN0cnVjdCB0dG1fcmVzb3VyY2XigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDi gJhzaXpl4oCZCjEyODQgfCAgdW5zaWduZWQgbG9uZyBib19zaXplID0gbWVtLT5iby0+dGJvLm1l bS5zaXplOwogICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CmRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYzogSW4gZnVu Y3Rpb24K4oCYYW1kZ3B1X2FtZGtmZF9ncHV2bV9tYXBfbWVtb3J5X3RvX2dwdeKAmToKZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jOjE0MDU6MjM6IGVycm9y OgrigJhzdHJ1Y3QgdHRtX3Jlc291cmNl4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYc2l6ZeKA mQoxNDA1IHwgIGJvX3NpemUgPSBiby0+dGJvLm1lbS5zaXplOwogICAgIHwgICAgICAgICAgICAg ICAgICAgICAgIF4KZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2 bS5jOiBJbiBmdW5jdGlvbgrigJhhbWRncHVfYW1ka2ZkX2dwdXZtX3VubWFwX21lbW9yeV9mcm9t X2dwdeKAmToKZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5j OjE1MDk6NDI6IGVycm9yOgrigJhzdHJ1Y3QgdHRtX3Jlc291cmNl4oCZIGhhcyBubyBtZW1iZXIg bmFtZWQg4oCYc2l6ZeKAmQoxNTA5IHwgIHVuc2lnbmVkIGxvbmcgYm9fc2l6ZSA9IG1lbS0+Ym8t PnRiby5tZW0uc2l6ZTsKICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgpBbHNvIHdlIHJlYWxseSBuZWVkIGdpdGxhYiBDSSB0byBzdG9wIHRoaXMga2luZCBv ZiBzdHVmZiAuLi4KLURhbmllbAoKT24gVGh1LCBEZWMgMTAsIDIwMjAgYXQgMzo1MiBQTSBDaHJp c3RpYW4gS8O2bmlnCjxja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbT4gd3JvdGU6Cj4K PiBCYXNlZCBvbiBhbiBpZGVhIGZyb20gRGF2ZSwgYnV0IGNsZWFuZWQgdXAgYSBiaXQuCj4KPiBX ZSBoYWQgbXVsdGlwbGUgZmllbGRzIGZvciBlc3NlbnRpYWxseSB0aGUgc2FtZSB0aGluZy4KPgo+ IE5vdyBiby0+YmFzZS5zaXplIGlzIHRoZSBvcmlnaW5hbCBzaXplIG9mIHRoZSBCTyBpbgo+IGFy Yml0cmFyeSB1bml0cywgdXN1YWxseSBieXRlcy4KPgo+IGJvLT5tZW0ubnVtX3BhZ2VzIGlzIHRo ZSBzaXplIGluIG51bWJlciBvZiBwYWdlcyBpbiB0aGUKPiByZXNvdXJjZSBkb21haW4gb2YgYm8t Pm1lbS5tZW1fdHlwZS4KPgo+IHYyOiB1c2UgdGhlIEdFTSBvYmplY3Qgc2l6ZSBpbnN0ZWFkIG9m IHRoZSBCTyBzaXplCj4gdjM6IGZpeCBwcmludGtzIGluIHNvbWUgcGxhY2VzCj4KPiBTaWduZWQt b2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gUmV2 aWV3ZWQtYnk6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+ICh2MSkKPiBBY2tlZC1ieTog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAtLS0KPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RtYV9idWYuYyAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dtYy5jICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jICAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oICAgIHwgIDQgKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90cmFjZS5oICAgICB8ICAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYyAgICAgICB8ICA2ICsrLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvbWVzX3YxMF8xLmMgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jICAgICAgICAgIHwgMTAgKysrLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jICAgICB8ICA4ICsrLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfcHJpbWUuYyAgICAgICB8ICA0ICstLQo+ ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjE3X2ZlbmNlLmMgICAgICAgICAgfCAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2ZlbmNlLmMgICAgICAgICAgfCAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9vYmplY3QuaCAgICAgICAgICAgICAgfCAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcy5jICAgICAgICAgICAgfCAgMyArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYyAgICAgICAgfCAxMyArKysr LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5oICAgICAgICB8ICA0 ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9wcmltZS5jICAgICAgICAgfCAg NCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHJhY2UuaCAgICAgICAgIHwg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMgICAgICAgICAgIHwg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYyAgICAgICAgICAgICAgICAgIHwg MzUgKysrKysrLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib191dGls LmMgICAgICAgICAgICAgfCAxMiArKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2Jv X3ZtLmMgICAgICAgICAgICAgICB8ICA2ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3R0bS90dG1f dHQuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92 bXdnZnhfYmxpdC5jICAgICAgICAgIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2JvLmMgICAgICAgICAgICB8ICA2ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3Ztd2dm eC92bXdnZnhfY290YWJsZS5jICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3Ztd2dm eC92bXdnZnhfZXhlY2J1Zi5jICAgICAgIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X2dtcmlkX21hbmFnZXIuYyB8ICA1ICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9rbXMuYyAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9wYWdlX2RpcnR5LmMgICAgfCAgOCArKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5jICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9zaGFkZXIuYyAgICAgICAgfCAgMyArLQo+ICBkcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9zdGR1LmMgICAgICAgICAgfCAgNCArLS0KPiAgZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfc3VyZmFjZS5jICAgICAgIHwgIDcgKystLQo+ICBpbmNsdWRlL2RybS90 dG0vdHRtX2JvX2FwaS5oICAgICAgICAgICAgICAgICAgfCAgOSArKy0tLQo+ICBpbmNsdWRlL2Ry bS90dG0vdHRtX3Jlc291cmNlLmggICAgICAgICAgICAgICAgfCAgMSAtCj4gIDM2IGZpbGVzIGNo YW5nZWQsIDg0IGluc2VydGlvbnMoKyksIDEwNCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZG1hX2J1Zi5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RtYV9idWYuYwo+IGluZGV4IGU1OTE5ZWZjYTg3MC4u YzRjOTNmMTlkMjczIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kbWFfYnVmLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZG1hX2J1Zi5jCj4gQEAgLTI2OSw3ICsyNjksNyBAQCBzdGF0aWMgc3RydWN0IHNnX3RhYmxlICph bWRncHVfZG1hX2J1Zl9tYXAoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAo+ICAg ICAgICAgY2FzZSBUVE1fUExfVFQ6Cj4gICAgICAgICAgICAgICAgIHNndCA9IGRybV9wcmltZV9w YWdlc190b19zZyhvYmotPmRldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvLT50Ym8udHRtLT5wYWdlcywKPiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJvLT50Ym8ubnVtX3BhZ2VzKTsKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvLT50Ym8udHRtLT5udW1fcGFnZXMpOwo+ICAg ICAgICAgICAgICAgICBpZiAoSVNfRVJSKHNndCkpCj4gICAgICAgICAgICAgICAgICAgICAgICAg cmV0dXJuIHNndDsKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZ21jLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ21jLmMKPiBp bmRleCAwNTZjYjg3ZDA5ZWEuLjUyYmNkMWI1NTgyZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ21jLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZ21jLmMKPiBAQCAtMTIxLDcgKzEyMSw3IEBAIHVpbnQ2NF90IGFtZGdw dV9nbWNfYWdwX2FkZHIoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKPiAgewo+ICAgICAg ICAgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfdHRtX2FkZXYoYm8tPmJkZXYp Owo+Cj4gLSAgICAgICBpZiAoYm8tPm51bV9wYWdlcyAhPSAxIHx8IGJvLT50dG0tPmNhY2hpbmcg PT0gdHRtX2NhY2hlZCkKPiArICAgICAgIGlmIChiby0+dHRtLT5udW1fcGFnZXMgIT0gMSB8fCBi by0+dHRtLT5jYWNoaW5nID09IHR0bV9jYWNoZWQpCj4gICAgICAgICAgICAgICAgIHJldHVybiBB TURHUFVfQk9fSU5WQUxJRF9PRkZTRVQ7Cj4KPiAgICAgICAgIGlmIChiby0+dHRtLT5kbWFfYWRk cmVzc1swXSArIFBBR0VfU0laRSA+PSBhZGV2LT5nbWMuYWdwX3NpemUpCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwo+IGluZGV4IGM2Yzk3MjNkM2Q4YS4uMzgx ZWNjNDc4OGQ1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9vYmplY3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmpl Y3QuYwo+IEBAIC03ODcsNyArNzg3LDcgQEAgaW50IGFtZGdwdV9ib19rbWFwKHN0cnVjdCBhbWRn cHVfYm8gKmJvLCB2b2lkICoqcHRyKQo+ICAgICAgICAgaWYgKHIgPCAwKQo+ICAgICAgICAgICAg ICAgICByZXR1cm4gcjsKPgo+IC0gICAgICAgciA9IHR0bV9ib19rbWFwKCZiby0+dGJvLCAwLCBi by0+dGJvLm51bV9wYWdlcywgJmJvLT5rbWFwKTsKPiArICAgICAgIHIgPSB0dG1fYm9fa21hcCgm Ym8tPnRibywgMCwgYm8tPnRiby5tZW0ubnVtX3BhZ2VzLCAmYm8tPmttYXApOwo+ICAgICAgICAg aWYgKHIpCj4gICAgICAgICAgICAgICAgIHJldHVybiByOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaAo+IGluZGV4IGVkNDdjYmFjNGY3NS4uYTk5YTVjZGU0 MmRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmpl Y3QuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaAo+ IEBAIC0xNzQsMTIgKzE3NCwxMiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYW1kZ3B1X2JvX3VucmVz ZXJ2ZShzdHJ1Y3QgYW1kZ3B1X2JvICpibykKPgo+ICBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxv bmcgYW1kZ3B1X2JvX3NpemUoc3RydWN0IGFtZGdwdV9ibyAqYm8pCj4gIHsKPiAtICAgICAgIHJl dHVybiBiby0+dGJvLm51bV9wYWdlcyA8PCBQQUdFX1NISUZUOwo+ICsgICAgICAgcmV0dXJuIGJv LT50Ym8uYmFzZS5zaXplOwo+ICB9Cj4KPiAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBhbWRncHVf Ym9fbmdwdV9wYWdlcyhzdHJ1Y3QgYW1kZ3B1X2JvICpibykKPiAgewo+IC0gICAgICAgcmV0dXJu IChiby0+dGJvLm51bV9wYWdlcyA8PCBQQUdFX1NISUZUKSAvIEFNREdQVV9HUFVfUEFHRV9TSVpF Owo+ICsgICAgICAgcmV0dXJuIGJvLT50Ym8uYmFzZS5zaXplIC8gQU1ER1BVX0dQVV9QQUdFX1NJ WkU7Cj4gIH0KPgo+ICBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGFtZGdwdV9ib19ncHVfcGFnZV9h bGlnbm1lbnQoc3RydWN0IGFtZGdwdV9ibyAqYm8pCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90cmFjZS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3RyYWNlLmgKPiBpbmRleCBlZTk0ODBkMTRjYmMuLjIwNzE1ZGRiYjc0NiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHJhY2UuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90cmFjZS5oCj4gQEAgLTEyNyw3 ICsxMjcsNyBAQCBUUkFDRV9FVkVOVChhbWRncHVfYm9fY3JlYXRlLAo+Cj4gICAgICAgICAgICAg VFBfZmFzdF9hc3NpZ24oCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX19lbnRyeS0+Ym8g PSBibzsKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICBfX2VudHJ5LT5wYWdlcyA9IGJvLT50 Ym8ubnVtX3BhZ2VzOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIF9fZW50cnktPnBhZ2Vz ID0gYm8tPnRiby5tZW0ubnVtX3BhZ2VzOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9f ZW50cnktPnR5cGUgPSBiby0+dGJvLm1lbS5tZW1fdHlwZTsKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBfX2VudHJ5LT5wcmVmZXIgPSBiby0+cHJlZmVycmVkX2RvbWFpbnM7Cj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgX19lbnRyeS0+YWxsb3cgPSBiby0+YWxsb3dlZF9kb21haW5z Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKPiBpbmRleCBlYzkzZDRm ZGFiYmQuLjUzNDY4OTFhM2Y3MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfdHRtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdHRtLmMKPiBAQCAtNjM2LDcgKzYzNiw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX21vdmUo c3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywgYm9vbCBldmljdCwKPgo+ICBvdXQ6Cj4gICAg ICAgICAvKiB1cGRhdGUgc3RhdGlzdGljcyAqLwo+IC0gICAgICAgYXRvbWljNjRfYWRkKCh1NjQp Ym8tPm51bV9wYWdlcyA8PCBQQUdFX1NISUZULCAmYWRldi0+bnVtX2J5dGVzX21vdmVkKTsKPiAr ICAgICAgIGF0b21pYzY0X2FkZChiby0+YmFzZS5zaXplLCAmYWRldi0+bnVtX2J5dGVzX21vdmVk KTsKPiAgICAgICAgIGFtZGdwdV9ib19tb3ZlX25vdGlmeShibywgZXZpY3QsIG5ld19tZW0pOwo+ ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiBAQCAtMjEzMSw3ICsyMTMxLDcgQEAgaW50IGFtZGdw dV9maWxsX2J1ZmZlcihzdHJ1Y3QgYW1kZ3B1X2JvICpibywKPiAgICAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gcjsKPiAgICAgICAgIH0KPgo+IC0gICAgICAgbnVtX3BhZ2VzID0gYm8tPnRi by5udW1fcGFnZXM7Cj4gKyAgICAgICBudW1fcGFnZXMgPSBiby0+dGJvLm1lbS5udW1fcGFnZXM7 Cj4gICAgICAgICBtbV9ub2RlID0gYm8tPnRiby5tZW0ubW1fbm9kZTsKPiAgICAgICAgIG51bV9s b29wcyA9IDA7Cj4gICAgICAgICB3aGlsZSAobnVtX3BhZ2VzKSB7Cj4gQEAgLTIxNjEsNyArMjE2 MSw3IEBAIGludCBhbWRncHVfZmlsbF9idWZmZXIoc3RydWN0IGFtZGdwdV9ibyAqYm8sCj4gICAg ICAgICAgICAgICAgIH0KPiAgICAgICAgIH0KPgo+IC0gICAgICAgbnVtX3BhZ2VzID0gYm8tPnRi by5udW1fcGFnZXM7Cj4gKyAgICAgICBudW1fcGFnZXMgPSBiby0+dGJvLm1lbS5udW1fcGFnZXM7 Cj4gICAgICAgICBtbV9ub2RlID0gYm8tPnRiby5tZW0ubW1fbm9kZTsKPgo+ICAgICAgICAgd2hp bGUgKG51bV9wYWdlcykgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9tZXNfdjEwXzEuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L21lc192MTBfMS5jCj4g aW5kZXggOTg1ZTQ1NDQ2M2UxLi43ZjMwNjI5ZjIxYTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvbWVzX3YxMF8xLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9tZXNfdjEwXzEuYwo+IEBAIC01NTQsNyArNTU0LDcgQEAgc3RhdGljIGludCBtZXNf djEwXzFfYWxsb2NhdGVfZW9wX2J1ZihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgICAg ICAgICAgICAgICAgcmV0dXJuIHI7Cj4gICAgICAgICB9Cj4KPiAtICAgICAgIG1lbXNldChlb3As IDAsIGFkZXYtPm1lcy5lb3BfZ3B1X29iai0+dGJvLm1lbS5zaXplKTsKPiArICAgICAgIG1lbXNl dChlb3AsIDAsIGFkZXYtPm1lcy5lb3BfZ3B1X29iai0+dGJvLmJhc2Uuc2l6ZSk7Cj4KPiAgICAg ICAgIGFtZGdwdV9ib19rdW5tYXAoYWRldi0+bWVzLmVvcF9ncHVfb2JqKTsKPiAgICAgICAgIGFt ZGdwdV9ib191bnJlc2VydmUoYWRldi0+bWVzLmVvcF9ncHVfb2JqKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jIGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV9iby5jCj4gaW5kZXggYmM1NDJhYzRjNGI2Li5jMWE2NzViOGZjNDMgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jCj4gQEAgLTQ3MywxMCArNDczLDEw IEBAIG5vdXZlYXVfYm9fcGluKHN0cnVjdCBub3V2ZWF1X2JvICpudmJvLCB1aW50MzJfdCBkb21h aW4sIGJvb2wgY29udGlnKQo+Cj4gICAgICAgICBzd2l0Y2ggKGJvLT5tZW0ubWVtX3R5cGUpIHsK PiAgICAgICAgIGNhc2UgVFRNX1BMX1ZSQU06Cj4gLSAgICAgICAgICAgICAgIGRybS0+Z2VtLnZy YW1fYXZhaWxhYmxlIC09IGJvLT5tZW0uc2l6ZTsKPiArICAgICAgICAgICAgICAgZHJtLT5nZW0u dnJhbV9hdmFpbGFibGUgLT0gYm8tPmJhc2Uuc2l6ZTsKPiAgICAgICAgICAgICAgICAgYnJlYWs7 Cj4gICAgICAgICBjYXNlIFRUTV9QTF9UVDoKPiAtICAgICAgICAgICAgICAgZHJtLT5nZW0uZ2Fy dF9hdmFpbGFibGUgLT0gYm8tPm1lbS5zaXplOwo+ICsgICAgICAgICAgICAgICBkcm0tPmdlbS5n YXJ0X2F2YWlsYWJsZSAtPSBiby0+YmFzZS5zaXplOwo+ICAgICAgICAgICAgICAgICBicmVhazsK PiAgICAgICAgIGRlZmF1bHQ6Cj4gICAgICAgICAgICAgICAgIGJyZWFrOwo+IEBAIC01MDQsMTAg KzUwNCwxMCBAQCBub3V2ZWF1X2JvX3VucGluKHN0cnVjdCBub3V2ZWF1X2JvICpudmJvKQo+ICAg ICAgICAgaWYgKCFudmJvLT5iby5waW5fY291bnQpIHsKPiAgICAgICAgICAgICAgICAgc3dpdGNo IChiby0+bWVtLm1lbV90eXBlKSB7Cj4gICAgICAgICAgICAgICAgIGNhc2UgVFRNX1BMX1ZSQU06 Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgZHJtLT5nZW0udnJhbV9hdmFpbGFibGUgKz0gYm8t Pm1lbS5zaXplOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGRybS0+Z2VtLnZyYW1fYXZhaWxh YmxlICs9IGJvLT5iYXNlLnNpemU7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4g ICAgICAgICAgICAgICAgIGNhc2UgVFRNX1BMX1RUOgo+IC0gICAgICAgICAgICAgICAgICAgICAg IGRybS0+Z2VtLmdhcnRfYXZhaWxhYmxlICs9IGJvLT5tZW0uc2l6ZTsKPiArICAgICAgICAgICAg ICAgICAgICAgICBkcm0tPmdlbS5nYXJ0X2F2YWlsYWJsZSArPSBiby0+YmFzZS5zaXplOwo+ICAg ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICAgICAgICAgICAgICAgICBkZWZhdWx0Ogo+ ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+IEBAIC05MTMsNyArOTEzLDcgQEAgbm91 dmVhdV9ib192bV9iaW5kKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sIHN0cnVjdCB0dG1f cmVzb3VyY2UgKm5ld19yZWcsCj4gICAgICAgICAgICAgICAgIHJldHVybiAwOwo+Cj4gICAgICAg ICBpZiAoZHJtLT5jbGllbnQuZGV2aWNlLmluZm8uZmFtaWx5ID49IE5WX0RFVklDRV9JTkZPX1Yw X0NFTFNJVVMpIHsKPiAtICAgICAgICAgICAgICAgKm5ld190aWxlID0gbnYxMF9ib19zZXRfdGls aW5nKGRldiwgb2Zmc2V0LCBuZXdfcmVnLT5zaXplLAo+ICsgICAgICAgICAgICAgICAqbmV3X3Rp bGUgPSBudjEwX2JvX3NldF90aWxpbmcoZGV2LCBvZmZzZXQsIGJvLT5iYXNlLnNpemUsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudmJvLT5tb2RlLCBu dmJvLT56ZXRhKTsKPiAgICAgICAgIH0KPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfZGlzcGxheS5jCj4gaW5kZXggYmNlYjQ4YTJkZmNhLi4xNzgzMWVlODk3ZWEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYwo+IEBAIC0yODYsMTEgKzI4 NiwxMSBAQCBub3V2ZWF1X2NoZWNrX2JsX3NpemUoc3RydWN0IG5vdXZlYXVfZHJtICpkcm0sIHN0 cnVjdCBub3V2ZWF1X2JvICpudmJvLAo+Cj4gICAgICAgICBibF9zaXplID0gYncgKiBiaCAqICgx IDw8IHRpbGVfbW9kZSkgKiBnb2Jfc2l6ZTsKPgo+IC0gICAgICAgRFJNX0RFQlVHX0tNUygib2Zm c2V0PSV1IHN0cmlkZT0ldSBoPSV1IHRpbGVfbW9kZT0weCUwMnggYnc9JXUgYmg9JXUgZ29iX3Np emU9JXUgYmxfc2l6ZT0lbGx1IHNpemU9JWx1XG4iLAo+ICsgICAgICAgRFJNX0RFQlVHX0tNUygi b2Zmc2V0PSV1IHN0cmlkZT0ldSBoPSV1IHRpbGVfbW9kZT0weCUwMnggYnc9JXUgYmg9JXUgZ29i X3NpemU9JXUgYmxfc2l6ZT0lbGx1IHNpemU9JXp1XG4iLAo+ICAgICAgICAgICAgICAgICAgICAg ICBvZmZzZXQsIHN0cmlkZSwgaCwgdGlsZV9tb2RlLCBidywgYmgsIGdvYl9zaXplLCBibF9zaXpl LAo+IC0gICAgICAgICAgICAgICAgICAgICBudmJvLT5iby5tZW0uc2l6ZSk7Cj4gKyAgICAgICAg ICAgICAgICAgICAgIG52Ym8tPmJvLmJhc2Uuc2l6ZSk7Cj4KPiAtICAgICAgIGlmIChibF9zaXpl ICsgb2Zmc2V0ID4gbnZiby0+Ym8ubWVtLnNpemUpCj4gKyAgICAgICBpZiAoYmxfc2l6ZSArIG9m ZnNldCA+IG52Ym8tPmJvLmJhc2Uuc2l6ZSkKPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FUkFO R0U7Cj4KPiAgICAgICAgIHJldHVybiAwOwo+IEBAIC0zNjMsNyArMzYzLDcgQEAgbm91dmVhdV9m cmFtZWJ1ZmZlcl9uZXcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgICAgICAgICAgICAgICAg fSBlbHNlIHsKPiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzaXplID0gbW9kZV9j bWQtPnBpdGNoZXNbaV0gKiBoZWlnaHQ7Cj4KPiAtICAgICAgICAgICAgICAgICAgICAgICBpZiAo c2l6ZSArIG1vZGVfY21kLT5vZmZzZXRzW2ldID4gbnZiby0+Ym8ubWVtLnNpemUpCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgaWYgKHNpemUgKyBtb2RlX2NtZC0+b2Zmc2V0c1tpXSA+IG52Ym8t PmJvLmJhc2Uuc2l6ZSkKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAt RVJBTkdFOwo+ICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICB9Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfcHJpbWUuYyBiL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L25vdXZlYXVfcHJpbWUuYwo+IGluZGV4IDJmMTZiNTI0OTI4My4uMzQ3NDg4Njg1Zjc0 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfcHJpbWUuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfcHJpbWUuYwo+IEBAIC0zMCw5 ICszMCw5IEBACj4gIHN0cnVjdCBzZ190YWJsZSAqbm91dmVhdV9nZW1fcHJpbWVfZ2V0X3NnX3Rh YmxlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQo+ICB7Cj4gICAgICAgICBzdHJ1Y3Qgbm91 dmVhdV9ibyAqbnZibyA9IG5vdXZlYXVfZ2VtX29iamVjdChvYmopOwo+IC0gICAgICAgaW50IG5w YWdlcyA9IG52Ym8tPmJvLm51bV9wYWdlczsKPgo+IC0gICAgICAgcmV0dXJuIGRybV9wcmltZV9w YWdlc190b19zZyhvYmotPmRldiwgbnZiby0+Ym8udHRtLT5wYWdlcywgbnBhZ2VzKTsKPiArICAg ICAgIHJldHVybiBkcm1fcHJpbWVfcGFnZXNfdG9fc2cob2JqLT5kZXYsIG52Ym8tPmJvLnR0bS0+ cGFnZXMsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG52Ym8tPmJvLnR0 bS0+bnVtX3BhZ2VzKTsKPiAgfQo+Cj4gIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqbm91dmVhdV9n ZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252MTdfZmVuY2UuYyBiL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L252MTdfZmVuY2UuYwo+IGluZGV4IDEyNTNmZGVjNzEyZC4uYjFjZDhkN2Rk ODdkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252MTdfZmVuY2UuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252MTdfZmVuY2UuYwo+IEBAIC04MCw3ICs4 MCw3IEBAIG52MTdfZmVuY2VfY29udGV4dF9uZXcoc3RydWN0IG5vdXZlYXVfY2hhbm5lbCAqY2hh bikKPiAgICAgICAgIHN0cnVjdCBudjEwX2ZlbmNlX2NoYW4gKmZjdHg7Cj4gICAgICAgICBzdHJ1 Y3QgdHRtX3Jlc291cmNlICpyZWcgPSAmcHJpdi0+Ym8tPmJvLm1lbTsKPiAgICAgICAgIHUzMiBz dGFydCA9IHJlZy0+c3RhcnQgKiBQQUdFX1NJWkU7Cj4gLSAgICAgICB1MzIgbGltaXQgPSBzdGFy dCArIHJlZy0+c2l6ZSAtIDE7Cj4gKyAgICAgICB1MzIgbGltaXQgPSBzdGFydCArIHByaXYtPmJv LT5iby5iYXNlLnNpemUgLSAxOwo+ICAgICAgICAgaW50IHJldCA9IDA7Cj4KPiAgICAgICAgIGZj dHggPSBjaGFuLT5mZW5jZSA9IGt6YWxsb2Moc2l6ZW9mKCpmY3R4KSwgR0ZQX0tFUk5FTCk7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZmVuY2UuYyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZmVuY2UuYwo+IGluZGV4IDQ0NzIzOGUzY2JlNy4uMTYy NTgyNjUwNWY2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZmVu Y2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZmVuY2UuYwo+IEBAIC0z OSw3ICszOSw3IEBAIG52NTBfZmVuY2VfY29udGV4dF9uZXcoc3RydWN0IG5vdXZlYXVfY2hhbm5l bCAqY2hhbikKPiAgICAgICAgIHN0cnVjdCBudjEwX2ZlbmNlX2NoYW4gKmZjdHg7Cj4gICAgICAg ICBzdHJ1Y3QgdHRtX3Jlc291cmNlICpyZWcgPSAmcHJpdi0+Ym8tPmJvLm1lbTsKPiAgICAgICAg IHUzMiBzdGFydCA9IHJlZy0+c3RhcnQgKiBQQUdFX1NJWkU7Cj4gLSAgICAgICB1MzIgbGltaXQg PSBzdGFydCArIHJlZy0+c2l6ZSAtIDE7Cj4gKyAgICAgICB1MzIgbGltaXQgPSBzdGFydCArIHBy aXYtPmJvLT5iby5iYXNlLnNpemUgLSAxOwo+ICAgICAgICAgaW50IHJldDsKPgo+ICAgICAgICAg ZmN0eCA9IGNoYW4tPmZlbmNlID0ga3phbGxvYyhzaXplb2YoKmZjdHgpLCBHRlBfS0VSTkVMKTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfb2JqZWN0LmggYi9kcml2ZXJz L2dwdS9kcm0vcXhsL3F4bF9vYmplY3QuaAo+IGluZGV4IGViZjI0YzlkMmJmMi4uZTYwYThmODhl MjI2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX29iamVjdC5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfb2JqZWN0LmgKPiBAQCAtNTAsNyArNTAsNyBAQCBz dGF0aWMgaW5saW5lIHZvaWQgcXhsX2JvX3VucmVzZXJ2ZShzdHJ1Y3QgcXhsX2JvICpibykKPgo+ ICBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcXhsX2JvX3NpemUoc3RydWN0IHF4bF9ibyAq Ym8pCj4gIHsKPiAtICAgICAgIHJldHVybiBiby0+dGJvLm51bV9wYWdlcyA8PCBQQUdFX1NISUZU Owo+ICsgICAgICAgcmV0dXJuIGJvLT50Ym8uYmFzZS5zaXplOwo+ICB9Cj4KPiAgc3RhdGljIGlu bGluZSB1NjQgcXhsX2JvX21tYXBfb2Zmc2V0KHN0cnVjdCBxeGxfYm8gKmJvKQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcy5jIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fY3MuYwo+IGluZGV4IDIxY2UyZjk1MDJjMC4uNGYzNWMzMjk1N2JlIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcy5jCj4gQEAgLTQwMSw3ICs0MDEsOCBAQCBz dGF0aWMgaW50IGNtcF9zaXplX3NtYWxsZXJfZmlyc3Qodm9pZCAqcHJpdiwgc3RydWN0IGxpc3Rf aGVhZCAqYSwKPiAgICAgICAgIHN0cnVjdCByYWRlb25fYm9fbGlzdCAqbGIgPSBsaXN0X2VudHJ5 KGIsIHN0cnVjdCByYWRlb25fYm9fbGlzdCwgdHYuaGVhZCk7Cj4KPiAgICAgICAgIC8qIFNvcnQg QSBiZWZvcmUgQiBpZiBBIGlzIHNtYWxsZXIuICovCj4gLSAgICAgICByZXR1cm4gKGludClsYS0+ cm9iai0+dGJvLm51bV9wYWdlcyAtIChpbnQpbGItPnJvYmotPnRiby5udW1fcGFnZXM7Cj4gKyAg ICAgICByZXR1cm4gKGludClsYS0+cm9iai0+dGJvLm1lbS5udW1fcGFnZXMgLQo+ICsgICAgICAg ICAgICAgICAoaW50KWxiLT5yb2JqLT50Ym8ubWVtLm51bV9wYWdlczsKPiAgfQo+Cj4gIC8qKgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jCj4gaW5kZXggYWI4MWUzNWNiMDYw Li45YTk5OTkzMGUzZGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fb2JqZWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3Qu Ywo+IEBAIC01NCwyMCArNTQsMTkgQEAgc3RhdGljIHZvaWQgcmFkZW9uX3VwZGF0ZV9tZW1vcnlf dXNhZ2Uoc3RydWN0IHJhZGVvbl9ibyAqYm8sCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbWVtX3R5cGUsIGludCBzaWduKQo+ICB7Cj4gICAgICAgICBz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGJvLT5yZGV2Owo+IC0gICAgICAgdTY0IHNpemUg PSAodTY0KWJvLT50Ym8ubnVtX3BhZ2VzIDw8IFBBR0VfU0hJRlQ7Cj4KPiAgICAgICAgIHN3aXRj aCAobWVtX3R5cGUpIHsKPiAgICAgICAgIGNhc2UgVFRNX1BMX1RUOgo+ICAgICAgICAgICAgICAg ICBpZiAoc2lnbiA+IDApCj4gLSAgICAgICAgICAgICAgICAgICAgICAgYXRvbWljNjRfYWRkKHNp emUsICZyZGV2LT5ndHRfdXNhZ2UpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGF0b21pYzY0 X2FkZChiby0+dGJvLmJhc2Uuc2l6ZSwgJnJkZXYtPmd0dF91c2FnZSk7Cj4gICAgICAgICAgICAg ICAgIGVsc2UKPiAtICAgICAgICAgICAgICAgICAgICAgICBhdG9taWM2NF9zdWIoc2l6ZSwgJnJk ZXYtPmd0dF91c2FnZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgYXRvbWljNjRfc3ViKGJv LT50Ym8uYmFzZS5zaXplLCAmcmRldi0+Z3R0X3VzYWdlKTsKPiAgICAgICAgICAgICAgICAgYnJl YWs7Cj4gICAgICAgICBjYXNlIFRUTV9QTF9WUkFNOgo+ICAgICAgICAgICAgICAgICBpZiAoc2ln biA+IDApCj4gLSAgICAgICAgICAgICAgICAgICAgICAgYXRvbWljNjRfYWRkKHNpemUsICZyZGV2 LT52cmFtX3VzYWdlKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBhdG9taWM2NF9hZGQoYm8t PnRiby5iYXNlLnNpemUsICZyZGV2LT52cmFtX3VzYWdlKTsKPiAgICAgICAgICAgICAgICAgZWxz ZQo+IC0gICAgICAgICAgICAgICAgICAgICAgIGF0b21pYzY0X3N1YihzaXplLCAmcmRldi0+dnJh bV91c2FnZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgYXRvbWljNjRfc3ViKGJvLT50Ym8u YmFzZS5zaXplLCAmcmRldi0+dnJhbV91c2FnZSk7Cj4gICAgICAgICAgICAgICAgIGJyZWFrOwo+ ICAgICAgICAgfQo+ICB9Cj4gQEAgLTI1Niw3ICsyNTUsNyBAQCBpbnQgcmFkZW9uX2JvX2ttYXAo c3RydWN0IHJhZGVvbl9ibyAqYm8sIHZvaWQgKipwdHIpCj4gICAgICAgICAgICAgICAgIH0KPiAg ICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gICAgICAgICB9Cj4gLSAgICAgICByID0gdHRtX2Jv X2ttYXAoJmJvLT50Ym8sIDAsIGJvLT50Ym8ubnVtX3BhZ2VzLCAmYm8tPmttYXApOwo+ICsgICAg ICAgciA9IHR0bV9ib19rbWFwKCZiby0+dGJvLCAwLCBiby0+dGJvLm1lbS5udW1fcGFnZXMsICZi by0+a21hcCk7Cj4gICAgICAgICBpZiAocikgewo+ICAgICAgICAgICAgICAgICByZXR1cm4gcjsK PiAgICAgICAgIH0KPiBAQCAtNjEwLDcgKzYwOSw3IEBAIGludCByYWRlb25fYm9fZ2V0X3N1cmZh Y2VfcmVnKHN0cnVjdCByYWRlb25fYm8gKmJvKQo+ICBvdXQ6Cj4gICAgICAgICByYWRlb25fc2V0 X3N1cmZhY2VfcmVnKHJkZXYsIGksIGJvLT50aWxpbmdfZmxhZ3MsIGJvLT5waXRjaCwKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm8tPnRiby5tZW0uc3RhcnQgPDwgUEFHRV9TSElG VCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm8tPnRiby5udW1fcGFnZXMgPDwg UEFHRV9TSElGVCk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvLT50Ym8uYmFz ZS5zaXplKTsKPiAgICAgICAgIHJldHVybiAwOwo+ICB9Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9vYmplY3QuaAo+IGluZGV4IGQ2MDZlOWE5MzVlMy4uOTg5NmQ4MjMxZmU1IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmgKPiBAQCAtMTA5LDEyICsxMDks MTIgQEAgc3RhdGljIGlubGluZSB1NjQgcmFkZW9uX2JvX2dwdV9vZmZzZXQoc3RydWN0IHJhZGVv bl9ibyAqYm8pCj4KPiAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHJhZGVvbl9ib19zaXpl KHN0cnVjdCByYWRlb25fYm8gKmJvKQo+ICB7Cj4gLSAgICAgICByZXR1cm4gYm8tPnRiby5udW1f cGFnZXMgPDwgUEFHRV9TSElGVDsKPiArICAgICAgIHJldHVybiBiby0+dGJvLmJhc2Uuc2l6ZTsK PiAgfQo+Cj4gIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgcmFkZW9uX2JvX25ncHVfcGFnZXMoc3Ry dWN0IHJhZGVvbl9ibyAqYm8pCj4gIHsKPiAtICAgICAgIHJldHVybiAoYm8tPnRiby5udW1fcGFn ZXMgPDwgUEFHRV9TSElGVCkgLyBSQURFT05fR1BVX1BBR0VfU0laRTsKPiArICAgICAgIHJldHVy biBiby0+dGJvLmJhc2Uuc2l6ZSAvIFJBREVPTl9HUFVfUEFHRV9TSVpFOwo+ICB9Cj4KPiAgc3Rh dGljIGlubGluZSB1bnNpZ25lZCByYWRlb25fYm9fZ3B1X3BhZ2VfYWxpZ25tZW50KHN0cnVjdCBy YWRlb25fYm8gKmJvKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9wcmltZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcHJpbWUuYwo+IGluZGV4 IDA4OGQzOWE1MWMwZC4uMGEwOWRiYWJhMjg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX3ByaW1lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9wcmltZS5jCj4gQEAgLTM0LDkgKzM0LDkgQEAKPiAgc3RydWN0IHNnX3RhYmxlICpyYWRl b25fZ2VtX3ByaW1lX2dldF9zZ190YWJsZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKPiAg ewo+ICAgICAgICAgc3RydWN0IHJhZGVvbl9ibyAqYm8gPSBnZW1fdG9fcmFkZW9uX2JvKG9iaik7 Cj4gLSAgICAgICBpbnQgbnBhZ2VzID0gYm8tPnRiby5udW1fcGFnZXM7Cj4KPiAtICAgICAgIHJl dHVybiBkcm1fcHJpbWVfcGFnZXNfdG9fc2cob2JqLT5kZXYsIGJvLT50Ym8udHRtLT5wYWdlcywg bnBhZ2VzKTsKPiArICAgICAgIHJldHVybiBkcm1fcHJpbWVfcGFnZXNfdG9fc2cob2JqLT5kZXYs IGJvLT50Ym8udHRtLT5wYWdlcywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm8tPnRiby50dG0tPm51bV9wYWdlcyk7Cj4gIH0KPgo+ICBzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKnJhZGVvbl9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3RyYWNlLmgg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90cmFjZS5oCj4gaW5kZXggYzkzZjNhYjNj NGUzLi4xNzI5Y2I5YTk1YzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fdHJhY2UuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3RyYWNl LmgKPiBAQCAtMjIsNyArMjIsNyBAQCBUUkFDRV9FVkVOVChyYWRlb25fYm9fY3JlYXRlLAo+Cj4g ICAgICAgICAgICAgVFBfZmFzdF9hc3NpZ24oCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg X19lbnRyeS0+Ym8gPSBibzsKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICBfX2VudHJ5LT5w YWdlcyA9IGJvLT50Ym8ubnVtX3BhZ2VzOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIF9f ZW50cnktPnBhZ2VzID0gYm8tPnRiby5tZW0ubnVtX3BhZ2VzOwo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICksCj4gICAgICAgICAgICAgVFBfcHJpbnRrKCJibz0lcCwgcGFnZXM9JXUiLCBf X2VudHJ5LT5ibywgX19lbnRyeS0+cGFnZXMpCj4gICk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fdHRtLmMKPiBpbmRleCBhMzQzMmM2MzQzYmEuLmVhMzY1YWM2ZjRmMSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCj4gQEAgLTI3NCw3ICsyNzQsNyBAQCBzdGF0aWMgaW50 IHJhZGVvbl9ib19tb3ZlKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sIGJvb2wgZXZpY3Qs Cj4KPiAgb3V0Ogo+ICAgICAgICAgLyogdXBkYXRlIHN0YXRpc3RpY3MgKi8KPiAtICAgICAgIGF0 b21pYzY0X2FkZCgodTY0KWJvLT5udW1fcGFnZXMgPDwgUEFHRV9TSElGVCwgJnJkZXYtPm51bV9i eXRlc19tb3ZlZCk7Cj4gKyAgICAgICBhdG9taWM2NF9hZGQoYm8tPmJhc2Uuc2l6ZSwgJnJkZXYt Pm51bV9ieXRlc19tb3ZlZCk7Cj4gICAgICAgICByYWRlb25fYm9fbW92ZV9ub3RpZnkoYm8sIGV2 aWN0LCBuZXdfbWVtKTsKPiAgICAgICAgIHJldHVybiAwOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5j Cj4gaW5kZXggMDJjYzVkMjQ3YzBkLi4yMTk2ZTNkM2VmMjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3R0bS90dG1fYm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2Jv LmMKPiBAQCAtNzIsOSArNzIsOSBAQCBzdGF0aWMgdm9pZCB0dG1fYm9fbWVtX3NwYWNlX2RlYnVn KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICAgICAgICBzdHJ1Y3QgdHRtX3Jlc291 cmNlX21hbmFnZXIgKm1hbjsKPiAgICAgICAgIGludCBpLCBtZW1fdHlwZTsKPgo+IC0gICAgICAg ZHJtX3ByaW50ZigmcCwgIk5vIHNwYWNlIGZvciAlcCAoJWx1IHBhZ2VzLCAlbHVLLCAlbHVNKVxu IiwKPiAtICAgICAgICAgICAgICAgICAgYm8sIGJvLT5tZW0ubnVtX3BhZ2VzLCBiby0+bWVtLnNp emUgPj4gMTAsCj4gLSAgICAgICAgICAgICAgICAgIGJvLT5tZW0uc2l6ZSA+PiAyMCk7Cj4gKyAg ICAgICBkcm1fcHJpbnRmKCZwLCAiTm8gc3BhY2UgZm9yICVwICglbHUgcGFnZXMsICV6dUssICV6 dU0pXG4iLAo+ICsgICAgICAgICAgICAgICAgICBibywgYm8tPm1lbS5udW1fcGFnZXMsIGJvLT5i YXNlLnNpemUgPj4gMTAsCj4gKyAgICAgICAgICAgICAgICAgIGJvLT5iYXNlLnNpemUgPj4gMjAp Owo+ICAgICAgICAgZm9yIChpID0gMDsgaSA8IHBsYWNlbWVudC0+bnVtX3BsYWNlbWVudDsgaSsr KSB7Cj4gICAgICAgICAgICAgICAgIG1lbV90eXBlID0gcGxhY2VtZW50LT5wbGFjZW1lbnRbaV0u bWVtX3R5cGU7Cj4gICAgICAgICAgICAgICAgIGRybV9wcmludGYoJnAsICIgIHBsYWNlbWVudFsl ZF09MHglMDhYICglZClcbiIsCj4gQEAgLTI2OCw3ICsyNjgsNyBAQCBzdGF0aWMgaW50IHR0bV9i b19oYW5kbGVfbW92ZV9tZW0oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgICAgICAg ICAgICAgICAgZ290byBvdXRfZXJyOwo+ICAgICAgICAgfQo+Cj4gLSAgICAgICBjdHgtPmJ5dGVz X21vdmVkICs9IGJvLT5udW1fcGFnZXMgPDwgUEFHRV9TSElGVDsKPiArICAgICAgIGN0eC0+Ynl0 ZXNfbW92ZWQgKz0gYm8tPmJhc2Uuc2l6ZTsKPiAgICAgICAgIHJldHVybiAwOwo+Cj4gIG91dF9l cnI6Cj4gQEAgLTk4NSw4ICs5ODUsNyBAQCBzdGF0aWMgaW50IHR0bV9ib19tb3ZlX2J1ZmZlcihz dHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+Cj4gICAgICAgICBtZW1zZXQoJmhvcCwgMCwg c2l6ZW9mKGhvcCkpOwo+Cj4gLSAgICAgICBtZW0ubnVtX3BhZ2VzID0gYm8tPm51bV9wYWdlczsK PiAtICAgICAgIG1lbS5zaXplID0gbWVtLm51bV9wYWdlcyA8PCBQQUdFX1NISUZUOwo+ICsgICAg ICAgbWVtLm51bV9wYWdlcyA9IFBBR0VfQUxJR04oYm8tPmJhc2Uuc2l6ZSkgPj4gUEFHRV9TSElG VDsKPiAgICAgICAgIG1lbS5wYWdlX2FsaWdubWVudCA9IGJvLT5tZW0ucGFnZV9hbGlnbm1lbnQ7 Cj4gICAgICAgICBtZW0uYnVzLm9mZnNldCA9IDA7Cj4gICAgICAgICBtZW0uYnVzLmFkZHIgPSBO VUxMOwo+IEBAIC0xMTAyLDcgKzExMDEsNyBAQCBFWFBPUlRfU1lNQk9MKHR0bV9ib192YWxpZGF0 ZSk7Cj4KPiAgaW50IHR0bV9ib19pbml0X3Jlc2VydmVkKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpi ZGV2LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qg KmJvLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemUsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaXplLAo+ICAgICAgICAgICAgICAgICAgICAg ICAgICBlbnVtIHR0bV9ib190eXBlIHR5cGUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB0dG1fcGxhY2VtZW50ICpwbGFjZW1lbnQsCj4gICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IHBhZ2VfYWxpZ25tZW50LAo+IEBAIC0xMTEzLDkgKzExMTIsOCBAQCBpbnQgdHRt X2JvX2luaXRfcmVzZXJ2ZWQoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4gICAgICAgICAg ICAgICAgICAgICAgICAgIHZvaWQgKCpkZXN0cm95KSAoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0 ICopKQo+ICB7Cj4gICAgICAgICBzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgKm1lbV9nbG9iID0gJnR0 bV9tZW1fZ2xvYjsKPiAtICAgICAgIGludCByZXQgPSAwOwo+IC0gICAgICAgdW5zaWduZWQgbG9u ZyBudW1fcGFnZXM7Cj4gICAgICAgICBib29sIGxvY2tlZDsKPiArICAgICAgIGludCByZXQgPSAw Owo+Cj4gICAgICAgICByZXQgPSB0dG1fbWVtX2dsb2JhbF9hbGxvYyhtZW1fZ2xvYiwgYWNjX3Np emUsIGN0eCk7Cj4gICAgICAgICBpZiAocmV0KSB7Cj4gQEAgLTExMjcsMTYgKzExMjUsNiBAQCBp bnQgdHRtX2JvX2luaXRfcmVzZXJ2ZWQoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4gICAg ICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ICAgICAgICAgfQo+Cj4gLSAgICAgICBudW1f cGFnZXMgPSAoc2l6ZSArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7Cj4gLSAgICAgICBp ZiAobnVtX3BhZ2VzID09IDApIHsKPiAtICAgICAgICAgICAgICAgcHJfZXJyKCJJbGxlZ2FsIGJ1 ZmZlciBvYmplY3Qgc2l6ZVxuIik7Cj4gLSAgICAgICAgICAgICAgIGlmIChkZXN0cm95KQo+IC0g ICAgICAgICAgICAgICAgICAgICAgICgqZGVzdHJveSkoYm8pOwo+IC0gICAgICAgICAgICAgICBl bHNlCj4gLSAgICAgICAgICAgICAgICAgICAgICAga2ZyZWUoYm8pOwo+IC0gICAgICAgICAgICAg ICB0dG1fbWVtX2dsb2JhbF9mcmVlKG1lbV9nbG9iLCBhY2Nfc2l6ZSk7Cj4gLSAgICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOwo+IC0gICAgICAgfQo+ICAgICAgICAgYm8tPmRlc3Ryb3kgPSBk ZXN0cm95ID8gZGVzdHJveSA6IHR0bV9ib19kZWZhdWx0X2Rlc3Ryb3k7Cj4KPiAgICAgICAgIGty ZWZfaW5pdCgmYm8tPmtyZWYpOwo+IEBAIC0xMTQ1LDEwICsxMTMzLDggQEAgaW50IHR0bV9ib19p bml0X3Jlc2VydmVkKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+ICAgICAgICAgSU5JVF9M SVNUX0hFQUQoJmJvLT5zd2FwKTsKPiAgICAgICAgIGJvLT5iZGV2ID0gYmRldjsKPiAgICAgICAg IGJvLT50eXBlID0gdHlwZTsKPiAtICAgICAgIGJvLT5udW1fcGFnZXMgPSBudW1fcGFnZXM7Cj4g LSAgICAgICBiby0+bWVtLnNpemUgPSBudW1fcGFnZXMgPDwgUEFHRV9TSElGVDsKPiAgICAgICAg IGJvLT5tZW0ubWVtX3R5cGUgPSBUVE1fUExfU1lTVEVNOwo+IC0gICAgICAgYm8tPm1lbS5udW1f cGFnZXMgPSBiby0+bnVtX3BhZ2VzOwo+ICsgICAgICAgYm8tPm1lbS5udW1fcGFnZXMgPSBQQUdF X0FMSUdOKHNpemUpID4+IFBBR0VfU0hJRlQ7Cj4gICAgICAgICBiby0+bWVtLm1tX25vZGUgPSBO VUxMOwo+ICAgICAgICAgYm8tPm1lbS5wYWdlX2FsaWdubWVudCA9IHBhZ2VfYWxpZ25tZW50Owo+ ICAgICAgICAgYm8tPm1lbS5idXMub2Zmc2V0ID0gMDsKPiBAQCAtMTE2Niw5ICsxMTUyLDEwIEBA IGludCB0dG1fYm9faW5pdF9yZXNlcnZlZChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiAg ICAgICAgIH0KPiAgICAgICAgIGlmICghdHRtX2JvX3VzZXNfZW1iZWRkZWRfZ2VtX29iamVjdChi bykpIHsKPiAgICAgICAgICAgICAgICAgLyoKPiAtICAgICAgICAgICAgICAgICogYm8uZ2VtIGlz IG5vdCBpbml0aWFsaXplZCwgc28gd2UgaGF2ZSB0byBzZXR1cCB0aGUKPiArICAgICAgICAgICAg ICAgICogYm8uYmFzZSBpcyBub3QgaW5pdGlhbGl6ZWQsIHNvIHdlIGhhdmUgdG8gc2V0dXAgdGhl Cj4gICAgICAgICAgICAgICAgICAqIHN0cnVjdCBlbGVtZW50cyB3ZSB3YW50IHVzZSByZWdhcmRs ZXNzLgo+ICAgICAgICAgICAgICAgICAgKi8KPiArICAgICAgICAgICAgICAgYm8tPmJhc2Uuc2l6 ZSA9IHNpemU7Cj4gICAgICAgICAgICAgICAgIGRtYV9yZXN2X2luaXQoJmJvLT5iYXNlLl9yZXN2 KTsKPiAgICAgICAgICAgICAgICAgZHJtX3ZtYV9ub2RlX3Jlc2V0KCZiby0+YmFzZS52bWFfbm9k ZSk7Cj4gICAgICAgICB9Cj4gQEAgLTEyMTAsNyArMTE5Nyw3IEBAIEVYUE9SVF9TWU1CT0wodHRt X2JvX2luaXRfcmVzZXJ2ZWQpOwo+Cj4gIGludCB0dG1fYm9faW5pdChzdHJ1Y3QgdHRtX2JvX2Rl dmljZSAqYmRldiwKPiAgICAgICAgICAgICAgICAgc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpi bywKPiAtICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplLAo+ICsgICAgICAgICAgICAg ICBzaXplX3Qgc2l6ZSwKPiAgICAgICAgICAgICAgICAgZW51bSB0dG1fYm9fdHlwZSB0eXBlLAo+ ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHRtX3BsYWNlbWVudCAqcGxhY2VtZW50LAo+ICAgICAg ICAgICAgICAgICB1aW50MzJfdCBwYWdlX2FsaWdubWVudCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9f dXRpbC5jCj4gaW5kZXggNWJiYzEzMzlkMjhlLi4zOThkNTAxM2ZjMzkgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3R0bS90dG1fYm9fdXRpbC5jCj4gQEAgLTQzMSw5ICs0MzEsOSBAQCBpbnQgdHRtX2JvX2ttYXAo c3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPgo+ICAgICAgICAgbWFwLT52aXJ0dWFsID0g TlVMTDsKPiAgICAgICAgIG1hcC0+Ym8gPSBibzsKPiAtICAgICAgIGlmIChudW1fcGFnZXMgPiBi by0+bnVtX3BhZ2VzKQo+ICsgICAgICAgaWYgKG51bV9wYWdlcyA+IGJvLT5tZW0ubnVtX3BhZ2Vz KQo+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAtICAgICAgIGlmIChzdGFydF9w YWdlID4gYm8tPm51bV9wYWdlcykKPiArICAgICAgIGlmICgoc3RhcnRfcGFnZSArIG51bV9wYWdl cykgPiBiby0+bWVtLm51bV9wYWdlcykKPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 Cj4KPiAgICAgICAgIHJldCA9IHR0bV9tZW1faW9fcmVzZXJ2ZShiby0+YmRldiwgJmJvLT5tZW0p Owo+IEBAIC00ODUsMTQgKzQ4NSwxNCBAQCBpbnQgdHRtX2JvX3ZtYXAoc3RydWN0IHR0bV9idWZm ZXJfb2JqZWN0ICpibywgc3RydWN0IGRtYV9idWZfbWFwICptYXApCj4KPiAgICAgICAgIGlmICht ZW0tPmJ1cy5pc19pb21lbSkgewo+ICAgICAgICAgICAgICAgICB2b2lkIF9faW9tZW0gKnZhZGRy X2lvbWVtOwo+IC0gICAgICAgICAgICAgICBzaXplX3Qgc2l6ZSA9IGJvLT5udW1fcGFnZXMgPDwg UEFHRV9TSElGVDsKPgo+ICAgICAgICAgICAgICAgICBpZiAobWVtLT5idXMuYWRkcikKPiAgICAg ICAgICAgICAgICAgICAgICAgICB2YWRkcl9pb21lbSA9ICh2b2lkIF9faW9tZW0gKiltZW0tPmJ1 cy5hZGRyOwo+ICAgICAgICAgICAgICAgICBlbHNlIGlmIChtZW0tPmJ1cy5jYWNoaW5nID09IHR0 bV93cml0ZV9jb21iaW5lZCkKPiAtICAgICAgICAgICAgICAgICAgICAgICB2YWRkcl9pb21lbSA9 IGlvcmVtYXBfd2MobWVtLT5idXMub2Zmc2V0LCBzaXplKTsKPiArICAgICAgICAgICAgICAgICAg ICAgICB2YWRkcl9pb21lbSA9IGlvcmVtYXBfd2MobWVtLT5idXMub2Zmc2V0LAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiby0+YmFzZS5zaXplKTsK PiAgICAgICAgICAgICAgICAgZWxzZQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHZhZGRyX2lv bWVtID0gaW9yZW1hcChtZW0tPmJ1cy5vZmZzZXQsIHNpemUpOwo+ICsgICAgICAgICAgICAgICAg ICAgICAgIHZhZGRyX2lvbWVtID0gaW9yZW1hcChtZW0tPmJ1cy5vZmZzZXQsIGJvLT5iYXNlLnNp emUpOwo+Cj4gICAgICAgICAgICAgICAgIGlmICghdmFkZHJfaW9tZW0pCj4gICAgICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gQEAgLTUxNyw3ICs1MTcsNyBAQCBpbnQgdHRt X2JvX3ZtYXAoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywgc3RydWN0IGRtYV9idWZfbWFw ICptYXApCj4gICAgICAgICAgICAgICAgICAqIG9yIHRvIG1ha2UgdGhlIGJ1ZmZlciBvYmplY3Qg bG9vayBjb250aWd1b3VzLgo+ICAgICAgICAgICAgICAgICAgKi8KPiAgICAgICAgICAgICAgICAg cHJvdCA9IHR0bV9pb19wcm90KGJvLCBtZW0sIFBBR0VfS0VSTkVMKTsKPiAtICAgICAgICAgICAg ICAgdmFkZHIgPSB2bWFwKHR0bS0+cGFnZXMsIGJvLT5udW1fcGFnZXMsIDAsIHByb3QpOwo+ICsg ICAgICAgICAgICAgICB2YWRkciA9IHZtYXAodHRtLT5wYWdlcywgdHRtLT5udW1fcGFnZXMsIDAs IHByb3QpOwo+ICAgICAgICAgICAgICAgICBpZiAoIXZhZGRyKQo+ICAgICAgICAgICAgICAgICAg ICAgICAgIHJldHVybiAtRU5PTUVNOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvX3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib192bS5jCj4gaW5kZXgg MTQ0YTQ5NDBiNmI2Li42ZGM5NmNmNjY3NDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3R0bS90dG1fYm9fdm0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX3ZtLmMK PiBAQCAtMTk4LDcgKzE5OCw3IEBAIHN0YXRpYyB2bV9mYXVsdF90IHR0bV9ib192bV9pbnNlcnRf aHVnZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZiwKPgo+ICAgICAgICAgLyogRmF1bHQgc2hvdWxkIG5v dCBjcm9zcyBibyBib3VuZGFyeS4gKi8KPiAgICAgICAgIHBhZ2Vfb2Zmc2V0ICY9IH4oZmF1bHRf cGFnZV9zaXplIC0gMSk7Cj4gLSAgICAgICBpZiAocGFnZV9vZmZzZXQgKyBmYXVsdF9wYWdlX3Np emUgPiBiby0+bnVtX3BhZ2VzKQo+ICsgICAgICAgaWYgKHBhZ2Vfb2Zmc2V0ICsgZmF1bHRfcGFn ZV9zaXplID4gYm8tPm1lbS5udW1fcGFnZXMpCj4gICAgICAgICAgICAgICAgIGdvdG8gb3V0X2Zh bGxiYWNrOwo+Cj4gICAgICAgICBpZiAoYm8tPm1lbS5idXMuaXNfaW9tZW0pCj4gQEAgLTMwNiw3 ICszMDYsNyBAQCB2bV9mYXVsdF90IHR0bV9ib192bV9mYXVsdF9yZXNlcnZlZChzdHJ1Y3Qgdm1f ZmF1bHQgKnZtZiwKPiAgICAgICAgIHBhZ2VfbGFzdCA9IHZtYV9wYWdlcyh2bWEpICsgdm1hLT52 bV9wZ29mZiAtCj4gICAgICAgICAgICAgICAgIGRybV92bWFfbm9kZV9zdGFydCgmYm8tPmJhc2Uu dm1hX25vZGUpOwo+Cj4gLSAgICAgICBpZiAodW5saWtlbHkocGFnZV9vZmZzZXQgPj0gYm8tPm51 bV9wYWdlcykpCj4gKyAgICAgICBpZiAodW5saWtlbHkocGFnZV9vZmZzZXQgPj0gYm8tPm1lbS5u dW1fcGFnZXMpKQo+ICAgICAgICAgICAgICAgICByZXR1cm4gVk1fRkFVTFRfU0lHQlVTOwo+Cj4g ICAgICAgICBwcm90ID0gdHRtX2lvX3Byb3QoYm8sICZiby0+bWVtLCBwcm90KTsKPiBAQCAtNDY5 LDcgKzQ2OSw3IEBAIGludCB0dG1fYm9fdm1fYWNjZXNzKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq dm1hLCB1bnNpZ25lZCBsb25nIGFkZHIsCj4gICAgICAgICAgICAgICAgICA8PCBQQUdFX1NISUZU KTsKPiAgICAgICAgIGludCByZXQ7Cj4KPiAtICAgICAgIGlmIChsZW4gPCAxIHx8IChvZmZzZXQg KyBsZW4pID4+IFBBR0VfU0hJRlQgPiBiby0+bnVtX3BhZ2VzKQo+ICsgICAgICAgaWYgKGxlbiA8 IDEgfHwgKG9mZnNldCArIGxlbikgPj4gUEFHRV9TSElGVCA+IGJvLT5tZW0ubnVtX3BhZ2VzKQo+ ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTzsKPgo+ICAgICAgICAgcmV0ID0gdHRtX2JvX3Jl c2VydmUoYm8sIHRydWUsIGZhbHNlLCBOVUxMKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fdHQuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3R0LmMKPiBpbmRleCA3 N2JhNzg0NDI1ZGQuLjdmNzVhMTMxNjNmMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v dHRtL3R0bV90dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fdHQuYwo+IEBAIC0x MjksNyArMTI5LDcgQEAgc3RhdGljIHZvaWQgdHRtX3R0X2luaXRfZmllbGRzKHN0cnVjdCB0dG1f dHQgKnR0bSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcGFnZV9m bGFncywKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSB0dG1fY2FjaGluZyBj YWNoaW5nKQo+ICB7Cj4gLSAgICAgICB0dG0tPm51bV9wYWdlcyA9IGJvLT5udW1fcGFnZXM7Cj4g KyAgICAgICB0dG0tPm51bV9wYWdlcyA9IFBBR0VfQUxJR04oYm8tPmJhc2Uuc2l6ZSkgPj4gUEFH RV9TSElGVDsKPiAgICAgICAgIHR0bS0+Y2FjaGluZyA9IHR0bV9jYWNoZWQ7Cj4gICAgICAgICB0 dG0tPnBhZ2VfZmxhZ3MgPSBwYWdlX2ZsYWdzOwo+ICAgICAgICAgdHRtLT5kbWFfYWRkcmVzcyA9 IE5VTEw7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2JsaXQu YyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2JsaXQuYwo+IGluZGV4IGYyMTg4MWUw ODdkYi4uOWYyNzc5ZGRjZjA4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2JsaXQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2JsaXQu Ywo+IEBAIC00ODIsOCArNDgyLDggQEAgaW50IHZtd19ib19jcHVfYmxpdChzdHJ1Y3QgdHRtX2J1 ZmZlcl9vYmplY3QgKmRzdCwKPiAgICAgICAgIGQuc3JjX2FkZHIgPSBOVUxMOwo+ICAgICAgICAg ZC5kc3RfcGFnZXMgPSBkc3QtPnR0bS0+cGFnZXM7Cj4gICAgICAgICBkLnNyY19wYWdlcyA9IHNy Yy0+dHRtLT5wYWdlczsKPiAtICAgICAgIGQuZHN0X251bV9wYWdlcyA9IGRzdC0+bnVtX3BhZ2Vz Owo+IC0gICAgICAgZC5zcmNfbnVtX3BhZ2VzID0gc3JjLT5udW1fcGFnZXM7Cj4gKyAgICAgICBk LmRzdF9udW1fcGFnZXMgPSBkc3QtPm1lbS5udW1fcGFnZXM7Cj4gKyAgICAgICBkLnNyY19udW1f cGFnZXMgPSBzcmMtPm1lbS5udW1fcGFnZXM7Cj4gICAgICAgICBkLmRzdF9wcm90ID0gdHRtX2lv X3Byb3QoZHN0LCAmZHN0LT5tZW0sIFBBR0VfS0VSTkVMKTsKPiAgICAgICAgIGQuc3JjX3Byb3Qg PSB0dG1faW9fcHJvdChzcmMsICZzcmMtPm1lbSwgUEFHRV9LRVJORUwpOwo+ICAgICAgICAgZC5k aWZmID0gZGlmZjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf Ym8uYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2JvLmMKPiBpbmRleCAyNjNkNzZh ZTQzZjAuLjYzZGJjNDRlZWJlMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9iby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYm8uYwo+ IEBAIC0yMjMsNyArMjIzLDcgQEAgaW50IHZtd19ib19waW5faW5fc3RhcnRfb2ZfdnJhbShzdHJ1 Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgICAgICAgdWludDMyX3QgbmV3X2ZsYWdzOwo+ Cj4gICAgICAgICBwbGFjZSA9IHZtd192cmFtX3BsYWNlbWVudC5wbGFjZW1lbnRbMF07Cj4gLSAg ICAgICBwbGFjZS5scGZuID0gYm8tPm51bV9wYWdlczsKPiArICAgICAgIHBsYWNlLmxwZm4gPSBi by0+bWVtLm51bV9wYWdlczsKPiAgICAgICAgIHBsYWNlbWVudC5udW1fcGxhY2VtZW50ID0gMTsK PiAgICAgICAgIHBsYWNlbWVudC5wbGFjZW1lbnQgPSAmcGxhY2U7Cj4gICAgICAgICBwbGFjZW1l bnQubnVtX2J1c3lfcGxhY2VtZW50ID0gMTsKPiBAQCAtMjQ0LDcgKzI0NCw3IEBAIGludCB2bXdf Ym9fcGluX2luX3N0YXJ0X29mX3ZyYW0oc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKPiAg ICAgICAgICAqIHRoYXQgc2l0dWF0aW9uLgo+ICAgICAgICAgICovCj4gICAgICAgICBpZiAoYm8t Pm1lbS5tZW1fdHlwZSA9PSBUVE1fUExfVlJBTSAmJgo+IC0gICAgICAgICAgIGJvLT5tZW0uc3Rh cnQgPCBiby0+bnVtX3BhZ2VzICYmCj4gKyAgICAgICAgICAgYm8tPm1lbS5zdGFydCA8IGJvLT5t ZW0ubnVtX3BhZ2VzICYmCj4gICAgICAgICAgICAgYm8tPm1lbS5zdGFydCA+IDAgJiYKPiAgICAg ICAgICAgICBidWYtPmJhc2UucGluX2NvdW50ID09IDApIHsKPiAgICAgICAgICAgICAgICAgY3R4 LmludGVycnVwdGlibGUgPSBmYWxzZTsKPiBAQCAtMzkxLDcgKzM5MSw3IEBAIHZvaWQgKnZtd19i b19tYXBfYW5kX2NhY2hlKHN0cnVjdCB2bXdfYnVmZmVyX29iamVjdCAqdmJvKQo+ICAgICAgICAg aWYgKHZpcnR1YWwpCj4gICAgICAgICAgICAgICAgIHJldHVybiB2aXJ0dWFsOwo+Cj4gLSAgICAg ICByZXQgPSB0dG1fYm9fa21hcChibywgMCwgYm8tPm51bV9wYWdlcywgJnZiby0+bWFwKTsKPiAr ICAgICAgIHJldCA9IHR0bV9ib19rbWFwKGJvLCAwLCBiby0+bWVtLm51bV9wYWdlcywgJnZiby0+ bWFwKTsKPiAgICAgICAgIGlmIChyZXQpCj4gICAgICAgICAgICAgICAgIERSTV9FUlJPUigiQnVm ZmVyIG9iamVjdCBtYXAgZmFpbGVkOiAlZC5cbiIsIHJldCk7Cj4KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY290YWJsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfY290YWJsZS5jCj4gaW5kZXggOTg0ZDg4ODQzNTdkLi5hMDc3ZTQyMGQyZmYg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY290YWJsZS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY290YWJsZS5jCj4gQEAgLTQzMCw3 ICs0MzAsNyBAQCBzdGF0aWMgaW50IHZtd19jb3RhYmxlX3Jlc2l6ZShzdHJ1Y3Qgdm13X3Jlc291 cmNlICpyZXMsIHNpemVfdCBuZXdfc2l6ZSkKPiAgICAgICAgICAqIERvIGEgcGFnZSBieSBwYWdl IGNvcHkgb2YgQ09UYWJsZXMuIFRoaXMgZWxpbWluYXRlcyBzbG93IHZtYXAoKXMuCj4gICAgICAg ICAgKiBUaGlzIHNob3VsZCByZWFsbHkgYmUgYSBUVE0gdXRpbGl0eS4KPiAgICAgICAgICAqLwo+ IC0gICAgICAgZm9yIChpID0gMDsgaSA8IG9sZF9iby0+bnVtX3BhZ2VzOyArK2kpIHsKPiArICAg ICAgIGZvciAoaSA9IDA7IGkgPCBvbGRfYm8tPm1lbS5udW1fcGFnZXM7ICsraSkgewo+ICAgICAg ICAgICAgICAgICBib29sIGR1bW15Owo+Cj4gICAgICAgICAgICAgICAgIHJldCA9IHR0bV9ib19r bWFwKG9sZF9ibywgaSwgMSwgJm9sZF9tYXApOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9leGVjYnVmLmMKPiBpbmRleCBlNjdlMmU4ZjZlNmYuLjZjMDE2MDAxNzIxZCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMKPiBAQCAtMTA0Miw3ICsxMDQyLDcg QEAgc3RhdGljIGludCB2bXdfcXVlcnlfYm9fc3dpdGNoX3ByZXBhcmUoc3RydWN0IHZtd19wcml2 YXRlICpkZXZfcHJpdiwKPgo+ICAgICAgICAgaWYgKHVubGlrZWx5KG5ld19xdWVyeV9ibyAhPSBz d19jb250ZXh0LT5jdXJfcXVlcnlfYm8pKSB7Cj4KPiAtICAgICAgICAgICAgICAgaWYgKHVubGlr ZWx5KG5ld19xdWVyeV9iby0+YmFzZS5udW1fcGFnZXMgPiA0KSkgewo+ICsgICAgICAgICAgICAg ICBpZiAodW5saWtlbHkobmV3X3F1ZXJ5X2JvLT5iYXNlLm1lbS5udW1fcGFnZXMgPiA0KSkgewo+ ICAgICAgICAgICAgICAgICAgICAgICAgIFZNV19ERUJVR19VU0VSKCJRdWVyeSBidWZmZXIgdG9v IGxhcmdlLlxuIik7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4g ICAgICAgICAgICAgICAgIH0KPiBAQCAtMTU0MSw3ICsxNTQxLDcgQEAgc3RhdGljIGludCB2bXdf Y21kX2RtYShzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgICAgICAgICAgICAgICBy ZXR1cm4gcmV0Owo+Cj4gICAgICAgICAvKiBNYWtlIHN1cmUgRE1BIGRvZXNuJ3QgY3Jvc3MgQk8g Ym91bmRhcmllcy4gKi8KPiAtICAgICAgIGJvX3NpemUgPSB2bXdfYm8tPmJhc2UubnVtX3BhZ2Vz ICogUEFHRV9TSVpFOwo+ICsgICAgICAgYm9fc2l6ZSA9IHZtd19iby0+YmFzZS5iYXNlLnNpemU7 Cj4gICAgICAgICBpZiAodW5saWtlbHkoY21kLT5ib2R5Lmd1ZXN0LnB0ci5vZmZzZXQgPiBib19z aXplKSkgewo+ICAgICAgICAgICAgICAgICBWTVdfREVCVUdfVVNFUigiSW52YWxpZCBETUEgb2Zm c2V0LlxuIik7Cj4gICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9nbXJpZF9tYW5hZ2VyLmMgYi9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9nbXJpZF9tYW5hZ2VyLmMKPiBpbmRleCA4ZmUyNmUzMmY5 MjAuLjE3NzQ5NjBkMWI4OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9nbXJpZF9tYW5hZ2VyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9nbXJpZF9tYW5hZ2VyLmMKPiBAQCAtNjQsMjAgKzY0LDE5IEBAIHN0YXRpYyBpbnQgdm13X2dt cmlkX21hbl9nZXRfbm9kZShzdHJ1Y3QgdHRtX3Jlc291cmNlX21hbmFnZXIgKm1hbiwKPiAgICAg ICAgIHNwaW5fbG9jaygmZ21hbi0+bG9jayk7Cj4KPiAgICAgICAgIGlmIChnbWFuLT5tYXhfZ21y X3BhZ2VzID4gMCkgewo+IC0gICAgICAgICAgICAgICBnbWFuLT51c2VkX2dtcl9wYWdlcyArPSBi by0+bnVtX3BhZ2VzOwo+ICsgICAgICAgICAgICAgICBnbWFuLT51c2VkX2dtcl9wYWdlcyArPSBt ZW0tPm51bV9wYWdlczsKPiAgICAgICAgICAgICAgICAgaWYgKHVubGlrZWx5KGdtYW4tPnVzZWRf Z21yX3BhZ2VzID4gZ21hbi0+bWF4X2dtcl9wYWdlcykpCj4gICAgICAgICAgICAgICAgICAgICAg ICAgZ290byBub3NwYWNlOwo+ICAgICAgICAgfQo+Cj4gICAgICAgICBtZW0tPm1tX25vZGUgPSBn bWFuOwo+ICAgICAgICAgbWVtLT5zdGFydCA9IGlkOwo+IC0gICAgICAgbWVtLT5udW1fcGFnZXMg PSBiby0+bnVtX3BhZ2VzOwo+Cj4gICAgICAgICBzcGluX3VubG9jaygmZ21hbi0+bG9jayk7Cj4g ICAgICAgICByZXR1cm4gMDsKPgo+ICBub3NwYWNlOgo+IC0gICAgICAgZ21hbi0+dXNlZF9nbXJf cGFnZXMgLT0gYm8tPm51bV9wYWdlczsKPiArICAgICAgIGdtYW4tPnVzZWRfZ21yX3BhZ2VzIC09 IG1lbS0+bnVtX3BhZ2VzOwo+ICAgICAgICAgc3Bpbl91bmxvY2soJmdtYW4tPmxvY2spOwo+ICAg ICAgICAgaWRhX2ZyZWUoJmdtYW4tPmdtcl9pZGEsIGlkKTsKPiAgICAgICAgIHJldHVybiAtRU5P U1BDOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyBi L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCj4gaW5kZXggYmM2N2YyYjkzMGUx Li43ZGM5NjEyNWU1YzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn Znhfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwo+IEBA IC0xMjIwLDcgKzEyMjAsNyBAQCBzdGF0aWMgaW50IHZtd19rbXNfbmV3X2ZyYW1lYnVmZmVyX2Jv KHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAgICAgICBpbnQgcmV0Owo+Cj4gICAg ICAgICByZXF1ZXN0ZWRfc2l6ZSA9IG1vZGVfY21kLT5oZWlnaHQgKiBtb2RlX2NtZC0+cGl0Y2hl c1swXTsKPiAtICAgICAgIGlmICh1bmxpa2VseShyZXF1ZXN0ZWRfc2l6ZSA+IGJvLT5iYXNlLm51 bV9wYWdlcyAqIFBBR0VfU0laRSkpIHsKPiArICAgICAgIGlmICh1bmxpa2VseShyZXF1ZXN0ZWRf c2l6ZSA+IGJvLT5iYXNlLmJhc2Uuc2l6ZSkpIHsKPiAgICAgICAgICAgICAgICAgRFJNX0VSUk9S KCJTY3JlZW4gYnVmZmVyIG9iamVjdCBzaXplIGlzIHRvbyBzbWFsbCAiCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAiZm9yIHJlcXVlc3RlZCBtb2RlLlxuIik7Cj4gICAgICAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9wYWdlX2RpcnR5LmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9wYWdlX2Rp cnR5LmMKPiBpbmRleCAwYjc2YjNkMTdkNGMuLjBhOTAwYWZjNjZmZiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9wYWdlX2RpcnR5LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9wYWdlX2RpcnR5LmMKPiBAQCAtMjMyLDcgKzIzMiw3IEBA IHZvaWQgdm13X2JvX2RpcnR5X3VubWFwKHN0cnVjdCB2bXdfYnVmZmVyX29iamVjdCAqdmJvLAo+ ICBpbnQgdm13X2JvX2RpcnR5X2FkZChzdHJ1Y3Qgdm13X2J1ZmZlcl9vYmplY3QgKnZibykKPiAg ewo+ICAgICAgICAgc3RydWN0IHZtd19ib19kaXJ0eSAqZGlydHkgPSB2Ym8tPmRpcnR5Owo+IC0g ICAgICAgcGdvZmZfdCBudW1fcGFnZXMgPSB2Ym8tPmJhc2UubnVtX3BhZ2VzOwo+ICsgICAgICAg cGdvZmZfdCBudW1fcGFnZXMgPSB2Ym8tPmJhc2UubWVtLm51bV9wYWdlczsKPiAgICAgICAgIHNp emVfdCBzaXplLCBhY2Nfc2l6ZTsKPiAgICAgICAgIGludCByZXQ7Cj4gICAgICAgICBzdGF0aWMg c3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsKPiBAQCAtNDEzLDcgKzQxMyw3IEBAIHZt X2ZhdWx0X3Qgdm13X2JvX3ZtX21rd3JpdGUoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCj4gICAgICAg ICAgICAgICAgIHJldHVybiByZXQ7Cj4KPiAgICAgICAgIHBhZ2Vfb2Zmc2V0ID0gdm1mLT5wZ29m ZiAtIGRybV92bWFfbm9kZV9zdGFydCgmYm8tPmJhc2Uudm1hX25vZGUpOwo+IC0gICAgICAgaWYg KHVubGlrZWx5KHBhZ2Vfb2Zmc2V0ID49IGJvLT5udW1fcGFnZXMpKSB7Cj4gKyAgICAgICBpZiAo dW5saWtlbHkocGFnZV9vZmZzZXQgPj0gYm8tPm1lbS5udW1fcGFnZXMpKSB7Cj4gICAgICAgICAg ICAgICAgIHJldCA9IFZNX0ZBVUxUX1NJR0JVUzsKPiAgICAgICAgICAgICAgICAgZ290byBvdXRf dW5sb2NrOwo+ICAgICAgICAgfQo+IEBAIC00NTYsNyArNDU2LDcgQEAgdm1fZmF1bHRfdCB2bXdf Ym9fdm1fZmF1bHQoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCj4KPiAgICAgICAgICAgICAgICAgcGFn ZV9vZmZzZXQgPSB2bWYtPnBnb2ZmIC0KPiAgICAgICAgICAgICAgICAgICAgICAgICBkcm1fdm1h X25vZGVfc3RhcnQoJmJvLT5iYXNlLnZtYV9ub2RlKTsKPiAtICAgICAgICAgICAgICAgaWYgKHBh Z2Vfb2Zmc2V0ID49IGJvLT5udW1fcGFnZXMgfHwKPiArICAgICAgICAgICAgICAgaWYgKHBhZ2Vf b2Zmc2V0ID49IGJvLT5tZW0ubnVtX3BhZ2VzIHx8Cj4gICAgICAgICAgICAgICAgICAgICB2bXdf cmVzb3VyY2VzX2NsZWFuKHZibywgcGFnZV9vZmZzZXQsCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBhZ2Vfb2Zmc2V0ICsgUEFHRV9TSVpFLAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYWxsb3dlZF9wcmVmYXVsdCkpIHsKPiBAQCAt NTMxLDcgKzUzMSw3IEBAIHZtX2ZhdWx0X3Qgdm13X2JvX3ZtX2h1Z2VfZmF1bHQoc3RydWN0IHZt X2ZhdWx0ICp2bWYsCj4KPiAgICAgICAgICAgICAgICAgcGFnZV9vZmZzZXQgPSB2bWYtPnBnb2Zm IC0KPiAgICAgICAgICAgICAgICAgICAgICAgICBkcm1fdm1hX25vZGVfc3RhcnQoJmJvLT5iYXNl LnZtYV9ub2RlKTsKPiAtICAgICAgICAgICAgICAgaWYgKHBhZ2Vfb2Zmc2V0ID49IGJvLT5udW1f cGFnZXMgfHwKPiArICAgICAgICAgICAgICAgaWYgKHBhZ2Vfb2Zmc2V0ID49IGJvLT5tZW0ubnVt X3BhZ2VzIHx8Cj4gICAgICAgICAgICAgICAgICAgICB2bXdfcmVzb3VyY2VzX2NsZWFuKHZibywg cGFnZV9vZmZzZXQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh Z2Vfb2Zmc2V0ICsgUEFHRV9TSVpFLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmYWxsb3dlZF9wcmVmYXVsdCkpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X3Jlc291cmNlLmMKPiBpbmRleCAwMGI1MzU4MzFhN2EuLmY2ZThmZGZjNzZlNSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2UuYwo+IEBAIC0zNjAsNyArMzYw LDcgQEAgc3RhdGljIGludCB2bXdfcmVzb3VyY2VfYnVmX2FsbG9jKHN0cnVjdCB2bXdfcmVzb3Vy Y2UgKnJlcywKPiAgICAgICAgIGludCByZXQ7Cj4KPiAgICAgICAgIGlmIChsaWtlbHkocmVzLT5i YWNrdXApKSB7Cj4gLSAgICAgICAgICAgICAgIEJVR19PTihyZXMtPmJhY2t1cC0+YmFzZS5udW1f cGFnZXMgKiBQQUdFX1NJWkUgPCBzaXplKTsKPiArICAgICAgICAgICAgICAgQlVHX09OKHJlcy0+ YmFja3VwLT5iYXNlLmJhc2Uuc2l6ZSA8IHNpemUpOwo+ICAgICAgICAgICAgICAgICByZXR1cm4g MDsKPiAgICAgICAgIH0KPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9zaGFkZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3NoYWRlci5jCj4g aW5kZXggZjMyOGFhNTgzOWEyLi5lNzZhNzIwZjg0MWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfc2hhZGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9zaGFkZXIuYwo+IEBAIC04NTYsOCArODU2LDcgQEAgc3RhdGljIGludCB2bXdf c2hhZGVyX2RlZmluZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdiwKPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICAgICAgICAg ICAgICAgICB9Cj4KPiAtICAgICAgICAgICAgICAgaWYgKCh1NjQpYnVmZmVyLT5iYXNlLm51bV9w YWdlcyAqIFBBR0VfU0laRSA8Cj4gLSAgICAgICAgICAgICAgICAgICAodTY0KXNpemUgKyAodTY0 KW9mZnNldCkgewo+ICsgICAgICAgICAgICAgICBpZiAoKHU2NClidWZmZXItPmJhc2UuYmFzZS5z aXplIDwgKHU2NClzaXplICsgKHU2NClvZmZzZXQpIHsKPiAgICAgICAgICAgICAgICAgICAgICAg ICBWTVdfREVCVUdfVVNFUigiSWxsZWdhbCBidWZmZXItIG9yIHNoYWRlciBzaXplLlxuIik7Cj4g ICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsKPiAgICAgICAgICAgICAgICAg ICAgICAgICBnb3RvIG91dF9iYWRfYXJnOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9zdGR1LmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1 LmMKPiBpbmRleCA1YjA0ZWMwNDdlZjMuLjI3YWIyYzUwMzEyYiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9zdGR1LmMKPiBAQCAtNTEyLDcgKzUxMiw3IEBAIHN0YXRpYyB2b2lkIHZt d19zdGR1X2JvX2ZpZm9fY29tbWl0KHN0cnVjdCB2bXdfa21zX2RpcnR5ICpkaXJ0eSkKPiAgICAg ICAgIGNtZC0+Ym9keS5ob3N0Lm1pcG1hcCA9IDA7Cj4gICAgICAgICBjbWQtPmJvZHkudHJhbnNm ZXIgPSBkZGlydHktPnRyYW5zZmVyOwo+ICAgICAgICAgc3VmZml4LT5zdWZmaXhTaXplID0gc2l6 ZW9mKCpzdWZmaXgpOwo+IC0gICAgICAgc3VmZml4LT5tYXhpbXVtT2Zmc2V0ID0gZGRpcnR5LT5i dWYtPmJhc2UubnVtX3BhZ2VzICogUEFHRV9TSVpFOwo+ICsgICAgICAgc3VmZml4LT5tYXhpbXVt T2Zmc2V0ID0gZGRpcnR5LT5idWYtPmJhc2UuYmFzZS5zaXplOwo+Cj4gICAgICAgICBpZiAoZGRp cnR5LT50cmFuc2ZlciA9PSBTVkdBM0RfV1JJVEVfSE9TVF9WUkFNKSB7Cj4gICAgICAgICAgICAg ICAgIGJsaXRfc2l6ZSArPSBzaXplb2Yoc3RydWN0IHZtd19zdGR1X3VwZGF0ZSk7Cj4gQEAgLTEy MzgsNyArMTIzOCw3IEBAIHN0YXRpYyB1aW50MzJfdCB2bXdfc3RkdV9ib19wb3B1bGF0ZV91cGRh dGUoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgICp1cGRhdGUsCj4gICAgICAgICB2ZmJibyA9 IGNvbnRhaW5lcl9vZih1cGRhdGUtPnZmYiwgdHlwZW9mKCp2ZmJibyksIGJhc2UpOwo+Cj4gICAg ICAgICBzdWZmaXgtPnN1ZmZpeFNpemUgPSBzaXplb2YoKnN1ZmZpeCk7Cj4gLSAgICAgICBzdWZm aXgtPm1heGltdW1PZmZzZXQgPSB2ZmJiby0+YnVmZmVyLT5iYXNlLm51bV9wYWdlcyAqIFBBR0Vf U0laRTsKPiArICAgICAgIHN1ZmZpeC0+bWF4aW11bU9mZnNldCA9IHZmYmJvLT5idWZmZXItPmJh c2UuYmFzZS5zaXplOwo+Cj4gICAgICAgICB2bXdfc3RkdV9wb3B1bGF0ZV91cGRhdGUoJnN1ZmZp eFsxXSwgc3RkdS0+YmFzZS51bml0LCBiYi0+eDEsIGJiLT54MiwKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiYi0+eTEsIGJiLT55Mik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X3N1cmZhY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X3N1cmZhY2UuYwo+IGluZGV4IDM5MTRiZmVlMDUzMy4uZmE5YmUzMGJlYzZjIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N1cmZhY2UuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N1cmZhY2UuYwo+IEBAIC0xNTUwLDggKzE1 NTAsNyBAQCB2bXdfZ2Jfc3VyZmFjZV9kZWZpbmVfaW50ZXJuYWwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZXMtPmJh Y2t1cCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1c2VyX3Ny Zi0+YmFja3VwX2Jhc2UpOwo+ICAgICAgICAgICAgICAgICBpZiAocmV0ID09IDApIHsKPiAtICAg ICAgICAgICAgICAgICAgICAgICBpZiAocmVzLT5iYWNrdXAtPmJhc2UubnVtX3BhZ2VzICogUEFH RV9TSVpFIDwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLT5iYWNrdXBfc2l6ZSkg ewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMtPmJhY2t1cC0+YmFzZS5iYXNlLnNp emUgPCByZXMtPmJhY2t1cF9zaXplKSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBWTVdfREVCVUdfVVNFUigiU3VyZmFjZSBiYWNrdXAgYnVmZmVyIHRvbyBzbWFsbC5cbiIpOwo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm13X2JvX3VucmVmZXJlbmNlKCZyZXMt PmJhY2t1cCk7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtRUlOVkFM Owo+IEBAIC0xNjE0LDcgKzE2MTMsNyBAQCB2bXdfZ2Jfc3VyZmFjZV9kZWZpbmVfaW50ZXJuYWwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgICAgICAgIGlmIChyZXMtPmJhY2t1cCkgewo+ICAg ICAgICAgICAgICAgICByZXAtPmJ1ZmZlcl9tYXBfaGFuZGxlID0KPiAgICAgICAgICAgICAgICAg ICAgICAgICBkcm1fdm1hX25vZGVfb2Zmc2V0X2FkZHIoJnJlcy0+YmFja3VwLT5iYXNlLmJhc2Uu dm1hX25vZGUpOwo+IC0gICAgICAgICAgICAgICByZXAtPmJ1ZmZlcl9zaXplID0gcmVzLT5iYWNr dXAtPmJhc2UubnVtX3BhZ2VzICogUEFHRV9TSVpFOwo+ICsgICAgICAgICAgICAgICByZXAtPmJ1 ZmZlcl9zaXplID0gcmVzLT5iYWNrdXAtPmJhc2UuYmFzZS5zaXplOwo+ICAgICAgICAgICAgICAg ICByZXAtPmJ1ZmZlcl9oYW5kbGUgPSBiYWNrdXBfaGFuZGxlOwo+ICAgICAgICAgfSBlbHNlIHsK PiAgICAgICAgICAgICAgICAgcmVwLT5idWZmZXJfbWFwX2hhbmRsZSA9IDA7Cj4gQEAgLTE2OTIs NyArMTY5MSw3IEBAIHZtd19nYl9zdXJmYWNlX3JlZmVyZW5jZV9pbnRlcm5hbChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAgICAgICAgcmVwLT5jcmVwLmJ1ZmZlcl9oYW5kbGUgPSBiYWNrdXBf aGFuZGxlOwo+ICAgICAgICAgcmVwLT5jcmVwLmJ1ZmZlcl9tYXBfaGFuZGxlID0KPiAgICAgICAg ICAgICAgICAgZHJtX3ZtYV9ub2RlX29mZnNldF9hZGRyKCZzcmYtPnJlcy5iYWNrdXAtPmJhc2Uu YmFzZS52bWFfbm9kZSk7Cj4gLSAgICAgICByZXAtPmNyZXAuYnVmZmVyX3NpemUgPSBzcmYtPnJl cy5iYWNrdXAtPmJhc2UubnVtX3BhZ2VzICogUEFHRV9TSVpFOwo+ICsgICAgICAgcmVwLT5jcmVw LmJ1ZmZlcl9zaXplID0gc3JmLT5yZXMuYmFja3VwLT5iYXNlLmJhc2Uuc2l6ZTsKPgo+ICAgICAg ICAgcmVwLT5jcmVxLnZlcnNpb24gPSBkcm1fdm13X2diX3N1cmZhY2VfdjE7Cj4gICAgICAgICBy ZXAtPmNyZXEuc3ZnYTNkX2ZsYWdzX3VwcGVyXzMyX2JpdHMgPQo+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS90dG0vdHRtX2JvX2FwaS5oIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaAo+ IGluZGV4IDc5YjkzNjdlMGZmZC4uMGQ0ZTNmY2NhYThhIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUv ZHJtL3R0bS90dG1fYm9fYXBpLmgKPiArKysgYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5o Cj4gQEAgLTEyNSw3ICsxMjUsNiBAQCBzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qgewo+ICAgICAg ICAgc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXY7Cj4gICAgICAgICBlbnVtIHR0bV9ib190eXBl IHR5cGU7Cj4gICAgICAgICB2b2lkICgqZGVzdHJveSkgKHN0cnVjdCB0dG1fYnVmZmVyX29iamVj dCAqKTsKPiAtICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtX3BhZ2VzOwo+ICAgICAgICAgc2l6ZV90 IGFjY19zaXplOwo+Cj4gICAgICAgICAvKioKPiBAQCAtMzk3LDEzICszOTYsMTEgQEAgc2l6ZV90 IHR0bV9ib19kbWFfYWNjX3NpemUoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4KPiAgaW50 IHR0bV9ib19pbml0X3Jlc2VydmVkKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+ICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+IC0gICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemUsCj4gLSAgICAgICAgICAgICAg ICAgICAgICAgIGVudW0gdHRtX2JvX3R5cGUgdHlwZSwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZV90IHNpemUsIGVudW0gdHRtX2JvX3R5cGUgdHlwZSwKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHR0bV9wbGFjZW1lbnQgKnBsYWNlbWVudCwKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgcGFnZV9hbGlnbm1lbnQsCj4gICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCAqY3R4LAo+IC0gICAgICAgICAgICAgICAg ICAgICAgICBzaXplX3QgYWNjX3NpemUsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBzZ190YWJsZSAqc2csCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBhY2Nfc2l6 ZSwgc3RydWN0IHNnX3RhYmxlICpzZywKPiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IGRtYV9yZXN2ICpyZXN2LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqZGVzdHJv eSkgKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqKSk7Cj4KPiBAQCAtNDQ1LDcgKzQ0Miw3IEBA IGludCB0dG1fYm9faW5pdF9yZXNlcnZlZChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiAg ICogLUVSRVNUQVJUU1lTOiBJbnRlcnJ1cHRlZCBieSBzaWduYWwgd2hpbGUgc2xlZXBpbmcgd2Fp dGluZyBmb3IgcmVzb3VyY2VzLgo+ICAgKi8KPiAgaW50IHR0bV9ib19pbml0KHN0cnVjdCB0dG1f Ym9fZGV2aWNlICpiZGV2LCBzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+IC0gICAgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIHNpemUsIGVudW0gdHRtX2JvX3R5cGUgdHlwZSwKPiArICAg ICAgICAgICAgICAgc2l6ZV90IHNpemUsIGVudW0gdHRtX2JvX3R5cGUgdHlwZSwKPiAgICAgICAg ICAgICAgICAgc3RydWN0IHR0bV9wbGFjZW1lbnQgKnBsYWNlbWVudCwKPiAgICAgICAgICAgICAg ICAgdWludDMyX3QgcGFnZV9hbGlnbm1lbnQsIGJvb2wgaW50ZXJydWJ0aWJsZSwgc2l6ZV90IGFj Y19zaXplLAo+ICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnNnLCBzdHJ1Y3QgZG1h X3Jlc3YgKnJlc3YsCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL3R0bS90dG1fcmVzb3VyY2Uu aCBiL2luY2x1ZGUvZHJtL3R0bS90dG1fcmVzb3VyY2UuaAo+IGluZGV4IGY0OGE3MGQzOWFjNS4u YWQ2ZGE5OTc3MGU5IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL3R0bS90dG1fcmVzb3VyY2Uu aAo+ICsrKyBiL2luY2x1ZGUvZHJtL3R0bS90dG1fcmVzb3VyY2UuaAo+IEBAIC0xNzEsNyArMTcx LDYgQEAgc3RydWN0IHR0bV9idXNfcGxhY2VtZW50IHsKPiAgc3RydWN0IHR0bV9yZXNvdXJjZSB7 Cj4gICAgICAgICB2b2lkICptbV9ub2RlOwo+ICAgICAgICAgdW5zaWduZWQgbG9uZyBzdGFydDsK PiAtICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZTsKPiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVt X3BhZ2VzOwo+ICAgICAgICAgdWludDMyX3QgcGFnZV9hbGlnbm1lbnQ7Cj4gICAgICAgICB1aW50 MzJfdCBtZW1fdHlwZTsKPiAtLQo+IDIuMjUuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgoKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK