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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 26D2AC636CC for ; Sat, 18 Feb 2023 22:03:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rXKef1dXwmtfQwNGumBAQcDqpHSRQtSJa9ZA5IAN9qU=; b=4jP48dIk4Yd+O9 nEbk2lGF16JfZnk6Nay/FYUlj2Fa9fxfTl/QwZZkSqczKUUqSt2LRQo0mMCmbQhT8gr5zNzQmIq/J f9AOVqAh/kSrn3Lhr5SIaLxCgQR2N10M6u+NXwFEc/i3WpQC3sEmhixLxcTkdjUXf3cM15TfYpIHA gsE0zGndYLDJyEtlAD7HW9ro0qu4Ez5F/8rWx5bt7nq4TLl7oVE37lY6oLYjzaexoJydUKh/BhoUV fVyRA9cS+5f80SIXVjlkCgoTd3M6ja3pNV2+Httx9b/pcIpuwN8nzQEI2AYPBED0UOCDLXF6Dsi57 uzA4xOfXy9t9yQab/tkw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pTVIN-000Ex6-Ry; Sat, 18 Feb 2023 22:03:03 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pTVHq-000EL3-QJ; Sat, 18 Feb 2023 22:02:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type :MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:Content-ID:Content-Description; bh=vJx+mbBC98p/6zPz4/hW4XjK/dxx6LflqrfkofZ1x+c=; b=nXBamuxnwL5Ux3kJjM/HCzJaeE YGBSN1BvVg981q6o8pGGrKo1mp46w+NtuBStMIBsjwFn1y0S3IWsN6OibBcPjADCeDr23LyWyqVu3 +4MXtNoda/uHSUZlfeiYZsCmqrmufw3JrnCgkYTHOIoloiuwxGqjCi2HDncTEYGu1ZZWdircBWODK bRvEGe7QXEMxlYvrAGuRu16lAuKXuAHIM3nY9AkMxjU14VUTrUqPUadSEjQ4ogoTvNIZTpYKqpIPF MsyK8W6AleoY+kOEWu6dBFkVhgsOOUSV1QMB6yUbJUhpGyZRkrpIty8p7P13Eu2q70oPTO+bzBdVT +cqnIw8w==; Received: from mga05.intel.com ([192.55.52.43]) by desiato.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pTUZB-00BAy1-2U; Sat, 18 Feb 2023 21:16:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676754981; x=1708290981; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=rxj9czymX7gUlnvqos5jD1E4th0P80n6KyIsd1wZY38=; b=RA8e5t8WfBxhY+JO3C34phCEGVi0qOxibeCNBvb6SU1wL8XtIoQcrz3Y GXBVvYWjXeYa/vesd28lkHYnIoFA3iGzxUM9cUYvqVWHUCgZ3JYqC6ySF eKbMmxlhpxWSiEa1zsXRqIIwHNGr8fXccDtLPqo3PBWf2SD1PbWr1IkIb MEoaAlsov/nZMU5zYDrslrcz6Fmw45h862Z9oe6FGTCqTcGVr0koF07Om N75UDEZKsurPth0L69SBJOlrmeTZstngKwN4iMt59z62da0HipanXt+2F mnpWdFQ+J4aJs4/Q2Fs4QvKF24m+yTz65vHnCGhB23HuWI44fBPDreDcv A==; X-IronPort-AV: E=McAfee;i="6500,9779,10625"; a="418427354" X-IronPort-AV: E=Sophos;i="5.97,309,1669104000"; d="scan'208";a="418427354" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2023 13:16:07 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10625"; a="664241634" X-IronPort-AV: E=Sophos;i="5.97,309,1669104000"; d="scan'208";a="664241634" Received: from adityava-mobl1.amr.corp.intel.com (HELO rpedgeco-desk.amr.corp.intel.com) ([10.209.80.223]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2023 13:16:06 -0800 From: Rick Edgecombe To: x86@kernel.org, "H . Peter Anvin" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , Florian Weimer , "H . J . Lu" , Jann Horn , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , Weijiang Yang , "Kirill A . Shutemov" , John Allen , kcc@google.com, eranian@google.com, rppt@kernel.org, jamorris@linux.microsoft.com, dethoma@microsoft.com, akpm@linux-foundation.org, Andrew.Cooper3@citrix.com, christina.schimpe@intel.com, david@redhat.com, debug@rivosinc.com Cc: rick.p.edgecombe@intel.com, linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, Michal Simek , Dinh Nguyen , linux-mips@vger.kernel.org, openrisc@lists.librecores.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, xen-devel@lists.xenproject.org Subject: [PATCH v6 13/41] mm: Make pte_mkwrite() take a VMA Date: Sat, 18 Feb 2023 13:14:05 -0800 Message-Id: <20230218211433.26859-14-rick.p.edgecombe@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230218211433.26859-1-rick.p.edgecombe@intel.com> References: <20230218211433.26859-1-rick.p.edgecombe@intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230218_211623_565368_64B918B5 X-CRM114-Status: GOOD ( 21.07 ) X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+linux-snps-arc=archiver.kernel.org@lists.infradead.org VGhlIHg4NiBDb250cm9sLWZsb3cgRW5mb3JjZW1lbnQgVGVjaG5vbG9neSAoQ0VUKSBmZWF0dXJl IGluY2x1ZGVzIGEgbmV3CnR5cGUgb2YgbWVtb3J5IGNhbGxlZCBzaGFkb3cgc3RhY2suIFRoaXMg c2hhZG93IHN0YWNrIG1lbW9yeSBoYXMgc29tZQp1bnVzdWFsIHByb3BlcnRpZXMsIHdoaWNoIHJl cXVpcmVzIHNvbWUgY29yZSBtbSBjaGFuZ2VzIHRvIGZ1bmN0aW9uCnByb3Blcmx5LgoKT25lIG9m IHRoZXNlIHVudXN1YWwgcHJvcGVydGllcyBpcyB0aGF0IHNoYWRvdyBzdGFjayBtZW1vcnkgaXMg d3JpdGFibGUsCmJ1dCBvbmx5IGluIGxpbWl0ZWQgd2F5cy4gVGhlc2UgbGltaXRzIGFyZSBhcHBs aWVkIHZpYSBhIHNwZWNpZmljIFBURQpiaXQgY29tYmluYXRpb24uIE5ldmVydGhlbGVzcywgdGhl IG1lbW9yeSBpcyB3cml0YWJsZSwgYW5kIGNvcmUgbW0gY29kZQp3aWxsIG5lZWQgdG8gYXBwbHkg dGhlIHdyaXRhYmxlIHBlcm1pc3Npb25zIGluIHRoZSB0eXBpY2FsIHBhdGhzIHRoYXQKY2FsbCBw dGVfbWt3cml0ZSgpLgoKSW4gYWRkaXRpb24gdG8gVk1fV1JJVEUsIHRoZSBzaGFkb3cgc3RhY2sg Vk1BJ3Mgd2lsbCBoYXZlIGEgZmxhZyBkZW5vdGluZwp0aGF0IHRoZXkgYXJlIHNwZWNpYWwgc2hh ZG93IHN0YWNrIGZsYXZvciBvZiB3cml0YWJsZSBtZW1vcnkuIFNvIG1ha2UKcHRlX21rd3JpdGUo KSB0YWtlIGEgVk1BLCBzbyB0aGF0IHRoZSB4ODYgaW1wbGVtZW50YXRpb24gb2YgaXQgY2FuIGtu b3cgdG8KY3JlYXRlIHJlZ3VsYXIgd3JpdGFibGUgbWVtb3J5IG9yIHNoYWRvdyBzdGFjayBtZW1v cnkuCgpBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIGZvciBwbWRfbWt3cml0ZSgpIGFuZCBodWdlX3B0 ZV9ta3dyaXRlKCkuCgpObyBmdW5jdGlvbmFsIGNoYW5nZS4KCkNjOiBsaW51eC1kb2NAdmdlci5r ZXJuZWwub3JnCkNjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1hbHBo YUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXNucHMtYXJjQGxpc3RzLmluZnJhZGVhZC5vcmcK Q2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGludXgtY3NreUB2 Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWhleGFnb25Admdlci5rZXJuZWwub3JnCkNjOiBsaW51 eC1pYTY0QHZnZXIua2VybmVsLm9yZwpDYzogbG9vbmdhcmNoQGxpc3RzLmxpbnV4LmRldgpDYzog bGludXgtbTY4a0BsaXN0cy5saW51eC1tNjhrLm9yZwpDYzogTWljaGFsIFNpbWVrIDxtb25zdHJA bW9uc3RyLmV1PgpDYzogRGluaCBOZ3V5ZW4gPGRpbmd1eWVuQGtlcm5lbC5vcmc+CkNjOiBsaW51 eC1taXBzQHZnZXIua2VybmVsLm9yZwpDYzogb3BlbnJpc2NAbGlzdHMubGlicmVjb3Jlcy5vcmcK Q2M6IGxpbnV4LXBhcmlzY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4cHBjLWRldkBsaXN0cy5v emxhYnMub3JnCkNjOiBsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1z MzkwQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtc2hAdmdlci5rZXJuZWwub3JnCkNjOiBzcGFy Y2xpbnV4QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtdW1AbGlzdHMuaW5mcmFkZWFkLm9yZwpD YzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBsaW51eC1hcmNoQHZnZXIua2Vy bmVsLm9yZwpDYzogbGludXgtbW1Aa3ZhY2sub3JnClRlc3RlZC1ieTogUGVuZ2ZlaSBYdSA8cGVu Z2ZlaS54dUBpbnRlbC5jb20+ClN1Z2dlc3RlZC1ieTogRGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlk QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFJpY2sgRWRnZWNvbWJlIDxyaWNrLnAuZWRnZWNv bWJlQGludGVsLmNvbT4KCi0tLQpIaSBOb24teDg2IEFyY2jigJlzLAoKeDg2IGhhcyBhIGZlYXR1 cmUgdGhhdCBhbGxvd3MgZm9yIHRoZSBjcmVhdGlvbiBvZiBhIHNwZWNpYWwgdHlwZSBvZgp3cml0 YWJsZSBtZW1vcnkgKHNoYWRvdyBzdGFjaykgdGhhdCBpcyBvbmx5IHdyaXRhYmxlIGluIGxpbWl0 ZWQgc3BlY2lmaWMKd2F5cy4gUHJldmlvdXNseSwgY2hhbmdlcyB3ZXJlIHByb3Bvc2VkIHRvIGNv cmUgTU0gY29kZSB0byB0ZWFjaCBpdCB0bwpkZWNpZGUgd2hlbiB0byBjcmVhdGUgbm9ybWFsbHkg d3JpdGFibGUgbWVtb3J5IG9yIHRoZSBzcGVjaWFsIHNoYWRvdyBzdGFjawp3cml0YWJsZSBtZW1v cnksIGJ1dCBEYXZpZCBIaWxkZW5icmFuZCBzdWdnZXN0ZWRbMF0gdG8gY2hhbmdlCnBYWF9ta3dy aXRlKCkgdG8gdGFrZSBhIFZNQSwgc28gYXdhcmVuZXNzIG9mIHNoYWRvdyBzdGFjayBtZW1vcnkg Y2FuIGJlCm1vdmVkIGludG8geDg2IGNvZGUuCgpTaW5jZSBwWFhfbWt3cml0ZSgpIGlzIGRlZmlu ZWQgaW4gZXZlcnkgYXJjaCwgaXQgcmVxdWlyZXMgc29tZSB0cmVlLXdpZGUKY2hhbmdlcy4gU28g dGhhdCBpcyB3aHkgeW91IGFyZSBzZWVpbmcgc29tZSBwYXRjaGVzIG91dCBvZiBhIGJpZyB4ODYK c2VyaWVzIHBvcCB1cCBpbiB5b3VyIGFyY2ggbWFpbGluZyBsaXN0LiBUaGVyZSBpcyBubyBmdW5j dGlvbmFsIGNoYW5nZS4KQWZ0ZXIgdGhpcyByZWZhY3RvciwgdGhlIHNoYWRvdyBzdGFjayBzZXJp ZXMgZ29lcyBvbiB0byB1c2UgdGhlIGFyY2gKaGVscGVycyB0byBwdXNoIHNoYWRvdyBzdGFjayBt ZW1vcnkgZGV0YWlscyBpbnNpZGUgYXJjaC94ODYuCgpUZXN0aW5nIHdhcyBqdXN0IDAtZGF5IGJ1 aWxkIHRlc3RpbmcuCgpIb3BlZnVsbHkgdGhhdCBpcyBlbm91Z2ggY29udGV4dC4gVGhhbmtzIQoK WzBdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvMGUyOWEyZDAtMDhkOC1iY2Q2LWZmMjYt NGJlYTBlNDAzN2IwQHJlZGhhdC5jb20vI3QKCnY2OgogLSBOZXcgcGF0Y2gKLS0tCiBEb2N1bWVu dGF0aW9uL21tL2FyY2hfcGd0YWJsZV9oZWxwZXJzLnJzdCAgICB8ICA5ICsrKysrKy0tLQogYXJj aC9hbHBoYS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgfCAgNiArKysrKy0KIGFy Y2gvYXJjL2luY2x1ZGUvYXNtL2h1Z2VwYWdlLmggICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gv YXJjL2luY2x1ZGUvYXNtL3BndGFibGUtYml0cy1hcmN2Mi5oICAgIHwgIDcgKysrKysrLQogYXJj aC9hcm0vaW5jbHVkZS9hc20vcGd0YWJsZS0zbGV2ZWwuaCAgICAgICAgfCAgNyArKysrKystCiBh cmNoL2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgICB8ICAyICstCiBhcmNo L2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgICAgICB8ICA0ICsrLS0KIGFyY2gv Y3NreS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvaGV4 YWdvbi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgIHwgIDIgKy0KIGFyY2gvaWE2NC9p bmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbG9vbmdhcmNo L2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgIHwgIDQgKystLQogYXJjaC9tNjhrL2luY2x1 ZGUvYXNtL21jZl9wZ3RhYmxlLmggICAgICAgICAgfCAgMiArLQogYXJjaC9tNjhrL2luY2x1ZGUv YXNtL21vdG9yb2xhX3BndGFibGUuaCAgICAgfCAgNiArKysrKy0KIGFyY2gvbTY4ay9pbmNsdWRl L2FzbS9zdW4zX3BndGFibGUuaCAgICAgICAgIHwgIDYgKysrKystCiBhcmNoL21pY3JvYmxhemUv aW5jbHVkZS9hc20vcGd0YWJsZS5oICAgICAgICB8ICAyICstCiBhcmNoL21pcHMvaW5jbHVkZS9h c20vcGd0YWJsZS5oICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogYXJjaC9uaW9zMi9pbmNsdWRl L2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgfCAgMiArLQogYXJjaC9vcGVucmlzYy9pbmNsdWRl L2FzbS9wZ3RhYmxlLmggICAgICAgICAgfCAgMiArLQogYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20v cGd0YWJsZS5oICAgICAgICAgICAgfCAgNiArKysrKy0KIGFyY2gvcG93ZXJwYy9pbmNsdWRlL2Fz bS9ib29rM3MvMzIvcGd0YWJsZS5oIHwgIDIgKy0KIGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9i b29rM3MvNjQvcGd0YWJsZS5oIHwgIDQgKystLQogYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25v aGFzaC8zMi9wZ3RhYmxlLmggfCAgMiArLQogYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFz aC8zMi9wdGUtOHh4LmggfCAgMiArLQogYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82 NC9wZ3RhYmxlLmggfCAgMiArLQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAg ICAgICAgICAgfCAgNiArKystLS0KIGFyY2gvczM5MC9pbmNsdWRlL2FzbS9odWdldGxiLmggICAg ICAgICAgICAgIHwgIDQgKystLQogYXJjaC9zMzkwL2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAg ICAgICAgICAgfCAgNCArKy0tCiBhcmNoL3NoL2luY2x1ZGUvYXNtL3BndGFibGVfMzIuaCAgICAg ICAgICAgICB8IDEwICsrKysrKysrLS0KIGFyY2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV8z Mi5oICAgICAgICAgIHwgIDIgKy0KIGFyY2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV82NC5o ICAgICAgICAgIHwgIDYgKysrLS0tCiBhcmNoL3VtL2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAg ICAgICAgICAgICB8ICAyICstCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAg ICAgICAgICB8ICA2ICsrKystLQogYXJjaC94dGVuc2EvaW5jbHVkZS9hc20vcGd0YWJsZS5oICAg ICAgICAgICAgfCAgMiArLQogaW5jbHVkZS9hc20tZ2VuZXJpYy9odWdldGxiLmggICAgICAgICAg ICAgICAgfCAgNCArKy0tCiBpbmNsdWRlL2xpbnV4L21tLmggICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBtbS9kZWJ1Z192bV9wZ3RhYmxlLmMgICAgICAgICAgICAgICAgICAgICAg ICB8IDE2ICsrKysrKysrLS0tLS0tLS0KIG1tL2h1Z2VfbWVtb3J5LmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBtbS9odWdldGxiLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICA0ICsrLS0KIG1tL21lbW9yeS5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDQgKystLQogbW0vbWlncmF0ZV9kZXZpY2UuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogbW0vbXByb3RlY3QuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogbW0vdXNlcmZhdWx0ZmQuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogNDIgZmlsZXMgY2hhbmdlZCwgMTA2IGluc2VydGlvbnMoKyksIDY5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbW0vYXJjaF9wZ3RhYmxlX2hl bHBlcnMucnN0IGIvRG9jdW1lbnRhdGlvbi9tbS9hcmNoX3BndGFibGVfaGVscGVycy5yc3QKaW5k ZXggZmQyYTE5ZGY4ODRlLi5mMTE5ZDE2OTE1ZDQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24v bW0vYXJjaF9wZ3RhYmxlX2hlbHBlcnMucnN0CisrKyBiL0RvY3VtZW50YXRpb24vbW0vYXJjaF9w Z3RhYmxlX2hlbHBlcnMucnN0CkBAIC00OCw3ICs0OCw4IEBAIFBURSBQYWdlIFRhYmxlIEhlbHBl cnMKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IHB0ZV9ta2NsZWFuICAgICAgICAgICAgICAg fCBDcmVhdGVzIGEgY2xlYW4gUFRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgcHRlX21rd3JpdGUgICAgICAgICAgICAgICB8IENyZWF0 ZXMgYSB3cml0YWJsZSBQVEUgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IHB0ZV9ta3dy aXRlICAgICAgICAgICAgICAgfCBDcmVhdGVzIGEgd3JpdGFibGUgUFRFIG9mIHRoZSB0eXBlIHNw ZWNpZmllZCBieSAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhlIFZNQS4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rCiB8IHB0ZV93cnByb3RlY3QgICAgICAgICAgICAgfCBDcmVhdGVzIGEgd3JpdGUgcHJv dGVjdGVkIFBURSAgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK QEAgLTEyMCw3ICsxMjEsOCBAQCBQTUQgUGFnZSBUYWJsZSBIZWxwZXJzCiArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKwogfCBwbWRfbWtjbGVhbiAgICAgICAgICAgICAgIHwgQ3JlYXRlcyBhIGNsZWFu IFBNRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCi18IHBtZF9ta3dyaXRlICAgICAgICAgICAgICAgfCBDcmVhdGVzIGEgd3JpdGFibGUgUE1E ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBwbWRfbWt3cml0ZSAgICAgICAgICAgICAg IHwgQ3JlYXRlcyBhIHdyaXRhYmxlIFBNRCBvZiB0aGUgdHlwZSBzcGVjaWZpZWQgYnkgIHwKK3wg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRoZSBWTUEuICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBwbWRfd3Jw cm90ZWN0ICAgICAgICAgICAgIHwgQ3JlYXRlcyBhIHdyaXRlIHByb3RlY3RlZCBQTUQgICAgICAg ICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCkBAIC0yMjQsNyArMjI2LDgg QEAgSHVnZVRMQiBQYWdlIFRhYmxlIEhlbHBlcnMKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8 IGh1Z2VfcHRlX21rZGlydHkgICAgICAgICAgfCBDcmVhdGVzIGEgZGlydHkgSHVnZVRMQiAgICAg ICAgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgaHVnZV9w dGVfbWt3cml0ZSAgICAgICAgICB8IENyZWF0ZXMgYSB3cml0YWJsZSBIdWdlVExCICAgICAgICAg ICAgICAgICAgICAgICB8Cit8IGh1Z2VfcHRlX21rd3JpdGUgICAgICAgICAgfCBDcmVhdGVzIGEg d3JpdGFibGUgSHVnZVRMQiBvZiB0aGUgdHlwZSBzcGVjaWZpZWQgfAorfCAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYnkgdGhlIFZNQS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGh1Z2VfcHRlX3dycHJvdGVjdCAg ICAgICAgfCBDcmVhdGVzIGEgd3JpdGUgcHJvdGVjdGVkIEh1Z2VUTEIgICAgICAgICAgICAgICAg fAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEvaW5jbHVk ZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9hbHBoYS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKaW5kZXgg OWU0NWY2NzM1ZDVkLi4zOWRhNGJhYTRmMmQgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEvaW5jbHVk ZS9hc20vcGd0YWJsZS5oCisrKyBiL2FyY2gvYWxwaGEvaW5jbHVkZS9hc20vcGd0YWJsZS5oCkBA IC0yNTMsOSArMjUzLDEzIEBAIGV4dGVybiBpbmxpbmUgaW50IHB0ZV95b3VuZyhwdGVfdCBwdGUp CQl7IHJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9BQ0NFU1NFRDsKIGV4dGVybiBpbmxpbmUg cHRlX3QgcHRlX3dycHJvdGVjdChwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX0ZP VzsgcmV0dXJuIHB0ZTsgfQogZXh0ZXJuIGlubGluZSBwdGVfdCBwdGVfbWtjbGVhbihwdGVfdCBw dGUpCXsgcHRlX3ZhbChwdGUpICY9IH4oX19ESVJUWV9CSVRTKTsgcmV0dXJuIHB0ZTsgfQogZXh0 ZXJuIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSAmPSB+ KF9fQUNDRVNTX0JJVFMpOyByZXR1cm4gcHRlOyB9Ci1leHRlcm4gaW5saW5lIHB0ZV90IHB0ZV9t a3dyaXRlKHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gfl9QQUdFX0ZPVzsgcmV0dXJuIHB0 ZTsgfQogZXh0ZXJuIGlubGluZSBwdGVfdCBwdGVfbWtkaXJ0eShwdGVfdCBwdGUpCXsgcHRlX3Zh bChwdGUpIHw9IF9fRElSVFlfQklUUzsgcmV0dXJuIHB0ZTsgfQogZXh0ZXJuIGlubGluZSBwdGVf dCBwdGVfbWt5b3VuZyhwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9IF9fQUNDRVNTX0JJVFM7 IHJldHVybiBwdGU7IH0KK2V4dGVybiBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRl LCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKK3sKKwlwdGVfdmFsKHB0ZSkgJj0gfl9QQUdF X0ZPVzsKKwlyZXR1cm4gcHRlOworfQogCiAvKgogICogVGhlIHNtcF9ybWIoKSBpbiB0aGUgZm9s bG93aW5nIGZ1bmN0aW9ucyBhcmUgcmVxdWlyZWQgdG8gb3JkZXIgdGhlIGxvYWQgb2YKZGlmZiAt LWdpdCBhL2FyY2gvYXJjL2luY2x1ZGUvYXNtL2h1Z2VwYWdlLmggYi9hcmNoL2FyYy9pbmNsdWRl L2FzbS9odWdlcGFnZS5oCmluZGV4IDUwMDFiNzk2ZmI4ZC4uMjIzYTk2OTY3MTg4IDEwMDY0NAot LS0gYS9hcmNoL2FyYy9pbmNsdWRlL2FzbS9odWdlcGFnZS5oCisrKyBiL2FyY2gvYXJjL2luY2x1 ZGUvYXNtL2h1Z2VwYWdlLmgKQEAgLTIxLDcgKzIxLDcgQEAgc3RhdGljIGlubGluZSBwbWRfdCBw dGVfcG1kKHB0ZV90IHB0ZSkKIH0KIAogI2RlZmluZSBwbWRfd3Jwcm90ZWN0KHBtZCkJcHRlX3Bt ZChwdGVfd3Jwcm90ZWN0KHBtZF9wdGUocG1kKSkpCi0jZGVmaW5lIHBtZF9ta3dyaXRlKHBtZCkJ cHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRlKHBtZCkpKQorI2RlZmluZSBwbWRfbWt3cml0ZShw bWQsIHZtYSkJcHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRlKHBtZCksICh2bWEpKSkKICNkZWZp bmUgcG1kX21rZGlydHkocG1kKQlwdGVfcG1kKHB0ZV9ta2RpcnR5KHBtZF9wdGUocG1kKSkpCiAj ZGVmaW5lIHBtZF9ta29sZChwbWQpCQlwdGVfcG1kKHB0ZV9ta29sZChwbWRfcHRlKHBtZCkpKQog I2RlZmluZSBwbWRfbWt5b3VuZyhwbWQpCXB0ZV9wbWQocHRlX21reW91bmcocG1kX3B0ZShwbWQp KSkKZGlmZiAtLWdpdCBhL2FyY2gvYXJjL2luY2x1ZGUvYXNtL3BndGFibGUtYml0cy1hcmN2Mi5o IGIvYXJjaC9hcmMvaW5jbHVkZS9hc20vcGd0YWJsZS1iaXRzLWFyY3YyLmgKaW5kZXggNTE1ZTgy ZGI1MTlmLi5jYmJiY2JkMGE3ODAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJjL2luY2x1ZGUvYXNtL3Bn dGFibGUtYml0cy1hcmN2Mi5oCisrKyBiL2FyY2gvYXJjL2luY2x1ZGUvYXNtL3BndGFibGUtYml0 cy1hcmN2Mi5oCkBAIC04NCw3ICs4NCw2IEBACiAKIFBURV9CSVRfRlVOQyhta25vdHByZXNlbnQs ICAgICAmPSB+KF9QQUdFX1BSRVNFTlQpKTsKIFBURV9CSVRfRlVOQyh3cnByb3RlY3QsCSY9IH4o X1BBR0VfV1JJVEUpKTsKLVBURV9CSVRfRlVOQyhta3dyaXRlLAl8PSAoX1BBR0VfV1JJVEUpKTsK IFBURV9CSVRfRlVOQyhta2NsZWFuLAkmPSB+KF9QQUdFX0RJUlRZKSk7CiBQVEVfQklUX0ZVTkMo bWtkaXJ0eSwJfD0gKF9QQUdFX0RJUlRZKSk7CiBQVEVfQklUX0ZVTkMobWtvbGQsCSY9IH4oX1BB R0VfQUNDRVNTRUQpKTsKQEAgLTkyLDYgKzkxLDEyIEBAIFBURV9CSVRfRlVOQyhta3lvdW5nLAl8 PSAoX1BBR0VfQUNDRVNTRUQpKTsKIFBURV9CSVRfRlVOQyhta3NwZWNpYWwsCXw9IChfUEFHRV9T UEVDSUFMKSk7CiBQVEVfQklUX0ZVTkMobWtodWdlLAl8PSAoX1BBR0VfSFdfU1opKTsKIAorc3Rh dGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0 cnVjdCAqdm1hKQoreworCXB0ZV92YWwocHRlKSB8PSAoX1BBR0VfV1JJVEUpOworCXJldHVybiBw dGU7Cit9CisKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21vZGlmeShwdGVfdCBwdGUsIHBncHJv dF90IG5ld3Byb3QpCiB7CiAJcmV0dXJuIF9fcHRlKChwdGVfdmFsKHB0ZSkgJiBfUEFHRV9DSEdf TUFTSykgfCBwZ3Byb3RfdmFsKG5ld3Byb3QpKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1 ZGUvYXNtL3BndGFibGUtM2xldmVsLmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLTNs ZXZlbC5oCmluZGV4IGVhYmU3MmZmNzM4MS4uYzI1MDI0NDU1NDQ1IDEwMDY0NAotLS0gYS9hcmNo L2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLTNsZXZlbC5oCisrKyBiL2FyY2gvYXJtL2luY2x1ZGUv YXNtL3BndGFibGUtM2xldmVsLmgKQEAgLTE5OSwxMSArMTk5LDE2IEBAIHN0YXRpYyBpbmxpbmUg cG1kX3QgcG1kXyMjZm4ocG1kX3QgcG1kKSB7IHBtZF92YWwocG1kKSBvcDsgcmV0dXJuIHBtZDsg fQogCiBQTURfQklUX0ZVTkMod3Jwcm90ZWN0LAl8PSBMX1BNRF9TRUNUX1JET05MWSk7CiBQTURf QklUX0ZVTkMobWtvbGQsCSY9IH5QTURfU0VDVF9BRik7Ci1QTURfQklUX0ZVTkMobWt3cml0ZSwg ICAmPSB+TF9QTURfU0VDVF9SRE9OTFkpOwogUE1EX0JJVF9GVU5DKG1rZGlydHksICAgfD0gTF9Q TURfU0VDVF9ESVJUWSk7CiBQTURfQklUX0ZVTkMobWtjbGVhbiwgICAmPSB+TF9QTURfU0VDVF9E SVJUWSk7CiBQTURfQklUX0ZVTkMobWt5b3VuZywgICB8PSBQTURfU0VDVF9BRik7CiAKK3N0YXRp YyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3QgcG1kLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1 Y3QgKnZtYSkKK3sKKwlwbWRfdmFsKHBtZCkgfD0gTF9QTURfU0VDVF9SRE9OTFk7CisJcmV0dXJu IHBtZDsKK30KKwogI2RlZmluZSBwbWRfbWtodWdlKHBtZCkJCShfX3BtZChwbWRfdmFsKHBtZCkg JiB+UE1EX1RBQkxFX0JJVCkpCiAKICNkZWZpbmUgcG1kX3BmbihwbWQpCQkoKChwbWRfdmFsKHBt ZCkgJiBQTURfTUFTSykgJiBQSFlTX01BU0spID4+IFBBR0VfU0hJRlQpCmRpZmYgLS1naXQgYS9h cmNoL2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wZ3Rh YmxlLmgKaW5kZXggZjA0OTA3MmIyZTg1Li5kY2VmYWM2YjFlZGMgMTAwNjQ0Ci0tLSBhL2FyY2gv YXJtL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wZ3Rh YmxlLmgKQEAgLTIyNyw3ICsyMjcsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV93cnByb3Rl Y3QocHRlX3QgcHRlKQogCXJldHVybiBzZXRfcHRlX2JpdChwdGUsIF9fcGdwcm90KExfUFRFX1JE T05MWSkpOwogfQogCi1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkK K3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJl YV9zdHJ1Y3QgKnZtYSkKIHsKIAlyZXR1cm4gY2xlYXJfcHRlX2JpdChwdGUsIF9fcGdwcm90KExf UFRFX1JET05MWSkpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3Rh YmxlLmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBlZDU1NWY5NDc2 OTcuLjY3NzQ4MTQyZWI4YyAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3Rh YmxlLmgKKysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTE4Nyw3ICsx ODcsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlX2tlcm5lbChwdGVfdCBwdGUp CiAJcmV0dXJuIHB0ZTsKIH0KIAotc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVf dCBwdGUpCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0 IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CiAJcmV0dXJuIHB0ZV9ta3dyaXRlX2tlcm5lbChwdGUp OwogfQpAQCAtNDg5LDcgKzQ4OSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBtZF90cmFuc19odWdl KHBtZF90IHBtZCkKICNkZWZpbmUgcG1kX2NvbnQocG1kKQkJcHRlX2NvbnQocG1kX3B0ZShwbWQp KQogI2RlZmluZSBwbWRfd3Jwcm90ZWN0KHBtZCkJcHRlX3BtZChwdGVfd3Jwcm90ZWN0KHBtZF9w dGUocG1kKSkpCiAjZGVmaW5lIHBtZF9ta29sZChwbWQpCQlwdGVfcG1kKHB0ZV9ta29sZChwbWRf cHRlKHBtZCkpKQotI2RlZmluZSBwbWRfbWt3cml0ZShwbWQpCXB0ZV9wbWQocHRlX21rd3JpdGUo cG1kX3B0ZShwbWQpKSkKKyNkZWZpbmUgcG1kX21rd3JpdGUocG1kLCB2bWEpCXB0ZV9wbWQocHRl X21rd3JpdGUocG1kX3B0ZShwbWQpLCAodm1hKSkpCiAjZGVmaW5lIHBtZF9ta2NsZWFuKHBtZCkJ cHRlX3BtZChwdGVfbWtjbGVhbihwbWRfcHRlKHBtZCkpKQogI2RlZmluZSBwbWRfbWtkaXJ0eShw bWQpCXB0ZV9wbWQocHRlX21rZGlydHkocG1kX3B0ZShwbWQpKSkKICNkZWZpbmUgcG1kX21reW91 bmcocG1kKQlwdGVfcG1kKHB0ZV9ta3lvdW5nKHBtZF9wdGUocG1kKSkpCmRpZmYgLS1naXQgYS9h cmNoL2Nza3kvaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9jc2t5L2luY2x1ZGUvYXNtL3Bn dGFibGUuaAppbmRleCA3N2JjNmNhZmYyZDIuLjU1OWJlZDdjOWNkMCAxMDA2NDQKLS0tIGEvYXJj aC9jc2t5L2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL2Nza3kvaW5jbHVkZS9hc20v cGd0YWJsZS5oCkBAIC0xNzYsNyArMTc2LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtv bGQocHRlX3QgcHRlKQogCXJldHVybiBwdGU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRl X21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVf dCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXB0ZV92YWwocHRlKSB8PSBf UEFHRV9XUklURTsKIAlpZiAocHRlX3ZhbChwdGUpICYgX1BBR0VfTU9ESUZJRUQpCmRpZmYgLS1n aXQgYS9hcmNoL2hleGFnb24vaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9oZXhhZ29uL2lu Y2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBmNzA0OGMxOGI2ZjkuLjhhMzE3ZjQxZTA0ZiAxMDA2 NDQKLS0tIGEvYXJjaC9oZXhhZ29uL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL2hl eGFnb24vaW5jbHVkZS9hc20vcGd0YWJsZS5oCkBAIC0yOTcsNyArMjk3LDcgQEAgc3RhdGljIGlu bGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkKIH0KIAogLyogcHRlX21rd3JpdGUg LSBtYXJrIHBhZ2UgYXMgd3JpdGFibGUgKi8KLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3Jp dGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUs IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXB0ZV92YWwocHRlKSB8PSBfUEFHRV9X UklURTsKIAlyZXR1cm4gcHRlOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL3Bn dGFibGUuaCBiL2FyY2gvaWE2NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKaW5kZXggMDE1MTdhNWU2 Nzc4Li43MDcyNDY1OGRkZWUgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9pbmNsdWRlL2FzbS9wZ3Rh YmxlLmgKKysrIGIvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaApAQCAtMjY1LDcgKzI2 NSw3IEBAIGlhNjRfcGh5c19hZGRyX3ZhbGlkICh1bnNpZ25lZCBsb25nIGFkZHIpCiAgKiBhY2Nl c3MgcmlnaHRzOgogICovCiAjZGVmaW5lIHB0ZV93cnByb3RlY3QocHRlKQkoX19wdGUocHRlX3Zh bChwdGUpICYgfl9QQUdFX0FSX1JXKSkKLSNkZWZpbmUgcHRlX21rd3JpdGUocHRlKQkoX19wdGUo cHRlX3ZhbChwdGUpIHwgX1BBR0VfQVJfUlcpKQorI2RlZmluZSBwdGVfbWt3cml0ZShwdGUsIHZt YSkJKF9fcHRlKHB0ZV92YWwocHRlKSB8IF9QQUdFX0FSX1JXKSkKICNkZWZpbmUgcHRlX21rb2xk KHB0ZSkJCShfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfQSkpCiAjZGVmaW5lIHB0ZV9ta3lv dW5nKHB0ZSkJKF9fcHRlKHB0ZV92YWwocHRlKSB8IF9QQUdFX0EpKQogI2RlZmluZSBwdGVfbWtj bGVhbihwdGUpCShfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfRCkpCmRpZmYgLS1naXQgYS9h cmNoL2xvb25nYXJjaC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL2xvb25nYXJjaC9pbmNs dWRlL2FzbS9wZ3RhYmxlLmgKaW5kZXggN2EzNGU5MDBkOGMxLi44Y2M0MjkyMzU3YWEgMTAwNjQ0 Ci0tLSBhL2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL2xv b25nYXJjaC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTM2MCw3ICszNjAsNyBAQCBzdGF0aWMg aW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkKIAlyZXR1cm4gcHRlOwogfQogCi1z dGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBpbmxpbmUg cHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkK IHsKIAlwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfV1JJVEU7CiAJaWYgKHB0ZV92YWwocHRlKSAmIF9Q QUdFX01PRElGSUVEKQpAQCAtNDYwLDcgKzQ2MCw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBtZF93 cml0ZShwbWRfdCBwbWQpCiAJcmV0dXJuICEhKHBtZF92YWwocG1kKSAmIF9QQUdFX1dSSVRFKTsK IH0KIAotc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBwbWQpCitzdGF0aWMg aW5saW5lIHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBtZCwgc3RydWN0IHZtX2FyZWFfc3RydWN0 ICp2bWEpCiB7CiAJcG1kX3ZhbChwbWQpIHw9IF9QQUdFX1dSSVRFOwogCWlmIChwbWRfdmFsKHBt ZCkgJiBfUEFHRV9NT0RJRklFRCkKZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9t Y2ZfcGd0YWJsZS5oIGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL21jZl9wZ3RhYmxlLmgKaW5kZXgg YjYxOWIyMjgyM2Y4Li5lYTE1MzFiNjA2NDUgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pbmNsdWRl L2FzbS9tY2ZfcGd0YWJsZS5oCisrKyBiL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9tY2ZfcGd0YWJs ZS5oCkBAIC0yMDgsNyArMjA4LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRl X3QgcHRlKQogCXJldHVybiBwdGU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3Jp dGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUs IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXB0ZV92YWwocHRlKSB8PSBDRl9QQUdF X1dSSVRBQkxFOwogCXJldHVybiBwdGU7CmRpZmYgLS1naXQgYS9hcmNoL202OGsvaW5jbHVkZS9h c20vbW90b3JvbGFfcGd0YWJsZS5oIGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL21vdG9yb2xhX3Bn dGFibGUuaAppbmRleCA3YWMzZDY0YzZiMzMuLjU4ZGFhMzQ5MDJhMCAxMDA2NDQKLS0tIGEvYXJj aC9tNjhrL2luY2x1ZGUvYXNtL21vdG9yb2xhX3BndGFibGUuaAorKysgYi9hcmNoL202OGsvaW5j bHVkZS9hc20vbW90b3JvbGFfcGd0YWJsZS5oCkBAIC0xNTIsNyArMTUyLDYgQEAgc3RhdGljIGlu bGluZSBpbnQgcHRlX3lvdW5nKHB0ZV90IHB0ZSkJCXsgcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9Q QUdFX0FDQ0VTU0VEOwogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0 ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfUk9OTFk7IHJldHVybiBwdGU7IH0KIHN0YXRpYyBp bmxpbmUgcHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSAmPSB+X1BB R0VfRElSVFk7IHJldHVybiBwdGU7IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rb2xkKHB0 ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gfl9QQUdFX0FDQ0VTU0VEOyByZXR1cm4gcHRlOyB9 Ci1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0 ZSkgJj0gfl9QQUdFX1JPTkxZOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0 ZV9ta2RpcnR5KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfRElSVFk7IHJldHVy biBwdGU7IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21reW91bmcocHRlX3QgcHRlKQl7IHB0 ZV92YWwocHRlKSB8PSBfUEFHRV9BQ0NFU1NFRDsgcmV0dXJuIHB0ZTsgfQogc3RhdGljIGlubGlu ZSBwdGVfdCBwdGVfbWtub2NhY2hlKHB0ZV90IHB0ZSkKQEAgLTE2NSw2ICsxNjQsMTEgQEAgc3Rh dGljIGlubGluZSBwdGVfdCBwdGVfbWtjYWNoZShwdGVfdCBwdGUpCiAJcHRlX3ZhbChwdGUpID0g KHB0ZV92YWwocHRlKSAmIF9DQUNIRU1BU0swNDApIHwgbTY4a19zdXBlcnZpc29yX2NhY2hlbW9k ZTsKIAlyZXR1cm4gcHRlOwogfQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVf dCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQoreworCXB0ZV92YWwocHRlKSAmPSB+ X1BBR0VfUk9OTFk7CisJcmV0dXJuIHB0ZTsKK30KIAogI2RlZmluZSBzd2FwcGVyX3BnX2RpciBr ZXJuZWxfcGdfZGlyCiBleHRlcm4gcGdkX3Qga2VybmVsX3BnX2RpclsxMjhdOwpkaWZmIC0tZ2l0 IGEvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL3N1bjNfcGd0YWJsZS5oIGIvYXJjaC9tNjhrL2luY2x1 ZGUvYXNtL3N1bjNfcGd0YWJsZS5oCmluZGV4IDkwZDU3ZTUzN2ViMS4uODljZTMwYmZmNWExIDEw MDY0NAotLS0gYS9hcmNoL202OGsvaW5jbHVkZS9hc20vc3VuM19wZ3RhYmxlLmgKKysrIGIvYXJj aC9tNjhrL2luY2x1ZGUvYXNtL3N1bjNfcGd0YWJsZS5oCkBAIC0xNDAsMTAgKzE0MCwxNCBAQCBz dGF0aWMgaW5saW5lIGludCBwdGVfeW91bmcocHRlX3QgcHRlKQkJeyByZXR1cm4gcHRlX3ZhbChw dGUpICYgU1VOM19QQUdFX0FDQ0VTUwogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0 KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gflNVTjNfUEFHRV9XUklURUFCTEU7IHJldHVy biBwdGU7IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQl7IHB0 ZV92YWwocHRlKSAmPSB+U1VOM19QQUdFX01PRElGSUVEOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMg aW5saW5lIHB0ZV90IHB0ZV9ta29sZChwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpICY9IH5TVU4z X1BBR0VfQUNDRVNTRUQ7IHJldHVybiBwdGU7IH0KLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21r d3JpdGUocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSB8PSBTVU4zX1BBR0VfV1JJVEVBQkxFOyBy ZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkJ eyBwdGVfdmFsKHB0ZSkgfD0gU1VOM19QQUdFX01PRElGSUVEOyByZXR1cm4gcHRlOyB9CiBzdGF0 aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3lvdW5nKHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0g U1VOM19QQUdFX0FDQ0VTU0VEOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0 ZV9ta25vY2FjaGUocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSB8PSBTVU4zX1BBR0VfTk9DQUNI RTsgcmV0dXJuIHB0ZTsgfQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBw dGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQoreworCXB0ZV92YWwocHRlKSB8PSBTVU4z X1BBR0VfV1JJVEVBQkxFOworCXJldHVybiBwdGU7Cit9CiAvLyB1c2UgdGhpcyB2ZXJzaW9uIHdo ZW4gY2FjaGVzIHdvcmsuLi4KIC8vc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtjYWNoZShwdGVf dCBwdGUpCXsgcHRlX3ZhbChwdGUpICY9IFNVTjNfUEFHRV9OT0NBQ0hFOyByZXR1cm4gcHRlOyB9 CiAvLyB1bnRpbCB0aGVuLCB1c2U6CmRpZmYgLS1naXQgYS9hcmNoL21pY3JvYmxhemUvaW5jbHVk ZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9taWNyb2JsYXplL2luY2x1ZGUvYXNtL3BndGFibGUuaApp bmRleCA0MmY1OTg4ZTk5OGIuLjdhNjk2YzJlMzI2YyAxMDA2NDQKLS0tIGEvYXJjaC9taWNyb2Js YXplL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL21pY3JvYmxhemUvaW5jbHVkZS9h c20vcGd0YWJsZS5oCkBAIC0yNjMsNyArMjYzLDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVf bWtyZWFkKHB0ZV90IHB0ZSkgXAogCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1VTRVI7IHJldHVy biBwdGU7IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZXhlYyhwdGVfdCBwdGUpIFwKIAl7 IHB0ZV92YWwocHRlKSB8PSBfUEFHRV9VU0VSIHwgX1BBR0VfRVhFQzsgcmV0dXJuIHB0ZTsgfQot c3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpIFwKK3N0YXRpYyBpbmxp bmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSkgXAogCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1JXOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMg aW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkgXAogCXsgcHRlX3ZhbChwdGUpIHw9 IF9QQUdFX0RJUlRZOyByZXR1cm4gcHRlOyB9CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvaW5jbHVk ZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9taXBzL2luY2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBh NjhjMGIwMWQ4Y2QuLmU5MjIzMjczOWJiOCAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2luY2x1ZGUv YXNtL3BndGFibGUuaAorKysgYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS5oCkBAIC0z MDksNyArMzA5LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQog CXJldHVybiBwdGU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3Qg cHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXB0ZS5wdGVfbG93IHw9IF9QQUdFX1dSSVRFOwogCWlm IChwdGUucHRlX2xvdyAmIF9QQUdFX01PRElGSUVEKSB7CkBAIC0zNjQsNyArMzY0LDcgQEAgc3Rh dGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQogCXJldHVybiBwdGU7CiB9CiAK LXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGlu ZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1h KQogewogCXB0ZV92YWwocHRlKSB8PSBfUEFHRV9XUklURTsKIAlpZiAocHRlX3ZhbChwdGUpICYg X1BBR0VfTU9ESUZJRUQpCkBAIC01OTEsNyArNTkxLDcgQEAgc3RhdGljIGlubGluZSBwbWRfdCBw bWRfd3Jwcm90ZWN0KHBtZF90IHBtZCkKIAlyZXR1cm4gcG1kOwogfQogCi1zdGF0aWMgaW5saW5l IHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBtZCkKK3N0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21r d3JpdGUocG1kX3QgcG1kLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlwbWRfdmFs KHBtZCkgfD0gX1BBR0VfV1JJVEU7CiAJaWYgKHBtZF92YWwocG1kKSAmIF9QQUdFX01PRElGSUVE KQpkaWZmIC0tZ2l0IGEvYXJjaC9uaW9zMi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL25p b3MyL2luY2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBhYjc5M2JjNTE3ZjUuLjIwY2JmODU3MDk5 YSAxMDA2NDQKLS0tIGEvYXJjaC9uaW9zMi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKKysrIGIvYXJj aC9uaW9zMi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMg aW5saW5lIHB0ZV90IHB0ZV9ta29sZChwdGVfdCBwdGUpCiAJcmV0dXJuIHB0ZTsKIH0KIAotc3Rh dGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCitzdGF0aWMgaW5saW5lIHB0 ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7 CiAJcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1dSSVRFOwogCXJldHVybiBwdGU7CmRpZmYgLS1naXQg YS9hcmNoL29wZW5yaXNjL2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvb3BlbnJpc2MvaW5j bHVkZS9hc20vcGd0YWJsZS5oCmluZGV4IDY0NzdjMTdiMzA2Mi4uN2QxZDBhMzkzNmViIDEwMDY0 NAotLS0gYS9hcmNoL29wZW5yaXNjL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL29w ZW5yaXNjL2luY2x1ZGUvYXNtL3BndGFibGUuaApAQCAtMjQ3LDcgKzI0Nyw3IEBAIHN0YXRpYyBp bmxpbmUgcHRlX3QgcHRlX21rb2xkKHB0ZV90IHB0ZSkKIAlyZXR1cm4gcHRlOwogfQogCi1zdGF0 aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBpbmxpbmUgcHRl X3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsK IAlwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfV1JJVEU7CiAJcmV0dXJuIHB0ZTsKZGlmZiAtLWdpdCBh L2FyY2gvcGFyaXNjL2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvcGFyaXNjL2luY2x1ZGUv YXNtL3BndGFibGUuaAppbmRleCBlYTM1NzQzMGFhZmUuLjllNDM0NGE5NzZhNyAxMDA2NDQKLS0t IGEvYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vcGd0YWJsZS5oCisrKyBiL2FyY2gvcGFyaXNjL2lu Y2x1ZGUvYXNtL3BndGFibGUuaApAQCAtMzI4LDggKzMyOCwxMiBAQCBzdGF0aWMgaW5saW5lIHB0 ZV90IHB0ZV9ta29sZChwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpICY9IH5fUEFHRV9BQ0NFU1NF RDsgcmV0dQogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkJeyBw dGVfdmFsKHB0ZSkgJj0gfl9QQUdFX1dSSVRFOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5l IHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfRElS VFk7IHJldHVybiBwdGU7IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21reW91bmcocHRlX3Qg cHRlKQl7IHB0ZV92YWwocHRlKSB8PSBfUEFHRV9BQ0NFU1NFRDsgcmV0dXJuIHB0ZTsgfQotc3Rh dGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9 IF9QQUdFX1dSSVRFOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3Nw ZWNpYWwocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSB8PSBfUEFHRV9TUEVDSUFMOyByZXR1cm4g cHRlOyB9CitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0 IHZtX2FyZWFfc3RydWN0ICp2bWEpCit7CisJcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1dSSVRFOwor CXJldHVybiBwdGU7Cit9CiAKIC8qCiAgKiBIdWdlIHB0ZSBkZWZpbml0aW9ucy4KZGlmZiAtLWdp dCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5oIGIvYXJjaC9w b3dlcnBjL2luY2x1ZGUvYXNtL2Jvb2szcy8zMi9wZ3RhYmxlLmgKaW5kZXggNzU4MjNmMzllMDQy Li5mYzRiM2E1NTQ4MmIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29r M3MvMzIvcGd0YWJsZS5oCisrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIv cGd0YWJsZS5oCkBAIC00NzEsNyArNDcxLDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtw dGUocHRlX3QgcHRlKQogCXJldHVybiBwdGU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRl X21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVf dCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXJldHVybiBfX3B0ZShwdGVf dmFsKHB0ZSkgfCBfUEFHRV9SVyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vYm9vazNzLzY0L3BndGFibGUuaCBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29r M3MvNjQvcGd0YWJsZS5oCmluZGV4IGNiNGM2N2JmNDVkNy4uNGJmYTM3Y2JmNWQwIDEwMDY0NAot LS0gYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzY0L3BndGFibGUuaAorKysgYi9h cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzY0L3BndGFibGUuaApAQCAtNjAwLDcgKzYw MCw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZXhlYyhwdGVfdCBwdGUpCiAJcmV0dXJu IF9fcHRlX3JhdyhwdGVfcmF3KHB0ZSkgfCBjcHVfdG9fYmU2NChfUEFHRV9FWEVDKSk7CiB9CiAK LXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGlu ZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1h KQogewogCS8qCiAJICogd3JpdGUgaW1wbGllcyByZWFkLCBoZW5jZSBzZXQgYm90aApAQCAtMTA3 Miw3ICsxMDcyLDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCAqcG1kcF9wdGVwKHBtZF90ICpwbWQp CiAjZGVmaW5lIHBtZF9ta2RpcnR5KHBtZCkJcHRlX3BtZChwdGVfbWtkaXJ0eShwbWRfcHRlKHBt ZCkpKQogI2RlZmluZSBwbWRfbWtjbGVhbihwbWQpCXB0ZV9wbWQocHRlX21rY2xlYW4ocG1kX3B0 ZShwbWQpKSkKICNkZWZpbmUgcG1kX21reW91bmcocG1kKQlwdGVfcG1kKHB0ZV9ta3lvdW5nKHBt ZF9wdGUocG1kKSkpCi0jZGVmaW5lIHBtZF9ta3dyaXRlKHBtZCkJcHRlX3BtZChwdGVfbWt3cml0 ZShwbWRfcHRlKHBtZCkpKQorI2RlZmluZSBwbWRfbWt3cml0ZShwbWQsIHZtYSkJcHRlX3BtZChw dGVfbWt3cml0ZShwbWRfcHRlKHBtZCksICh2bWEpKSkKIAogI2lmZGVmIENPTkZJR19IQVZFX0FS Q0hfU09GVF9ESVJUWQogI2RlZmluZSBwbWRfc29mdF9kaXJ0eShwbWQpICAgIHB0ZV9zb2Z0X2Rp cnR5KHBtZF9wdGUocG1kKSkKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9u b2hhc2gvMzIvcGd0YWJsZS5oIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC8zMi9w Z3RhYmxlLmgKaW5kZXggNzBlZGFkNDRkZmY2Li4yMGNlOTIxMDhmNmMgMTAwNjQ0Ci0tLSBhL2Fy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvMzIvcGd0YWJsZS5oCisrKyBiL2FyY2gvcG93 ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvMzIvcGd0YWJsZS5oCkBAIC0xNzEsNyArMTcxLDcgQEAg dm9pZCB1bm1hcF9rZXJuZWxfcGFnZSh1bnNpZ25lZCBsb25nIHZhKTsKIAlkbyB7IHB0ZV91cGRh dGUobW0sIGFkZHIsIHB0ZXAsIH4wLCAwLCAwKTsgfSB3aGlsZSAoMCkKIAogI2lmbmRlZiBwdGVf bWt3cml0ZQotc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCitzdGF0 aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWEpCiB7CiAJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSB8IF9QQUdFX1JXKTsKIH0K ZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvMzIvcHRlLTh4eC5o IGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC8zMi9wdGUtOHh4LmgKaW5kZXggMWE4 OWViZGMzYWNjLi5mMzI0NTBlYjI3MGEgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9pbmNsdWRl L2FzbS9ub2hhc2gvMzIvcHRlLTh4eC5oCisrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9u b2hhc2gvMzIvcHRlLTh4eC5oCkBAIC0xMDEsNyArMTAxLDcgQEAgc3RhdGljIGlubGluZSBpbnQg cHRlX3dyaXRlKHB0ZV90IHB0ZSkKIAogI2RlZmluZSBwdGVfd3JpdGUgcHRlX3dyaXRlCiAKLXN0 YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBw dGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQog ewogCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfUk8pOwogfQpkaWZmIC0tZ2l0 IGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9wZ3RhYmxlLmggYi9hcmNoL3Bv d2VycGMvaW5jbHVkZS9hc20vbm9oYXNoLzY0L3BndGFibGUuaAppbmRleCA4NzllOWE2ZTVhODcu LjUyNjg2ODgxN2RmMCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFz aC82NC9wZ3RhYmxlLmgKKysrIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9w Z3RhYmxlLmgKQEAgLTg1LDcgKzg1LDcgQEAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAvKiBwdGVf Y2xlYXIgbW92ZWQgdG8gbGF0ZXIgaW4gdGhpcyBmaWxlICovCiAKLXN0YXRpYyBpbmxpbmUgcHRl X3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0 ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXJldHVybiBfX3B0 ZShwdGVfdmFsKHB0ZSkgfCBfUEFHRV9SVyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2lu Y2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oCmlu ZGV4IDNlMDFmNGYzYWIwOC4uN2ViN2RkNTU4MzE5IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2lu Y2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUu aApAQCAtMzM4LDcgKzMzOCw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX3dycHJvdGVjdChw dGVfdCBwdGUpCiAKIC8qIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rcmVhZChwdGVfdCBwdGUp ICovCiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGlj IGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVj dCAqdm1hKQogewogCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgfCBfUEFHRV9XUklURSk7CiB9 CkBAIC02MjQsOSArNjI0LDkgQEAgc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt5b3VuZyhwbWRf dCBwbWQpCiAJcmV0dXJuIHB0ZV9wbWQocHRlX21reW91bmcocG1kX3B0ZShwbWQpKSk7CiB9CiAK LXN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3QgcG1kKQorc3RhdGljIGlubGlu ZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBwbWQsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1h KQogewotCXJldHVybiBwdGVfcG1kKHB0ZV9ta3dyaXRlKHBtZF9wdGUocG1kKSkpOworCXJldHVy biBwdGVfcG1kKHB0ZV9ta3dyaXRlKHBtZF9wdGUocG1kKSwgdm1hKSk7CiB9CiAKIHN0YXRpYyBp bmxpbmUgcG1kX3QgcG1kX3dycHJvdGVjdChwbWRfdCBwbWQpCmRpZmYgLS1naXQgYS9hcmNoL3Mz OTAvaW5jbHVkZS9hc20vaHVnZXRsYi5oIGIvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2h1Z2V0bGIu aAppbmRleCBjY2RiY2NmZGUxNDguLjU1OGY3ZWVmOWM0ZCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkw L2luY2x1ZGUvYXNtL2h1Z2V0bGIuaAorKysgYi9hcmNoL3MzOTAvaW5jbHVkZS9hc20vaHVnZXRs Yi5oCkBAIC0xMDIsOSArMTAyLDkgQEAgc3RhdGljIGlubGluZSBpbnQgaHVnZV9wdGVfZGlydHko cHRlX3QgcHRlKQogCXJldHVybiBwdGVfZGlydHkocHRlKTsKIH0KIAotc3RhdGljIGlubGluZSBw dGVfdCBodWdlX3B0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBpbmxpbmUgcHRlX3QgaHVn ZV9wdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewot CXJldHVybiBwdGVfbWt3cml0ZShwdGUpOworCXJldHVybiBwdGVfbWt3cml0ZShwdGUsIHZtYSk7 CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgaHVnZV9wdGVfbWtkaXJ0eShwdGVfdCBwdGUpCmRp ZmYgLS1naXQgYS9hcmNoL3MzOTAvaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9zMzkwL2lu Y2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBjNDhhNDQ3ZDE0MzIuLmVkZjI5MDQyOTA1MCAxMDA2 NDQKLS0tIGEvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL3MzOTAv aW5jbHVkZS9hc20vcGd0YWJsZS5oCkBAIC05OTksNyArOTk5LDcgQEAgc3RhdGljIGlubGluZSBw dGVfdCBwdGVfbWt3cml0ZV9rZXJuZWwocHRlX3QgcHRlKQogCXJldHVybiBwdGU7CiB9CiAKLXN0 YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBw dGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQog ewogCXJldHVybiBwdGVfbWt3cml0ZV9rZXJuZWwocHRlKTsKIH0KQEAgLTE0MzMsNyArMTQzMyw3 IEBAIHN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGVfa2VybmVsKHBtZF90IHBtZCkKIAly ZXR1cm4gcG1kOwogfQogCi1zdGF0aWMgaW5saW5lIHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBt ZCkKK3N0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3QgcG1kLCBzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlyZXR1cm4gcG1kX21rd3JpdGVfa2VybmVsKHBtZCk7CiB9 CmRpZmYgLS1naXQgYS9hcmNoL3NoL2luY2x1ZGUvYXNtL3BndGFibGVfMzIuaCBiL2FyY2gvc2gv aW5jbHVkZS9hc20vcGd0YWJsZV8zMi5oCmluZGV4IGQwMjQwZGVjYWNjYS4uM2RkZjdlMTNjNmFh IDEwMDY0NAotLS0gYS9hcmNoL3NoL2luY2x1ZGUvYXNtL3BndGFibGVfMzIuaAorKysgYi9hcmNo L3NoL2luY2x1ZGUvYXNtL3BndGFibGVfMzIuaApAQCAtMzUxLDYgKzM1MSwxMiBAQCBzdGF0aWMg aW5saW5lIHZvaWQgc2V0X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQogCiAjZGVmaW5lIFBU RV9CSVRfRlVOQyhoLGZuLG9wKSBcCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV8jI2ZuKHB0ZV90 IHB0ZSkgeyBwdGUucHRlXyMjaCBvcDsgcmV0dXJuIHB0ZTsgfQorI2RlZmluZSBQVEVfQklUX0ZV TkNfVk1BKGgsZm4sb3ApIFwKK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlXyMjZm4ocHRlX3QgcHRl LCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkgXAoreyBcCisJcHRlLnB0ZV8jI2ggb3A7IFwK KwlyZXR1cm4gcHRlOyBcCit9CiAKICNpZmRlZiBDT05GSUdfWDJUTEIKIC8qCkBAIC0zNTksMTEg KzM2NSwxMSBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV8jI2ZuKHB0ZV90IHB0ZSkgeyBwdGUu cHRlXyMjaCBvcDsgcmV0dXJuIHB0ZTsgfQogICoga2VybmVsIHBlcm1pc3Npb25zKSwgd2UgYXR0 ZW1wdCB0byBjb3VwbGUgdGhlbSBhIGJpdCBtb3JlIHNhbmVseSBoZXJlLgogICovCiBQVEVfQklU X0ZVTkMoaGlnaCwgd3Jwcm90ZWN0LCAmPSB+KF9QQUdFX0VYVF9VU0VSX1dSSVRFIHwgX1BBR0Vf RVhUX0tFUk5fV1JJVEUpKTsKLVBURV9CSVRfRlVOQyhoaWdoLCBta3dyaXRlLCB8PSBfUEFHRV9F WFRfVVNFUl9XUklURSB8IF9QQUdFX0VYVF9LRVJOX1dSSVRFKTsKK1BURV9CSVRfRlVOQ19WTUEo aGlnaCwgbWt3cml0ZSwgfD0gX1BBR0VfRVhUX1VTRVJfV1JJVEUgfCBfUEFHRV9FWFRfS0VSTl9X UklURSk7CiBQVEVfQklUX0ZVTkMoaGlnaCwgbWtodWdlLCB8PSBfUEFHRV9TWkhVR0UpOwogI2Vs c2UKIFBURV9CSVRfRlVOQyhsb3csIHdycHJvdGVjdCwgJj0gfl9QQUdFX1JXKTsKLVBURV9CSVRf RlVOQyhsb3csIG1rd3JpdGUsIHw9IF9QQUdFX1JXKTsKK1BURV9CSVRfRlVOQ19WTUEobG93LCBt a3dyaXRlLCB8PSBfUEFHRV9SVyk7CiBQVEVfQklUX0ZVTkMobG93LCBta2h1Z2UsIHw9IF9QQUdF X1NaSFVHRSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9pbmNsdWRlL2FzbS9w Z3RhYmxlXzMyLmggYi9hcmNoL3NwYXJjL2luY2x1ZGUvYXNtL3BndGFibGVfMzIuaAppbmRleCA1 YWNjMDViNTcyZTYuLmJhODI5ODgxYzkwNCAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYy9pbmNsdWRl L2FzbS9wZ3RhYmxlXzMyLmgKKysrIGIvYXJjaC9zcGFyYy9pbmNsdWRlL2FzbS9wZ3RhYmxlXzMy LmgKQEAgLTI0MSw3ICsyNDEsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta29sZChwdGVf dCBwdGUpCiAJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5TUk1NVV9SRUYpOwogfQogCi1z dGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBpbmxpbmUg cHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkK IHsKIAlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpIHwgU1JNTVVfV1JJVEUpOwogfQpkaWZmIC0t Z2l0IGEvYXJjaC9zcGFyYy9pbmNsdWRlL2FzbS9wZ3RhYmxlXzY0LmggYi9hcmNoL3NwYXJjL2lu Y2x1ZGUvYXNtL3BndGFibGVfNjQuaAppbmRleCAzYmM5NzM2YmRkYjEuLjcxZGY1ODU2MjEzOCAx MDA2NDQKLS0tIGEvYXJjaC9zcGFyYy9pbmNsdWRlL2FzbS9wZ3RhYmxlXzY0LmgKKysrIGIvYXJj aC9zcGFyYy9pbmNsdWRlL2FzbS9wZ3RhYmxlXzY0LmgKQEAgLTQ2Myw3ICs0NjMsNyBAQCBzdGF0 aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2NsZWFuKHB0ZV90IHB0ZSkKIAlyZXR1cm4gX19wdGUodmFs KTsKIH0KIAotc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCitzdGF0 aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWEpCiB7CiAJdW5zaWduZWQgbG9uZyB2YWwgPSBwdGVfdmFsKHB0ZSksIG1hc2s7CiAK QEAgLTc1MywxMSArNzUzLDExIEBAIHN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21reW91bmcocG1k X3QgcG1kKQogCXJldHVybiBfX3BtZChwdGVfdmFsKHB0ZSkpOwogfQogCi1zdGF0aWMgaW5saW5l IHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBtZCkKK3N0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21r d3JpdGUocG1kX3QgcG1kLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlwdGVfdCBw dGUgPSBfX3B0ZShwbWRfdmFsKHBtZCkpOwogCi0JcHRlID0gcHRlX21rd3JpdGUocHRlKTsKKwlw dGUgPSBwdGVfbWt3cml0ZShwdGUsIHZtYSk7CiAKIAlyZXR1cm4gX19wbWQocHRlX3ZhbChwdGUp KTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvdW0vaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC91 bS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKaW5kZXggNGUzMDUyZjI2NzFhLi4wZjk1NTRhYjZiNmYg MTAwNjQ0Ci0tLSBhL2FyY2gvdW0vaW5jbHVkZS9hc20vcGd0YWJsZS5oCisrKyBiL2FyY2gvdW0v aW5jbHVkZS9hc20vcGd0YWJsZS5oCkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIGlubGluZSBw dGVfdCBwdGVfbWt5b3VuZyhwdGVfdCBwdGUpCiAJcmV0dXJuKHB0ZSk7CiB9CiAKLXN0YXRpYyBp bmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBw dGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCWlm ICh1bmxpa2VseShwdGVfZ2V0X2JpdHMocHRlLCAgX1BBR0VfUlcpKSkKIAkJcmV0dXJuIHB0ZTsK ZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCA0ZjlmZGRjZmYyYjkuLjJiNDIzZDY5NzQ5MCAxMDA2 NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcGd0YWJsZS5oCisrKyBiL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL3BndGFibGUuaApAQCAtMzY5LDcgKzM2OSw5IEBAIHN0YXRpYyBpbmxpbmUgcHRl X3QgcHRlX21rd3JpdGVfa2VybmVsKHB0ZV90IHB0ZSkKIAlyZXR1cm4gcHRlX3NldF9mbGFncyhw dGUsIF9QQUdFX1JXKTsKIH0KIAotc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVf dCBwdGUpCitzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Q7CisKK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRl X21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlyZXR1 cm4gcHRlX21rd3JpdGVfa2VybmVsKHB0ZSk7CiB9CkBAIC00NzAsNyArNDcyLDcgQEAgc3RhdGlj IGlubGluZSBwbWRfdCBwbWRfbWt5b3VuZyhwbWRfdCBwbWQpCiAJcmV0dXJuIHBtZF9zZXRfZmxh Z3MocG1kLCBfUEFHRV9BQ0NFU1NFRCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21r d3JpdGUocG1kX3QgcG1kKQorc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBw bWQsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXJldHVybiBwbWRfc2V0X2ZsYWdz KHBtZCwgX1BBR0VfUlcpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94dGVuc2EvaW5jbHVkZS9hc20v cGd0YWJsZS5oIGIvYXJjaC94dGVuc2EvaW5jbHVkZS9hc20vcGd0YWJsZS5oCmluZGV4IDViNTQ4 NGQ3MDdiMi4uMTNmMDViMGQzOGEzIDEwMDY0NAotLS0gYS9hcmNoL3h0ZW5zYS9pbmNsdWRlL2Fz bS9wZ3RhYmxlLmgKKysrIGIvYXJjaC94dGVuc2EvaW5jbHVkZS9hc20vcGd0YWJsZS5oCkBAIC0y NTgsNyArMjU4LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtkaXJ0eShwdGVfdCBwdGUp CiAJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfRElSVFk7IHJldHVybiBwdGU7IH0KIHN0YXRpYyBp bmxpbmUgcHRlX3QgcHRlX21reW91bmcocHRlX3QgcHRlKQogCXsgcHRlX3ZhbChwdGUpIHw9IF9Q QUdFX0FDQ0VTU0VEOyByZXR1cm4gcHRlOyB9Ci1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dy aXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRl LCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIAl7IHB0ZV92YWwocHRlKSB8PSBfUEFHRV9X UklUQUJMRTsgcmV0dXJuIHB0ZTsgfQogCiAjZGVmaW5lIHBncHJvdF9ub25jYWNoZWQocHJvdCkg XApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZ2VuZXJpYy9odWdldGxiLmggYi9pbmNsdWRlL2Fz bS1nZW5lcmljL2h1Z2V0bGIuaAppbmRleCBhNTdkNjY3YWRkZDIuLjQ1ZThjNGE5OGNmNCAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9hc20tZ2VuZXJpYy9odWdldGxiLmgKKysrIGIvaW5jbHVkZS9hc20t Z2VuZXJpYy9odWdldGxiLmgKQEAgLTIwLDkgKzIwLDkgQEAgc3RhdGljIGlubGluZSB1bnNpZ25l ZCBsb25nIGh1Z2VfcHRlX2RpcnR5KHB0ZV90IHB0ZSkKIAlyZXR1cm4gcHRlX2RpcnR5KHB0ZSk7 CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgaHVnZV9wdGVfbWt3cml0ZShwdGVfdCBwdGUpCitz dGF0aWMgaW5saW5lIHB0ZV90IGh1Z2VfcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnZtYSkKIHsKLQlyZXR1cm4gcHRlX21rd3JpdGUocHRlKTsKKwlyZXR1cm4g cHRlX21rd3JpdGUocHRlLCB2bWEpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90IGh1Z2VfcHRl X21rZGlydHkocHRlX3QgcHRlKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbS5oIGIvaW5j bHVkZS9saW51eC9tbS5oCmluZGV4IDdhZmM4NmQ1MDQ0Mi4uNDY1MGUyNTgwZDYwIDEwMDY0NAot LS0gYS9pbmNsdWRlL2xpbnV4L21tLmgKKysrIGIvaW5jbHVkZS9saW51eC9tbS5oCkBAIC0xMTAy LDcgKzExMDIsNyBAQCB2b2lkIGZyZWVfY29tcG91bmRfcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSk7 CiBzdGF0aWMgaW5saW5lIHB0ZV90IG1heWJlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlpZiAobGlrZWx5KHZtYS0+dm1fZmxhZ3MgJiBWTV9XUklU RSkpCi0JCXB0ZSA9IHB0ZV9ta3dyaXRlKHB0ZSk7CisJCXB0ZSA9IHB0ZV9ta3dyaXRlKHB0ZSwg dm1hKTsKIAlyZXR1cm4gcHRlOwogfQogCmRpZmYgLS1naXQgYS9tbS9kZWJ1Z192bV9wZ3RhYmxl LmMgYi9tbS9kZWJ1Z192bV9wZ3RhYmxlLmMKaW5kZXggYzYzMWFkZTNmMWQyLi5lZTdkNmZjMzYx MjggMTAwNjQ0Ci0tLSBhL21tL2RlYnVnX3ZtX3BndGFibGUuYworKysgYi9tbS9kZWJ1Z192bV9w Z3RhYmxlLmMKQEAgLTEwNywxMCArMTA3LDEwIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwdGVfYmFz aWNfdGVzdHMoc3RydWN0IHBndGFibGVfZGVidWdfYXJncyAqYXJncywgaW50IGlkeCkKIAlXQVJO X09OKCFwdGVfc2FtZShwdGUsIHB0ZSkpOwogCVdBUk5fT04oIXB0ZV95b3VuZyhwdGVfbWt5b3Vu ZyhwdGVfbWtvbGQocHRlKSkpKTsKIAlXQVJOX09OKCFwdGVfZGlydHkocHRlX21rZGlydHkocHRl X21rY2xlYW4ocHRlKSkpKTsKLQlXQVJOX09OKCFwdGVfd3JpdGUocHRlX21rd3JpdGUocHRlX3dy cHJvdGVjdChwdGUpKSkpOworCVdBUk5fT04oIXB0ZV93cml0ZShwdGVfbWt3cml0ZShwdGVfd3Jw cm90ZWN0KHB0ZSksIGFyZ3MtPnZtYSkpKTsKIAlXQVJOX09OKHB0ZV95b3VuZyhwdGVfbWtvbGQo cHRlX21reW91bmcocHRlKSkpKTsKIAlXQVJOX09OKHB0ZV9kaXJ0eShwdGVfbWtjbGVhbihwdGVf bWtkaXJ0eShwdGUpKSkpOwotCVdBUk5fT04ocHRlX3dyaXRlKHB0ZV93cnByb3RlY3QocHRlX21r d3JpdGUocHRlKSkpKTsKKwlXQVJOX09OKHB0ZV93cml0ZShwdGVfd3Jwcm90ZWN0KHB0ZV9ta3dy aXRlKHB0ZSwgYXJncy0+dm1hKSkpKTsKIAlXQVJOX09OKHB0ZV9kaXJ0eShwdGVfd3Jwcm90ZWN0 KHB0ZV9ta2NsZWFuKHB0ZSkpKSk7CiAJV0FSTl9PTighcHRlX2RpcnR5KHB0ZV93cnByb3RlY3Qo cHRlX21rZGlydHkocHRlKSkpKTsKIH0KQEAgLTE1MSw3ICsxNTEsNyBAQCBzdGF0aWMgdm9pZCBf X2luaXQgcHRlX2FkdmFuY2VkX3Rlc3RzKHN0cnVjdCBwZ3RhYmxlX2RlYnVnX2FyZ3MgKmFyZ3Mp CiAJcHRlID0gcHRlX21rY2xlYW4ocHRlKTsKIAlzZXRfcHRlX2F0KGFyZ3MtPm1tLCBhcmdzLT52 YWRkciwgYXJncy0+cHRlcCwgcHRlKTsKIAlmbHVzaF9kY2FjaGVfcGFnZShwYWdlKTsKLQlwdGUg PSBwdGVfbWt3cml0ZShwdGUpOworCXB0ZSA9IHB0ZV9ta3dyaXRlKHB0ZSwgYXJncy0+dm1hKTsK IAlwdGUgPSBwdGVfbWtkaXJ0eShwdGUpOwogCXB0ZXBfc2V0X2FjY2Vzc19mbGFncyhhcmdzLT52 bWEsIGFyZ3MtPnZhZGRyLCBhcmdzLT5wdGVwLCBwdGUsIDEpOwogCXB0ZSA9IHB0ZXBfZ2V0KGFy Z3MtPnB0ZXApOwpAQCAtMTk3LDEwICsxOTcsMTAgQEAgc3RhdGljIHZvaWQgX19pbml0IHBtZF9i YXNpY190ZXN0cyhzdHJ1Y3QgcGd0YWJsZV9kZWJ1Z19hcmdzICphcmdzLCBpbnQgaWR4KQogCVdB Uk5fT04oIXBtZF9zYW1lKHBtZCwgcG1kKSk7CiAJV0FSTl9PTighcG1kX3lvdW5nKHBtZF9ta3lv dW5nKHBtZF9ta29sZChwbWQpKSkpOwogCVdBUk5fT04oIXBtZF9kaXJ0eShwbWRfbWtkaXJ0eShw bWRfbWtjbGVhbihwbWQpKSkpOwotCVdBUk5fT04oIXBtZF93cml0ZShwbWRfbWt3cml0ZShwbWRf d3Jwcm90ZWN0KHBtZCkpKSk7CisJV0FSTl9PTighcG1kX3dyaXRlKHBtZF9ta3dyaXRlKHBtZF93 cnByb3RlY3QocG1kKSwgYXJncy0+dm1hKSkpOwogCVdBUk5fT04ocG1kX3lvdW5nKHBtZF9ta29s ZChwbWRfbWt5b3VuZyhwbWQpKSkpOwogCVdBUk5fT04ocG1kX2RpcnR5KHBtZF9ta2NsZWFuKHBt ZF9ta2RpcnR5KHBtZCkpKSk7Ci0JV0FSTl9PTihwbWRfd3JpdGUocG1kX3dycHJvdGVjdChwbWRf bWt3cml0ZShwbWQpKSkpOworCVdBUk5fT04ocG1kX3dyaXRlKHBtZF93cnByb3RlY3QocG1kX21r d3JpdGUocG1kLCBhcmdzLT52bWEpKSkpOwogCVdBUk5fT04ocG1kX2RpcnR5KHBtZF93cnByb3Rl Y3QocG1kX21rY2xlYW4ocG1kKSkpKTsKIAlXQVJOX09OKCFwbWRfZGlydHkocG1kX3dycHJvdGVj dChwbWRfbWtkaXJ0eShwbWQpKSkpOwogCS8qCkBAIC0yNTEsNyArMjUxLDcgQEAgc3RhdGljIHZv aWQgX19pbml0IHBtZF9hZHZhbmNlZF90ZXN0cyhzdHJ1Y3QgcGd0YWJsZV9kZWJ1Z19hcmdzICph cmdzKQogCXBtZCA9IHBtZF9ta2NsZWFuKHBtZCk7CiAJc2V0X3BtZF9hdChhcmdzLT5tbSwgdmFk ZHIsIGFyZ3MtPnBtZHAsIHBtZCk7CiAJZmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7Ci0JcG1kID0g cG1kX21rd3JpdGUocG1kKTsKKwlwbWQgPSBwbWRfbWt3cml0ZShwbWQsIGFyZ3MtPnZtYSk7CiAJ cG1kID0gcG1kX21rZGlydHkocG1kKTsKIAlwbWRwX3NldF9hY2Nlc3NfZmxhZ3MoYXJncy0+dm1h LCB2YWRkciwgYXJncy0+cG1kcCwgcG1kLCAxKTsKIAlwbWQgPSBSRUFEX09OQ0UoKmFyZ3MtPnBt ZHApOwpAQCAtOTAzLDggKzkwMyw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBodWdldGxiX2Jhc2lj X3Rlc3RzKHN0cnVjdCBwZ3RhYmxlX2RlYnVnX2FyZ3MgKmFyZ3MpCiAJcHRlID0gbWtfaHVnZV9w dGUocGFnZSwgYXJncy0+cGFnZV9wcm90KTsKIAogCVdBUk5fT04oIWh1Z2VfcHRlX2RpcnR5KGh1 Z2VfcHRlX21rZGlydHkocHRlKSkpOwotCVdBUk5fT04oIWh1Z2VfcHRlX3dyaXRlKGh1Z2VfcHRl X21rd3JpdGUoaHVnZV9wdGVfd3Jwcm90ZWN0KHB0ZSkpKSk7Ci0JV0FSTl9PTihodWdlX3B0ZV93 cml0ZShodWdlX3B0ZV93cnByb3RlY3QoaHVnZV9wdGVfbWt3cml0ZShwdGUpKSkpOworCVdBUk5f T04oIWh1Z2VfcHRlX3dyaXRlKGh1Z2VfcHRlX21rd3JpdGUoaHVnZV9wdGVfd3Jwcm90ZWN0KHB0 ZSksIGFyZ3MtPnZtYSkpKTsKKwlXQVJOX09OKGh1Z2VfcHRlX3dyaXRlKGh1Z2VfcHRlX3dycHJv dGVjdChodWdlX3B0ZV9ta3dyaXRlKHB0ZSwgYXJncy0+dm1hKSkpKTsKIAogI2lmZGVmIENPTkZJ R19BUkNIX1dBTlRfR0VORVJBTF9IVUdFVExCCiAJcHRlID0gcGZuX3B0ZShhcmdzLT5maXhlZF9w bWRfcGZuLCBhcmdzLT5wYWdlX3Byb3QpOwpkaWZmIC0tZ2l0IGEvbW0vaHVnZV9tZW1vcnkuYyBi L21tL2h1Z2VfbWVtb3J5LmMKaW5kZXggYWJlNmNmZDkyZmZhLi5hMjE2MTI5ZTZhN2MgMTAwNjQ0 Ci0tLSBhL21tL2h1Z2VfbWVtb3J5LmMKKysrIGIvbW0vaHVnZV9tZW1vcnkuYwpAQCAtNTU0LDcg KzU1NCw3IEBAIF9fc2V0dXAoInRyYW5zcGFyZW50X2h1Z2VwYWdlPSIsIHNldHVwX3RyYW5zcGFy ZW50X2h1Z2VwYWdlKTsKIHBtZF90IG1heWJlX3BtZF9ta3dyaXRlKHBtZF90IHBtZCwgc3RydWN0 IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CiAJaWYgKGxpa2VseSh2bWEtPnZtX2ZsYWdzICYgVk1f V1JJVEUpKQotCQlwbWQgPSBwbWRfbWt3cml0ZShwbWQpOworCQlwbWQgPSBwbWRfbWt3cml0ZShw bWQsIHZtYSk7CiAJcmV0dXJuIHBtZDsKIH0KIApAQCAtMTU4Nyw3ICsxNTg3LDcgQEAgdm1fZmF1 bHRfdCBkb19odWdlX3BtZF9udW1hX3BhZ2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJcG1kID0g cG1kX21vZGlmeShvbGRwbWQsIHZtYS0+dm1fcGFnZV9wcm90KTsKIAlwbWQgPSBwbWRfbWt5b3Vu ZyhwbWQpOwogCWlmICh3cml0YWJsZSkKLQkJcG1kID0gcG1kX21rd3JpdGUocG1kKTsKKwkJcG1k ID0gcG1kX21rd3JpdGUocG1kLCB2bWEpOwogCXNldF9wbWRfYXQodm1hLT52bV9tbSwgaGFkZHIs IHZtZi0+cG1kLCBwbWQpOwogCXVwZGF0ZV9tbXVfY2FjaGVfcG1kKHZtYSwgdm1mLT5hZGRyZXNz LCB2bWYtPnBtZCk7CiAJc3Bpbl91bmxvY2sodm1mLT5wdGwpOwpAQCAtMTkzNSw3ICsxOTM1LDcg QEAgaW50IGNoYW5nZV9odWdlX3BtZChzdHJ1Y3QgbW11X2dhdGhlciAqdGxiLCBzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnZtYSwKIAkvKiBTZWUgY2hhbmdlX3B0ZV9yYW5nZSgpLiAqLwogCWlmICgo Y3BfZmxhZ3MgJiBNTV9DUF9UUllfQ0hBTkdFX1dSSVRBQkxFKSAmJiAhcG1kX3dyaXRlKGVudHJ5 KSAmJgogCSAgICBjYW5fY2hhbmdlX3BtZF93cml0YWJsZSh2bWEsIGFkZHIsIGVudHJ5KSkKLQkJ ZW50cnkgPSBwbWRfbWt3cml0ZShlbnRyeSk7CisJCWVudHJ5ID0gcG1kX21rd3JpdGUoZW50cnks IHZtYSk7CiAKIAlyZXQgPSBIUEFHRV9QTURfTlI7CiAJc2V0X3BtZF9hdChtbSwgYWRkciwgcG1k LCBlbnRyeSk7CmRpZmYgLS1naXQgYS9tbS9odWdldGxiLmMgYi9tbS9odWdldGxiLmMKaW5kZXgg YmRiZmViNmZiMzkzLi4wZjVjZjlhM2NkYjcgMTAwNjQ0Ci0tLSBhL21tL2h1Z2V0bGIuYworKysg Yi9tbS9odWdldGxiLmMKQEAgLTQ4OTgsNyArNDg5OCw3IEBAIHN0YXRpYyBwdGVfdCBtYWtlX2h1 Z2VfcHRlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKIAog CWlmICh3cml0YWJsZSkgewogCQllbnRyeSA9IGh1Z2VfcHRlX21rd3JpdGUoaHVnZV9wdGVfbWtk aXJ0eShta19odWdlX3B0ZShwYWdlLAotCQkJCQkgdm1hLT52bV9wYWdlX3Byb3QpKSk7CisJCQkJ CSB2bWEtPnZtX3BhZ2VfcHJvdCkpLCB2bWEpOwogCX0gZWxzZSB7CiAJCWVudHJ5ID0gaHVnZV9w dGVfd3Jwcm90ZWN0KG1rX2h1Z2VfcHRlKHBhZ2UsCiAJCQkJCSAgIHZtYS0+dm1fcGFnZV9wcm90 KSk7CkBAIC00OTE0LDcgKzQ5MTQsNyBAQCBzdGF0aWMgdm9pZCBzZXRfaHVnZV9wdGVwX3dyaXRh YmxlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogewogCXB0ZV90IGVudHJ5OwogCi0JZW50 cnkgPSBodWdlX3B0ZV9ta3dyaXRlKGh1Z2VfcHRlX21rZGlydHkoaHVnZV9wdGVwX2dldChwdGVw KSkpOworCWVudHJ5ID0gaHVnZV9wdGVfbWt3cml0ZShodWdlX3B0ZV9ta2RpcnR5KGh1Z2VfcHRl cF9nZXQocHRlcCkpLCB2bWEpOwogCWlmIChodWdlX3B0ZXBfc2V0X2FjY2Vzc19mbGFncyh2bWEs IGFkZHJlc3MsIHB0ZXAsIGVudHJ5LCAxKSkKIAkJdXBkYXRlX21tdV9jYWNoZSh2bWEsIGFkZHJl c3MsIHB0ZXApOwogfQpkaWZmIC0tZ2l0IGEvbW0vbWVtb3J5LmMgYi9tbS9tZW1vcnkuYwppbmRl eCAzZTgzNmZlY2QwMzUuLjZhZDAzMWQ1Y2ZiMCAxMDA2NDQKLS0tIGEvbW0vbWVtb3J5LmMKKysr IGIvbW0vbWVtb3J5LmMKQEAgLTQwODksNyArNDA4OSw3IEBAIHN0YXRpYyB2bV9mYXVsdF90IGRv X2Fub255bW91c19wYWdlKHN0cnVjdCB2bV9mYXVsdCAqdm1mKQogCWVudHJ5ID0gbWtfcHRlKHBh Z2UsIHZtYS0+dm1fcGFnZV9wcm90KTsKIAllbnRyeSA9IHB0ZV9zd19ta3lvdW5nKGVudHJ5KTsK IAlpZiAodm1hLT52bV9mbGFncyAmIFZNX1dSSVRFKQotCQllbnRyeSA9IHB0ZV9ta3dyaXRlKHB0 ZV9ta2RpcnR5KGVudHJ5KSk7CisJCWVudHJ5ID0gcHRlX21rd3JpdGUocHRlX21rZGlydHkoZW50 cnkpLCB2bWEpOwogCiAJdm1mLT5wdGUgPSBwdGVfb2Zmc2V0X21hcF9sb2NrKHZtYS0+dm1fbW0s IHZtZi0+cG1kLCB2bWYtPmFkZHJlc3MsCiAJCQkmdm1mLT5wdGwpOwpAQCAtNDc3Nyw3ICs0Nzc3 LDcgQEAgc3RhdGljIHZtX2ZhdWx0X3QgZG9fbnVtYV9wYWdlKHN0cnVjdCB2bV9mYXVsdCAqdm1m KQogCXB0ZSA9IHB0ZV9tb2RpZnkob2xkX3B0ZSwgdm1hLT52bV9wYWdlX3Byb3QpOwogCXB0ZSA9 IHB0ZV9ta3lvdW5nKHB0ZSk7CiAJaWYgKHdyaXRhYmxlKQotCQlwdGUgPSBwdGVfbWt3cml0ZShw dGUpOworCQlwdGUgPSBwdGVfbWt3cml0ZShwdGUsIHZtYSk7CiAJcHRlcF9tb2RpZnlfcHJvdF9j b21taXQodm1hLCB2bWYtPmFkZHJlc3MsIHZtZi0+cHRlLCBvbGRfcHRlLCBwdGUpOwogCXVwZGF0 ZV9tbXVfY2FjaGUodm1hLCB2bWYtPmFkZHJlc3MsIHZtZi0+cHRlKTsKIAlwdGVfdW5tYXBfdW5s b2NrKHZtZi0+cHRlLCB2bWYtPnB0bCk7CmRpZmYgLS1naXQgYS9tbS9taWdyYXRlX2RldmljZS5j IGIvbW0vbWlncmF0ZV9kZXZpY2UuYwppbmRleCA3MjFiMjM2NWRiY2EuLjBkMmM5N2Y2ZDU2MSAx MDA2NDQKLS0tIGEvbW0vbWlncmF0ZV9kZXZpY2UuYworKysgYi9tbS9taWdyYXRlX2RldmljZS5j CkBAIC02NDYsNyArNjQ2LDcgQEAgc3RhdGljIHZvaWQgbWlncmF0ZV92bWFfaW5zZXJ0X3BhZ2Uo c3RydWN0IG1pZ3JhdGVfdm1hICptaWdyYXRlLAogCQl9CiAJCWVudHJ5ID0gbWtfcHRlKHBhZ2Us IHZtYS0+dm1fcGFnZV9wcm90KTsKIAkJaWYgKHZtYS0+dm1fZmxhZ3MgJiBWTV9XUklURSkKLQkJ CWVudHJ5ID0gcHRlX21rd3JpdGUocHRlX21rZGlydHkoZW50cnkpKTsKKwkJCWVudHJ5ID0gcHRl X21rd3JpdGUocHRlX21rZGlydHkoZW50cnkpLCB2bWEpOwogCX0KIAogCXB0ZXAgPSBwdGVfb2Zm c2V0X21hcF9sb2NrKG1tLCBwbWRwLCBhZGRyLCAmcHRsKTsKZGlmZiAtLWdpdCBhL21tL21wcm90 ZWN0LmMgYi9tbS9tcHJvdGVjdC5jCmluZGV4IDYxY2Y2MDAxNWE4Yi4uMmE3MGQxNmVjNTU2IDEw MDY0NAotLS0gYS9tbS9tcHJvdGVjdC5jCisrKyBiL21tL21wcm90ZWN0LmMKQEAgLTIwMCw3ICsy MDAsNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBjaGFuZ2VfcHRlX3JhbmdlKHN0cnVjdCBtbXVf Z2F0aGVyICp0bGIsCiAJCQlpZiAoKGNwX2ZsYWdzICYgTU1fQ1BfVFJZX0NIQU5HRV9XUklUQUJM RSkgJiYKIAkJCSAgICAhcHRlX3dyaXRlKHB0ZW50KSAmJgogCQkJICAgIGNhbl9jaGFuZ2VfcHRl X3dyaXRhYmxlKHZtYSwgYWRkciwgcHRlbnQpKQotCQkJCXB0ZW50ID0gcHRlX21rd3JpdGUocHRl bnQpOworCQkJCXB0ZW50ID0gcHRlX21rd3JpdGUocHRlbnQsIHZtYSk7CiAKIAkJCXB0ZXBfbW9k aWZ5X3Byb3RfY29tbWl0KHZtYSwgYWRkciwgcHRlLCBvbGRwdGUsIHB0ZW50KTsKIAkJCWlmIChw dGVfbmVlZHNfZmx1c2gob2xkcHRlLCBwdGVudCkpCmRpZmYgLS1naXQgYS9tbS91c2VyZmF1bHRm ZC5jIGIvbW0vdXNlcmZhdWx0ZmQuYwppbmRleCAwNDk5OTA3YjZmMWEuLmMzYmNjNmZjZjI3YiAx MDA2NDQKLS0tIGEvbW0vdXNlcmZhdWx0ZmQuYworKysgYi9tbS91c2VyZmF1bHRmZC5jCkBAIC04 NSw3ICs4NSw3IEBAIGludCBtZmlsbF9hdG9taWNfaW5zdGFsbF9wdGUoc3RydWN0IG1tX3N0cnVj dCAqZHN0X21tLCBwbWRfdCAqZHN0X3BtZCwKIAl9CiAKIAlpZiAod3JpdGFibGUpCi0JCV9kc3Rf cHRlID0gcHRlX21rd3JpdGUoX2RzdF9wdGUpOworCQlfZHN0X3B0ZSA9IHB0ZV9ta3dyaXRlKF9k c3RfcHRlLCBkc3Rfdm1hKTsKIAllbHNlCiAJCS8qCiAJCSAqIFdlIG5lZWQgdGhpcyB0byBtYWtl IHN1cmUgd3JpdGUgYml0IHJlbW92ZWQ7IGFzIG1rX3B0ZSgpCi0tIAoyLjE3LjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1zbnBzLWFyYyBt YWlsaW5nIGxpc3QKbGludXgtc25wcy1hcmNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXNucHMtYXJjCg==