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 9DA7AC83004 for ; Mon, 27 Feb 2023 22:32:00 +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=gW9mEGXlFO7K++gMRLfIzJt9HVe+rfLCDXhOF6xWAAY=; b=qHm244yheVGAAj bDRzgUrJfuAIvr97vl07rFKeR+qd4GLgbeLIRVPOlea2UXSEDPPGqdqSLqz3YGOJPh3vQwryeb4WZ DlzEObgYeBoM1DyHF1C7ejlnDkSNMDu+lIslCgsgVTPNH0+vM8uyLSTyE22MglW1MEz2RBNSO7Tii l/+ZJvI7Z5LQGjTsluFvvwMIWodhP1BUEfzouGQEUJMtkq0CXkNLZ/C2UQJIuKV9zDk5km61jTz1X 6q3OW1HtYQAka+vhwj9PGl4K89ed6vcCzprE2UKxdqG86/LKiqBnurBdj1tB2TJJN/wNKnaINpNst BKNjdMfRYnUs5hajMBtw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pWm2I-00BSq3-Mt; Mon, 27 Feb 2023 22:31:58 +0000 Received: from mga12.intel.com ([192.55.52.136]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pWm21-00BSc7-2O; Mon, 27 Feb 2023 22:31:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677537101; x=1709073101; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jtLiGLS5ozXsIx63+p41sv5RK32EOGBRgxF7nrBF+NQ=; b=Gd++Ss6FzJgVgLN+e7b1/Qj/XCssBYw8HMemTiMAFCDT2I0YJjp+vXfj s3DuuFNSVTpwLhkOWNYB+Y7YfxXN4B/SE0pdCLezc0JQLQ3T+lzThgBtU mkyCpB9DX90G2IhFoUFaNjYqmLhpj9ZRi8/rueexwktdAMpr6dgbAE9Lu PrYhte6wFSJjeai4GZl6L055aLyn62Amjzl2y3ZyYT6PTBuFgpwNgvqYo wxzY9fM3mUgsRwFi/wbkZYaJxv95pKLxzYOHUKkAwPzDnJMFDzWKyhDP7 aP9hiIs+a73LZ0xEvgu+kdcIC/f6A1j9OMWHD/lZ0J6P1KefdAOmxUr8D Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10634"; a="313657340" X-IronPort-AV: E=Sophos;i="5.98,220,1673942400"; d="scan'208";a="313657340" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2023 14:31:22 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10634"; a="848024498" X-IronPort-AV: E=Sophos;i="5.98,220,1673942400"; d="scan'208";a="848024498" Received: from leonqu-mobl1.amr.corp.intel.com (HELO rpedgeco-desk.amr.corp.intel.com) ([10.209.72.19]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2023 14:31:16 -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, linux-openrisc@vger.kernel.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 v7 13/41] mm: Make pte_mkwrite() take a VMA Date: Mon, 27 Feb 2023 14:29:29 -0800 Message-Id: <20230227222957.24501-14-rick.p.edgecombe@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230227222957.24501-1-rick.p.edgecombe@intel.com> References: <20230227222957.24501-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-20230227_143141_236167_D79B9E4E X-CRM114-Status: GOOD ( 20.85 ) X-BeenThere: linux-um@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-um" Errors-To: linux-um-bounces+linux-um=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 eC1taXBzQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtb3BlbnJpc2NAdmdlci5rZXJuZWwub3Jn CkNjOiBsaW51eC1wYXJpc2NAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eHBwYy1kZXZAbGlzdHMu b3psYWJzLm9yZwpDYzogbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGludXgt czM5MEB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXNoQHZnZXIua2VybmVsLm9yZwpDYzogc3Bh cmNsaW51eEB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXVtQGxpc3RzLmluZnJhZGVhZC5vcmcK Q2M6IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogbGludXgtYXJjaEB2Z2VyLmtl cm5lbC5vcmcKQ2M6IGxpbnV4LW1tQGt2YWNrLm9yZwpUZXN0ZWQtYnk6IFBlbmdmZWkgWHUgPHBl bmdmZWkueHVAaW50ZWwuY29tPgpUZXN0ZWQtYnk6IEpvaG4gQWxsZW4gPGpvaG4uYWxsZW5AYW1k LmNvbT4KVGVzdGVkLWJ5OiBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz4KQWNrZWQt Ynk6IE1pa2UgUmFwb3BvcnQgKElCTSkgPHJwcHRAa2VybmVsLm9yZz4KQWNrZWQtYnk6IE1pY2hh ZWwgRWxsZXJtYW4gPG1wZUBlbGxlcm1hbi5pZC5hdT4KQWNrZWQtYnk6IERhdmlkIEhpbGRlbmJy YW5kIDxkYXZpZEByZWRoYXQuY29tPgpSZXZpZXdlZC1ieTogS2VlcyBDb29rIDxrZWVzY29va0Bj aHJvbWl1bS5vcmc+ClN1Z2dlc3RlZC1ieTogRGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlkQHJlZGhh dC5jb20+ClNpZ25lZC1vZmYtYnk6IFJpY2sgRWRnZWNvbWJlIDxyaWNrLnAuZWRnZWNvbWJlQGlu dGVsLmNvbT4KCi0tLQpIaSBOb24teDg2IEFyY2jigJlzLAoKeDg2IGhhcyBhIGZlYXR1cmUgdGhh dCBhbGxvd3MgZm9yIHRoZSBjcmVhdGlvbiBvZiBhIHNwZWNpYWwgdHlwZSBvZgp3cml0YWJsZSBt ZW1vcnkgKHNoYWRvdyBzdGFjaykgdGhhdCBpcyBvbmx5IHdyaXRhYmxlIGluIGxpbWl0ZWQgc3Bl Y2lmaWMKd2F5cy4gUHJldmlvdXNseSwgY2hhbmdlcyB3ZXJlIHByb3Bvc2VkIHRvIGNvcmUgTU0g Y29kZSB0byB0ZWFjaCBpdCB0bwpkZWNpZGUgd2hlbiB0byBjcmVhdGUgbm9ybWFsbHkgd3JpdGFi bGUgbWVtb3J5IG9yIHRoZSBzcGVjaWFsIHNoYWRvdyBzdGFjawp3cml0YWJsZSBtZW1vcnksIGJ1 dCBEYXZpZCBIaWxkZW5icmFuZCBzdWdnZXN0ZWRbMF0gdG8gY2hhbmdlCnBYWF9ta3dyaXRlKCkg dG8gdGFrZSBhIFZNQSwgc28gYXdhcmVuZXNzIG9mIHNoYWRvdyBzdGFjayBtZW1vcnkgY2FuIGJl Cm1vdmVkIGludG8geDg2IGNvZGUuCgpTaW5jZSBwWFhfbWt3cml0ZSgpIGlzIGRlZmluZWQgaW4g ZXZlcnkgYXJjaCwgaXQgcmVxdWlyZXMgc29tZSB0cmVlLXdpZGUKY2hhbmdlcy4gU28gdGhhdCBp cyB3aHkgeW91IGFyZSBzZWVpbmcgc29tZSBwYXRjaGVzIG91dCBvZiBhIGJpZyB4ODYKc2VyaWVz IHBvcCB1cCBpbiB5b3VyIGFyY2ggbWFpbGluZyBsaXN0LiBUaGVyZSBpcyBubyBmdW5jdGlvbmFs IGNoYW5nZS4KQWZ0ZXIgdGhpcyByZWZhY3RvciwgdGhlIHNoYWRvdyBzdGFjayBzZXJpZXMgZ29l cyBvbiB0byB1c2UgdGhlIGFyY2gKaGVscGVycyB0byBwdXNoIHNoYWRvdyBzdGFjayBtZW1vcnkg ZGV0YWlscyBpbnNpZGUgYXJjaC94ODYuCgpUZXN0aW5nIHdhcyBqdXN0IDAtZGF5IGJ1aWxkIHRl c3RpbmcuCgpIb3BlZnVsbHkgdGhhdCBpcyBlbm91Z2ggY29udGV4dC4gVGhhbmtzIQoKWzBdIGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvMGUyOWEyZDAtMDhkOC1iY2Q2LWZmMjYtNGJlYTBl NDAzN2IwQHJlZGhhdC5jb20vI3QKCnY2OgogLSBOZXcgcGF0Y2gKLS0tCiBEb2N1bWVudGF0aW9u L21tL2FyY2hfcGd0YWJsZV9oZWxwZXJzLnJzdCAgICB8ICA5ICsrKysrKy0tLQogYXJjaC9hbHBo YS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgfCAgNiArKysrKy0KIGFyY2gvYXJj L2luY2x1ZGUvYXNtL2h1Z2VwYWdlLmggICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvYXJjL2lu Y2x1ZGUvYXNtL3BndGFibGUtYml0cy1hcmN2Mi5oICAgIHwgIDcgKysrKysrLQogYXJjaC9hcm0v aW5jbHVkZS9hc20vcGd0YWJsZS0zbGV2ZWwuaCAgICAgICAgfCAgNyArKysrKystCiBhcmNoL2Fy bS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgICB8ICAyICstCiBhcmNoL2FybTY0 L2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgICAgICB8ICA0ICsrLS0KIGFyY2gvY3NreS9p bmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvaGV4YWdvbi9p bmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgIHwgIDIgKy0KIGFyY2gvaWE2NC9pbmNsdWRl L2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbG9vbmdhcmNoL2luY2x1 ZGUvYXNtL3BndGFibGUuaCAgICAgICAgIHwgIDQgKystLQogYXJjaC9tNjhrL2luY2x1ZGUvYXNt L21jZl9wZ3RhYmxlLmggICAgICAgICAgfCAgMiArLQogYXJjaC9tNjhrL2luY2x1ZGUvYXNtL21v dG9yb2xhX3BndGFibGUuaCAgICAgfCAgNiArKysrKy0KIGFyY2gvbTY4ay9pbmNsdWRlL2FzbS9z dW4zX3BndGFibGUuaCAgICAgICAgIHwgIDYgKysrKystCiBhcmNoL21pY3JvYmxhemUvaW5jbHVk ZS9hc20vcGd0YWJsZS5oICAgICAgICB8ICAyICstCiBhcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0 YWJsZS5oICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogYXJjaC9uaW9zMi9pbmNsdWRlL2FzbS9w Z3RhYmxlLmggICAgICAgICAgICAgfCAgMiArLQogYXJjaC9vcGVucmlzYy9pbmNsdWRlL2FzbS9w Z3RhYmxlLmggICAgICAgICAgfCAgMiArLQogYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vcGd0YWJs ZS5oICAgICAgICAgICAgfCAgNiArKysrKy0KIGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29r M3MvMzIvcGd0YWJsZS5oIHwgIDIgKy0KIGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3Mv NjQvcGd0YWJsZS5oIHwgIDQgKystLQogYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC8z Mi9wZ3RhYmxlLmggfCAgMiArLQogYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC8zMi9w dGUtOHh4LmggfCAgMiArLQogYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9wZ3Rh YmxlLmggfCAgMiArLQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAg ICAgfCAgNiArKystLS0KIGFyY2gvczM5MC9pbmNsdWRlL2FzbS9odWdldGxiLmggICAgICAgICAg ICAgIHwgIDQgKystLQogYXJjaC9zMzkwL2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgICAg ICAgfCAgNCArKy0tCiBhcmNoL3NoL2luY2x1ZGUvYXNtL3BndGFibGVfMzIuaCAgICAgICAgICAg ICB8IDEwICsrKysrKysrLS0KIGFyY2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV8zMi5oICAg ICAgICAgIHwgIDIgKy0KIGFyY2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV82NC5oICAgICAg ICAgIHwgIDYgKysrLS0tCiBhcmNoL3VtL2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgICAg ICAgICB8ICAyICstCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAg ICB8ICA2ICsrKystLQogYXJjaC94dGVuc2EvaW5jbHVkZS9hc20vcGd0YWJsZS5oICAgICAgICAg ICAgfCAgMiArLQogaW5jbHVkZS9hc20tZ2VuZXJpYy9odWdldGxiLmggICAgICAgICAgICAgICAg fCAgNCArKy0tCiBpbmNsdWRlL2xpbnV4L21tLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstCiBtbS9kZWJ1Z192bV9wZ3RhYmxlLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDE2 ICsrKysrKysrLS0tLS0tLS0KIG1tL2h1Z2VfbWVtb3J5LmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDYgKysrLS0tCiBtbS9odWdldGxiLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA0ICsrLS0KIG1tL21lbW9yeS5jICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDQgKystLQogbW0vbWlncmF0ZV9kZXZpY2UuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogbW0vbXByb3RlY3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogbW0vdXNlcmZhdWx0ZmQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQogNDIgZmlsZXMgY2hhbmdlZCwgMTA2IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbW0vYXJjaF9wZ3RhYmxlX2hlbHBlcnMu cnN0IGIvRG9jdW1lbnRhdGlvbi9tbS9hcmNoX3BndGFibGVfaGVscGVycy5yc3QKaW5kZXggMzBk OWEwOWYwMWY0Li43OGFjM2ZmMmZlMWQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbW0vYXJj aF9wZ3RhYmxlX2hlbHBlcnMucnN0CisrKyBiL0RvY3VtZW50YXRpb24vbW0vYXJjaF9wZ3RhYmxl X2hlbHBlcnMucnN0CkBAIC00Niw3ICs0Niw4IEBAIFBURSBQYWdlIFRhYmxlIEhlbHBlcnMKICst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IHB0ZV9ta2NsZWFuICAgICAgICAgICAgICAgfCBDcmVh dGVzIGEgY2xlYW4gUFRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSsKLXwgcHRlX21rd3JpdGUgICAgICAgICAgICAgICB8IENyZWF0ZXMgYSB3 cml0YWJsZSBQVEUgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IHB0ZV9ta3dyaXRlICAg ICAgICAgICAgICAgfCBDcmVhdGVzIGEgd3JpdGFibGUgUFRFIG9mIHRoZSB0eXBlIHNwZWNpZmll ZCBieSAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhlIFZNQS4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r CiB8IHB0ZV93cnByb3RlY3QgICAgICAgICAgICAgfCBDcmVhdGVzIGEgd3JpdGUgcHJvdGVjdGVk IFBURSAgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKQEAgLTEx OCw3ICsxMTksOCBAQCBQTUQgUGFnZSBUYWJsZSBIZWxwZXJzCiArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKwogfCBwbWRfbWtjbGVhbiAgICAgICAgICAgICAgIHwgQ3JlYXRlcyBhIGNsZWFuIFBNRCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18 IHBtZF9ta3dyaXRlICAgICAgICAgICAgICAgfCBDcmVhdGVzIGEgd3JpdGFibGUgUE1EICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAorfCBwbWRfbWt3cml0ZSAgICAgICAgICAgICAgIHwgQ3Jl YXRlcyBhIHdyaXRhYmxlIFBNRCBvZiB0aGUgdHlwZSBzcGVjaWZpZWQgYnkgIHwKK3wgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IHRoZSBWTUEuICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBwbWRfd3Jwcm90ZWN0 ICAgICAgICAgICAgIHwgQ3JlYXRlcyBhIHdyaXRlIHByb3RlY3RlZCBQTUQgICAgICAgICAgICAg ICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCkBAIC0yMjIsNyArMjI0LDggQEAgSHVn ZVRMQiBQYWdlIFRhYmxlIEhlbHBlcnMKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGh1Z2Vf cHRlX21rZGlydHkgICAgICAgICAgfCBDcmVhdGVzIGEgZGlydHkgSHVnZVRMQiAgICAgICAgICAg ICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgaHVnZV9wdGVfbWt3 cml0ZSAgICAgICAgICB8IENyZWF0ZXMgYSB3cml0YWJsZSBIdWdlVExCICAgICAgICAgICAgICAg ICAgICAgICB8Cit8IGh1Z2VfcHRlX21rd3JpdGUgICAgICAgICAgfCBDcmVhdGVzIGEgd3JpdGFi bGUgSHVnZVRMQiBvZiB0aGUgdHlwZSBzcGVjaWZpZWQgfAorfCAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYnkgdGhlIFZNQS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGh1Z2VfcHRlX3dycHJvdGVjdCAgICAgICAg fCBDcmVhdGVzIGEgd3JpdGUgcHJvdGVjdGVkIEh1Z2VUTEIgICAgICAgICAgICAgICAgfAogKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEvaW5jbHVkZS9hc20v cGd0YWJsZS5oIGIvYXJjaC9hbHBoYS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKaW5kZXggYmE0M2Ni ODQxZDE5Li5mYjVkMjA3YzJhODkgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEvaW5jbHVkZS9hc20v cGd0YWJsZS5oCisrKyBiL2FyY2gvYWxwaGEvaW5jbHVkZS9hc20vcGd0YWJsZS5oCkBAIC0yNTYs OSArMjU2LDEzIEBAIGV4dGVybiBpbmxpbmUgaW50IHB0ZV95b3VuZyhwdGVfdCBwdGUpCQl7IHJl dHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9BQ0NFU1NFRDsKIGV4dGVybiBpbmxpbmUgcHRlX3Qg cHRlX3dycHJvdGVjdChwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX0ZPVzsgcmV0 dXJuIHB0ZTsgfQogZXh0ZXJuIGlubGluZSBwdGVfdCBwdGVfbWtjbGVhbihwdGVfdCBwdGUpCXsg cHRlX3ZhbChwdGUpICY9IH4oX19ESVJUWV9CSVRTKTsgcmV0dXJuIHB0ZTsgfQogZXh0ZXJuIGlu bGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSAmPSB+KF9fQUND RVNTX0JJVFMpOyByZXR1cm4gcHRlOyB9Ci1leHRlcm4gaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRl KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gfl9QQUdFX0ZPVzsgcmV0dXJuIHB0ZTsgfQog ZXh0ZXJuIGlubGluZSBwdGVfdCBwdGVfbWtkaXJ0eShwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUp IHw9IF9fRElSVFlfQklUUzsgcmV0dXJuIHB0ZTsgfQogZXh0ZXJuIGlubGluZSBwdGVfdCBwdGVf bWt5b3VuZyhwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9IF9fQUNDRVNTX0JJVFM7IHJldHVy biBwdGU7IH0KK2V4dGVybiBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1 Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKK3sKKwlwdGVfdmFsKHB0ZSkgJj0gfl9QQUdFX0ZPVzsK KwlyZXR1cm4gcHRlOworfQogCiAvKgogICogVGhlIHNtcF9ybWIoKSBpbiB0aGUgZm9sbG93aW5n IGZ1bmN0aW9ucyBhcmUgcmVxdWlyZWQgdG8gb3JkZXIgdGhlIGxvYWQgb2YKZGlmZiAtLWdpdCBh L2FyY2gvYXJjL2luY2x1ZGUvYXNtL2h1Z2VwYWdlLmggYi9hcmNoL2FyYy9pbmNsdWRlL2FzbS9o dWdlcGFnZS5oCmluZGV4IDUwMDFiNzk2ZmI4ZC4uMjIzYTk2OTY3MTg4IDEwMDY0NAotLS0gYS9h cmNoL2FyYy9pbmNsdWRlL2FzbS9odWdlcGFnZS5oCisrKyBiL2FyY2gvYXJjL2luY2x1ZGUvYXNt L2h1Z2VwYWdlLmgKQEAgLTIxLDcgKzIxLDcgQEAgc3RhdGljIGlubGluZSBwbWRfdCBwdGVfcG1k KHB0ZV90IHB0ZSkKIH0KIAogI2RlZmluZSBwbWRfd3Jwcm90ZWN0KHBtZCkJcHRlX3BtZChwdGVf d3Jwcm90ZWN0KHBtZF9wdGUocG1kKSkpCi0jZGVmaW5lIHBtZF9ta3dyaXRlKHBtZCkJcHRlX3Bt ZChwdGVfbWt3cml0ZShwbWRfcHRlKHBtZCkpKQorI2RlZmluZSBwbWRfbWt3cml0ZShwbWQsIHZt YSkJcHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRlKHBtZCksICh2bWEpKSkKICNkZWZpbmUgcG1k X21rZGlydHkocG1kKQlwdGVfcG1kKHB0ZV9ta2RpcnR5KHBtZF9wdGUocG1kKSkpCiAjZGVmaW5l IHBtZF9ta29sZChwbWQpCQlwdGVfcG1kKHB0ZV9ta29sZChwbWRfcHRlKHBtZCkpKQogI2RlZmlu ZSBwbWRfbWt5b3VuZyhwbWQpCXB0ZV9wbWQocHRlX21reW91bmcocG1kX3B0ZShwbWQpKSkKZGlm ZiAtLWdpdCBhL2FyY2gvYXJjL2luY2x1ZGUvYXNtL3BndGFibGUtYml0cy1hcmN2Mi5oIGIvYXJj aC9hcmMvaW5jbHVkZS9hc20vcGd0YWJsZS1iaXRzLWFyY3YyLmgKaW5kZXggNmU5ZjhjYTZkNmEx Li5hNWI4YmM5NTUwMTUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJjL2luY2x1ZGUvYXNtL3BndGFibGUt Yml0cy1hcmN2Mi5oCisrKyBiL2FyY2gvYXJjL2luY2x1ZGUvYXNtL3BndGFibGUtYml0cy1hcmN2 Mi5oCkBAIC04Nyw3ICs4Nyw2IEBACiAKIFBURV9CSVRfRlVOQyhta25vdHByZXNlbnQsICAgICAm PSB+KF9QQUdFX1BSRVNFTlQpKTsKIFBURV9CSVRfRlVOQyh3cnByb3RlY3QsCSY9IH4oX1BBR0Vf V1JJVEUpKTsKLVBURV9CSVRfRlVOQyhta3dyaXRlLAl8PSAoX1BBR0VfV1JJVEUpKTsKIFBURV9C SVRfRlVOQyhta2NsZWFuLAkmPSB+KF9QQUdFX0RJUlRZKSk7CiBQVEVfQklUX0ZVTkMobWtkaXJ0 eSwJfD0gKF9QQUdFX0RJUlRZKSk7CiBQVEVfQklUX0ZVTkMobWtvbGQsCSY9IH4oX1BBR0VfQUND RVNTRUQpKTsKQEAgLTk1LDYgKzk0LDEyIEBAIFBURV9CSVRfRlVOQyhta3lvdW5nLAl8PSAoX1BB R0VfQUNDRVNTRUQpKTsKIFBURV9CSVRfRlVOQyhta3NwZWNpYWwsCXw9IChfUEFHRV9TUEVDSUFM KSk7CiBQVEVfQklUX0ZVTkMobWtodWdlLAl8PSAoX1BBR0VfSFdfU1opKTsKIAorc3RhdGljIGlu bGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq dm1hKQoreworCXB0ZV92YWwocHRlKSB8PSAoX1BBR0VfV1JJVEUpOworCXJldHVybiBwdGU7Cit9 CisKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21vZGlmeShwdGVfdCBwdGUsIHBncHJvdF90IG5l d3Byb3QpCiB7CiAJcmV0dXJuIF9fcHRlKChwdGVfdmFsKHB0ZSkgJiBfUEFHRV9DSEdfTUFTSykg fCBwZ3Byb3RfdmFsKG5ld3Byb3QpKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1ZGUvYXNt L3BndGFibGUtM2xldmVsLmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLTNsZXZlbC5o CmluZGV4IDEwNjA0OTc5MTUwMC4uZGYwNzFhODA3NjEwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9p bmNsdWRlL2FzbS9wZ3RhYmxlLTNsZXZlbC5oCisrKyBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Bn dGFibGUtM2xldmVsLmgKQEAgLTIwMiwxMSArMjAyLDE2IEBAIHN0YXRpYyBpbmxpbmUgcG1kX3Qg cG1kXyMjZm4ocG1kX3QgcG1kKSB7IHBtZF92YWwocG1kKSBvcDsgcmV0dXJuIHBtZDsgfQogCiBQ TURfQklUX0ZVTkMod3Jwcm90ZWN0LAl8PSBMX1BNRF9TRUNUX1JET05MWSk7CiBQTURfQklUX0ZV TkMobWtvbGQsCSY9IH5QTURfU0VDVF9BRik7Ci1QTURfQklUX0ZVTkMobWt3cml0ZSwgICAmPSB+ TF9QTURfU0VDVF9SRE9OTFkpOwogUE1EX0JJVF9GVU5DKG1rZGlydHksICAgfD0gTF9QTURfU0VD VF9ESVJUWSk7CiBQTURfQklUX0ZVTkMobWtjbGVhbiwgICAmPSB+TF9QTURfU0VDVF9ESVJUWSk7 CiBQTURfQklUX0ZVTkMobWt5b3VuZywgICB8PSBQTURfU0VDVF9BRik7CiAKK3N0YXRpYyBpbmxp bmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3QgcG1kLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSkKK3sKKwlwbWRfdmFsKHBtZCkgfD0gTF9QTURfU0VDVF9SRE9OTFk7CisJcmV0dXJuIHBtZDsK K30KKwogI2RlZmluZSBwbWRfbWtodWdlKHBtZCkJCShfX3BtZChwbWRfdmFsKHBtZCkgJiB+UE1E X1RBQkxFX0JJVCkpCiAKICNkZWZpbmUgcG1kX3BmbihwbWQpCQkoKChwbWRfdmFsKHBtZCkgJiBQ TURfTUFTSykgJiBQSFlTX01BU0spID4+IFBBR0VfU0hJRlQpCmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgK aW5kZXggYTU4Y2NiYjQwNmFkLi4zOWFkMWFlMTMwOGQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2lu Y2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgK QEAgLTIyNyw3ICsyMjcsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV93cnByb3RlY3QocHRl X3QgcHRlKQogCXJldHVybiBzZXRfcHRlX2JpdChwdGUsIF9fcGdwcm90KExfUFRFX1JET05MWSkp OwogfQogCi1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRp YyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1 Y3QgKnZtYSkKIHsKIAlyZXR1cm4gY2xlYXJfcHRlX2JpdChwdGUsIF9fcGdwcm90KExfUFRFX1JE T05MWSkpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgg Yi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBjY2NmODg4NTc5MmUuLjkx M2JmMzcwZjc0YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgK KysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTE4Nyw3ICsxODcsNyBA QCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlX2tlcm5lbChwdGVfdCBwdGUpCiAJcmV0 dXJuIHB0ZTsKIH0KIAotc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUp CitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEpCiB7CiAJcmV0dXJuIHB0ZV9ta3dyaXRlX2tlcm5lbChwdGUpOwogfQpA QCAtNDkyLDcgKzQ5Miw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBtZF90cmFuc19odWdlKHBtZF90 IHBtZCkKICNkZWZpbmUgcG1kX2NvbnQocG1kKQkJcHRlX2NvbnQocG1kX3B0ZShwbWQpKQogI2Rl ZmluZSBwbWRfd3Jwcm90ZWN0KHBtZCkJcHRlX3BtZChwdGVfd3Jwcm90ZWN0KHBtZF9wdGUocG1k KSkpCiAjZGVmaW5lIHBtZF9ta29sZChwbWQpCQlwdGVfcG1kKHB0ZV9ta29sZChwbWRfcHRlKHBt ZCkpKQotI2RlZmluZSBwbWRfbWt3cml0ZShwbWQpCXB0ZV9wbWQocHRlX21rd3JpdGUocG1kX3B0 ZShwbWQpKSkKKyNkZWZpbmUgcG1kX21rd3JpdGUocG1kLCB2bWEpCXB0ZV9wbWQocHRlX21rd3Jp dGUocG1kX3B0ZShwbWQpLCAodm1hKSkpCiAjZGVmaW5lIHBtZF9ta2NsZWFuKHBtZCkJcHRlX3Bt ZChwdGVfbWtjbGVhbihwbWRfcHRlKHBtZCkpKQogI2RlZmluZSBwbWRfbWtkaXJ0eShwbWQpCXB0 ZV9wbWQocHRlX21rZGlydHkocG1kX3B0ZShwbWQpKSkKICNkZWZpbmUgcG1kX21reW91bmcocG1k KQlwdGVfcG1kKHB0ZV9ta3lvdW5nKHBtZF9wdGUocG1kKSkpCmRpZmYgLS1naXQgYS9hcmNoL2Nz a3kvaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9jc2t5L2luY2x1ZGUvYXNtL3BndGFibGUu aAppbmRleCBkNDA0MjQ5NWZlYmMuLmMyZjkyYzk5MWUzNyAxMDA2NDQKLS0tIGEvYXJjaC9jc2t5 L2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL2Nza3kvaW5jbHVkZS9hc20vcGd0YWJs ZS5oCkBAIC0xNzYsNyArMTc2LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRl X3QgcHRlKQogCXJldHVybiBwdGU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3Jp dGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUs IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXB0ZV92YWwocHRlKSB8PSBfUEFHRV9X UklURTsKIAlpZiAocHRlX3ZhbChwdGUpICYgX1BBR0VfTU9ESUZJRUQpCmRpZmYgLS1naXQgYS9h cmNoL2hleGFnb24vaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9oZXhhZ29uL2luY2x1ZGUv YXNtL3BndGFibGUuaAppbmRleCA1OTM5MzYxM2QwODYuLjE0YWI5Yzc4OWMwZSAxMDA2NDQKLS0t IGEvYXJjaC9oZXhhZ29uL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL2hleGFnb24v aW5jbHVkZS9hc20vcGd0YWJsZS5oCkBAIC0zMDAsNyArMzAwLDcgQEAgc3RhdGljIGlubGluZSBw dGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkKIH0KIAogLyogcHRlX21rd3JpdGUgLSBtYXJr IHBhZ2UgYXMgd3JpdGFibGUgKi8KLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRl X3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXB0ZV92YWwocHRlKSB8PSBfUEFHRV9XUklURTsK IAlyZXR1cm4gcHRlOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL3BndGFibGUu aCBiL2FyY2gvaWE2NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKaW5kZXggMjFjOTdlMzFhMjhhLi5m ODc5ZGQ2MjZkYTYgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgK KysrIGIvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaApAQCAtMjY4LDcgKzI2OCw3IEBA IGlhNjRfcGh5c19hZGRyX3ZhbGlkICh1bnNpZ25lZCBsb25nIGFkZHIpCiAgKiBhY2Nlc3Mgcmln aHRzOgogICovCiAjZGVmaW5lIHB0ZV93cnByb3RlY3QocHRlKQkoX19wdGUocHRlX3ZhbChwdGUp ICYgfl9QQUdFX0FSX1JXKSkKLSNkZWZpbmUgcHRlX21rd3JpdGUocHRlKQkoX19wdGUocHRlX3Zh bChwdGUpIHwgX1BBR0VfQVJfUlcpKQorI2RlZmluZSBwdGVfbWt3cml0ZShwdGUsIHZtYSkJKF9f cHRlKHB0ZV92YWwocHRlKSB8IF9QQUdFX0FSX1JXKSkKICNkZWZpbmUgcHRlX21rb2xkKHB0ZSkJ CShfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfQSkpCiAjZGVmaW5lIHB0ZV9ta3lvdW5nKHB0 ZSkJKF9fcHRlKHB0ZV92YWwocHRlKSB8IF9QQUdFX0EpKQogI2RlZmluZSBwdGVfbWtjbGVhbihw dGUpCShfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfRCkpCmRpZmYgLS1naXQgYS9hcmNoL2xv b25nYXJjaC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL2xvb25nYXJjaC9pbmNsdWRlL2Fz bS9wZ3RhYmxlLmgKaW5kZXggZDI4ZmI5ZGJlYzU5Li5lYmY2NDVmNDAyOTggMTAwNjQ0Ci0tLSBh L2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL2xvb25nYXJj aC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTM5MCw3ICszOTAsNyBAQCBzdGF0aWMgaW5saW5l IHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkKIAlyZXR1cm4gcHRlOwogfQogCi1zdGF0aWMg aW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBpbmxpbmUgcHRlX3Qg cHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlw dGVfdmFsKHB0ZSkgfD0gX1BBR0VfV1JJVEU7CiAJaWYgKHB0ZV92YWwocHRlKSAmIF9QQUdFX01P RElGSUVEKQpAQCAtNDkwLDcgKzQ5MCw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBtZF93cml0ZShw bWRfdCBwbWQpCiAJcmV0dXJuICEhKHBtZF92YWwocG1kKSAmIF9QQUdFX1dSSVRFKTsKIH0KIAot c3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBwbWQpCitzdGF0aWMgaW5saW5l IHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBtZCwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEp CiB7CiAJcG1kX3ZhbChwbWQpIHw9IF9QQUdFX1dSSVRFOwogCWlmIChwbWRfdmFsKHBtZCkgJiBf UEFHRV9NT0RJRklFRCkKZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9tY2ZfcGd0 YWJsZS5oIGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL21jZl9wZ3RhYmxlLmgKaW5kZXggMTM3NDFj MTI0NWUxLi4zN2Q3N2UwNTUwMTYgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9t Y2ZfcGd0YWJsZS5oCisrKyBiL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9tY2ZfcGd0YWJsZS5oCkBA IC0yMTEsNyArMjExLDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRl KQogCXJldHVybiBwdGU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRl X3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXB0ZV92YWwocHRlKSB8PSBDRl9QQUdFX1dSSVRB QkxFOwogCXJldHVybiBwdGU7CmRpZmYgLS1naXQgYS9hcmNoL202OGsvaW5jbHVkZS9hc20vbW90 b3JvbGFfcGd0YWJsZS5oIGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL21vdG9yb2xhX3BndGFibGUu aAppbmRleCBlYzBkYzE5YWI4MzQuLmM0ZThlYjc2Mjg2ZCAxMDA2NDQKLS0tIGEvYXJjaC9tNjhr L2luY2x1ZGUvYXNtL21vdG9yb2xhX3BndGFibGUuaAorKysgYi9hcmNoL202OGsvaW5jbHVkZS9h c20vbW90b3JvbGFfcGd0YWJsZS5oCkBAIC0xNTUsNyArMTU1LDYgQEAgc3RhdGljIGlubGluZSBp bnQgcHRlX3lvdW5nKHB0ZV90IHB0ZSkJCXsgcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0FD Q0VTU0VEOwogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkJeyBw dGVfdmFsKHB0ZSkgfD0gX1BBR0VfUk9OTFk7IHJldHVybiBwdGU7IH0KIHN0YXRpYyBpbmxpbmUg cHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSAmPSB+X1BBR0VfRElS VFk7IHJldHVybiBwdGU7IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rb2xkKHB0ZV90IHB0 ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gfl9QQUdFX0FDQ0VTU0VEOyByZXR1cm4gcHRlOyB9Ci1zdGF0 aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0g fl9QQUdFX1JPTkxZOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2Rp cnR5KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfRElSVFk7IHJldHVybiBwdGU7 IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21reW91bmcocHRlX3QgcHRlKQl7IHB0ZV92YWwo cHRlKSB8PSBfUEFHRV9BQ0NFU1NFRDsgcmV0dXJuIHB0ZTsgfQogc3RhdGljIGlubGluZSBwdGVf dCBwdGVfbWtub2NhY2hlKHB0ZV90IHB0ZSkKQEAgLTE2OCw2ICsxNjcsMTEgQEAgc3RhdGljIGlu bGluZSBwdGVfdCBwdGVfbWtjYWNoZShwdGVfdCBwdGUpCiAJcHRlX3ZhbChwdGUpID0gKHB0ZV92 YWwocHRlKSAmIF9DQUNIRU1BU0swNDApIHwgbTY4a19zdXBlcnZpc29yX2NhY2hlbW9kZTsKIAly ZXR1cm4gcHRlOwogfQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUs IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQoreworCXB0ZV92YWwocHRlKSAmPSB+X1BBR0Vf Uk9OTFk7CisJcmV0dXJuIHB0ZTsKK30KIAogI2RlZmluZSBzd2FwcGVyX3BnX2RpciBrZXJuZWxf cGdfZGlyCiBleHRlcm4gcGdkX3Qga2VybmVsX3BnX2RpclsxMjhdOwpkaWZmIC0tZ2l0IGEvYXJj aC9tNjhrL2luY2x1ZGUvYXNtL3N1bjNfcGd0YWJsZS5oIGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNt L3N1bjNfcGd0YWJsZS5oCmluZGV4IGU1ODJiMDQ4NGE1NS4uMmEwNmJlYTUxYTFlIDEwMDY0NAot LS0gYS9hcmNoL202OGsvaW5jbHVkZS9hc20vc3VuM19wZ3RhYmxlLmgKKysrIGIvYXJjaC9tNjhr L2luY2x1ZGUvYXNtL3N1bjNfcGd0YWJsZS5oCkBAIC0xNDMsMTAgKzE0MywxNCBAQCBzdGF0aWMg aW5saW5lIGludCBwdGVfeW91bmcocHRlX3QgcHRlKQkJeyByZXR1cm4gcHRlX3ZhbChwdGUpICYg U1VOM19QQUdFX0FDQ0VTUwogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90 IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gflNVTjNfUEFHRV9XUklURUFCTEU7IHJldHVybiBwdGU7 IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQl7IHB0ZV92YWwo cHRlKSAmPSB+U1VOM19QQUdFX01PRElGSUVEOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5l IHB0ZV90IHB0ZV9ta29sZChwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpICY9IH5TVU4zX1BBR0Vf QUNDRVNTRUQ7IHJldHVybiBwdGU7IH0KLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUo cHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSB8PSBTVU4zX1BBR0VfV1JJVEVBQkxFOyByZXR1cm4g cHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkJeyBwdGVf dmFsKHB0ZSkgfD0gU1VOM19QQUdFX01PRElGSUVEOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5s aW5lIHB0ZV90IHB0ZV9ta3lvdW5nKHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gU1VOM19Q QUdFX0FDQ0VTU0VEOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta25v Y2FjaGUocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSB8PSBTVU4zX1BBR0VfTk9DQUNIRTsgcmV0 dXJuIHB0ZTsgfQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQoreworCXB0ZV92YWwocHRlKSB8PSBTVU4zX1BBR0Vf V1JJVEVBQkxFOworCXJldHVybiBwdGU7Cit9CiAvLyB1c2UgdGhpcyB2ZXJzaW9uIHdoZW4gY2Fj aGVzIHdvcmsuLi4KIC8vc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtjYWNoZShwdGVfdCBwdGUp CXsgcHRlX3ZhbChwdGUpICY9IFNVTjNfUEFHRV9OT0NBQ0hFOyByZXR1cm4gcHRlOyB9CiAvLyB1 bnRpbCB0aGVuLCB1c2U6CmRpZmYgLS1naXQgYS9hcmNoL21pY3JvYmxhemUvaW5jbHVkZS9hc20v cGd0YWJsZS5oIGIvYXJjaC9taWNyb2JsYXplL2luY2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBk MWI4MjcyYWJjZDkuLjViODNlODJmOGQ3ZSAxMDA2NDQKLS0tIGEvYXJjaC9taWNyb2JsYXplL2lu Y2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL21pY3JvYmxhemUvaW5jbHVkZS9hc20vcGd0 YWJsZS5oCkBAIC0yNjYsNyArMjY2LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtyZWFk KHB0ZV90IHB0ZSkgXAogCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1VTRVI7IHJldHVybiBwdGU7 IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZXhlYyhwdGVfdCBwdGUpIFwKIAl7IHB0ZV92 YWwocHRlKSB8PSBfUEFHRV9VU0VSIHwgX1BBR0VfRVhFQzsgcmV0dXJuIHB0ZTsgfQotc3RhdGlj IGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpIFwKK3N0YXRpYyBpbmxpbmUgcHRl X3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkgXAog CXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1JXOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5l IHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkgXAogCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdF X0RJUlRZOyByZXR1cm4gcHRlOyB9CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvaW5jbHVkZS9hc20v cGd0YWJsZS5oIGIvYXJjaC9taXBzL2luY2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCA3OTEzODli ZjNjMTIuLjA2ZWZkNTY3MTQ0YSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2luY2x1ZGUvYXNtL3Bn dGFibGUuaAorKysgYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS5oCkBAIC0zMDksNyAr MzA5LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQogCXJldHVy biBwdGU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQor c3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVh X3N0cnVjdCAqdm1hKQogewogCXB0ZS5wdGVfbG93IHw9IF9QQUdFX1dSSVRFOwogCWlmIChwdGUu cHRlX2xvdyAmIF9QQUdFX01PRElGSUVEKSB7CkBAIC0zNjQsNyArMzY0LDcgQEAgc3RhdGljIGlu bGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQogCXJldHVybiBwdGU7CiB9CiAKLXN0YXRp YyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVf dCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewog CXB0ZV92YWwocHRlKSB8PSBfUEFHRV9XUklURTsKIAlpZiAocHRlX3ZhbChwdGUpICYgX1BBR0Vf TU9ESUZJRUQpCkBAIC02MjYsNyArNjI2LDcgQEAgc3RhdGljIGlubGluZSBwbWRfdCBwbWRfd3Jw cm90ZWN0KHBtZF90IHBtZCkKIAlyZXR1cm4gcG1kOwogfQogCi1zdGF0aWMgaW5saW5lIHBtZF90 IHBtZF9ta3dyaXRlKHBtZF90IHBtZCkKK3N0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUo cG1kX3QgcG1kLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlwbWRfdmFsKHBtZCkg fD0gX1BBR0VfV1JJVEU7CiAJaWYgKHBtZF92YWwocG1kKSAmIF9QQUdFX01PRElGSUVEKQpkaWZm IC0tZ2l0IGEvYXJjaC9uaW9zMi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL25pb3MyL2lu Y2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCAwZjVjMjU2NGU5ZjUuLmVkZDQ1ODUxOGUwZSAxMDA2 NDQKLS0tIGEvYXJjaC9uaW9zMi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKKysrIGIvYXJjaC9uaW9z Mi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgaW5saW5l IHB0ZV90IHB0ZV9ta29sZChwdGVfdCBwdGUpCiAJcmV0dXJuIHB0ZTsKIH0KIAotc3RhdGljIGlu bGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0 ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CiAJcHRl X3ZhbChwdGUpIHw9IF9QQUdFX1dSSVRFOwogCXJldHVybiBwdGU7CmRpZmYgLS1naXQgYS9hcmNo L29wZW5yaXNjL2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvb3BlbnJpc2MvaW5jbHVkZS9h c20vcGd0YWJsZS5oCmluZGV4IDNlYjliOTU1NWQwZC4uZmQ0MGFlYzE4OWQxIDEwMDY0NAotLS0g YS9hcmNoL29wZW5yaXNjL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL29wZW5yaXNj L2luY2x1ZGUvYXNtL3BndGFibGUuaApAQCAtMjUwLDcgKzI1MCw3IEBAIHN0YXRpYyBpbmxpbmUg cHRlX3QgcHRlX21rb2xkKHB0ZV90IHB0ZSkKIAlyZXR1cm4gcHRlOwogfQogCi1zdGF0aWMgaW5s aW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRl X21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsKIAlwdGVf dmFsKHB0ZSkgfD0gX1BBR0VfV1JJVEU7CiAJcmV0dXJuIHB0ZTsKZGlmZiAtLWdpdCBhL2FyY2gv cGFyaXNjL2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvcGFyaXNjL2luY2x1ZGUvYXNtL3Bn dGFibGUuaAppbmRleCBlMjk1MGY1ZGI3YzkuLjg5ZjYyMTM3ZTY3ZiAxMDA2NDQKLS0tIGEvYXJj aC9wYXJpc2MvaW5jbHVkZS9hc20vcGd0YWJsZS5oCisrKyBiL2FyY2gvcGFyaXNjL2luY2x1ZGUv YXNtL3BndGFibGUuaApAQCAtMzMxLDggKzMzMSwxMiBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0 ZV9ta29sZChwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpICY9IH5fUEFHRV9BQ0NFU1NFRDsgcmV0 dQogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkJeyBwdGVfdmFs KHB0ZSkgJj0gfl9QQUdFX1dSSVRFOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90 IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfRElSVFk7IHJl dHVybiBwdGU7IH0KIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21reW91bmcocHRlX3QgcHRlKQl7 IHB0ZV92YWwocHRlKSB8PSBfUEFHRV9BQ0NFU1NFRDsgcmV0dXJuIHB0ZTsgfQotc3RhdGljIGlu bGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdF X1dSSVRFOyByZXR1cm4gcHRlOyB9CiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3NwZWNpYWwo cHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSB8PSBfUEFHRV9TUEVDSUFMOyByZXR1cm4gcHRlOyB9 CitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEpCit7CisJcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1dSSVRFOworCXJldHVy biBwdGU7Cit9CiAKIC8qCiAgKiBIdWdlIHB0ZSBkZWZpbml0aW9ucy4KZGlmZiAtLWdpdCBhL2Fy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5oIGIvYXJjaC9wb3dlcnBj L2luY2x1ZGUvYXNtL2Jvb2szcy8zMi9wZ3RhYmxlLmgKaW5kZXggN2JmMWZlNzI5N2M2Li4xMGQ5 YTFkMmFjYTkgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIv cGd0YWJsZS5oCisrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJs ZS5oCkBAIC00OTgsNyArNDk4LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtwdGUocHRl X3QgcHRlKQogCXJldHVybiBwdGU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3Jp dGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUs IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0 ZSkgfCBfUEFHRV9SVyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20v Ym9vazNzLzY0L3BndGFibGUuaCBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQv cGd0YWJsZS5oCmluZGV4IDRhY2M5NjkwZjU5OS4uYmUwNjM2NTIyZDM2IDEwMDY0NAotLS0gYS9h cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzY0L3BndGFibGUuaAorKysgYi9hcmNoL3Bv d2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzY0L3BndGFibGUuaApAQCAtNjAwLDcgKzYwMCw3IEBA IHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZXhlYyhwdGVfdCBwdGUpCiAJcmV0dXJuIF9fcHRl X3JhdyhwdGVfcmF3KHB0ZSkgfCBjcHVfdG9fYmU2NChfUEFHRV9FWEVDKSk7CiB9CiAKLXN0YXRp YyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVf dCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewog CS8qCiAJICogd3JpdGUgaW1wbGllcyByZWFkLCBoZW5jZSBzZXQgYm90aApAQCAtMTA3MSw3ICsx MDcxLDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCAqcG1kcF9wdGVwKHBtZF90ICpwbWQpCiAjZGVm aW5lIHBtZF9ta2RpcnR5KHBtZCkJcHRlX3BtZChwdGVfbWtkaXJ0eShwbWRfcHRlKHBtZCkpKQog I2RlZmluZSBwbWRfbWtjbGVhbihwbWQpCXB0ZV9wbWQocHRlX21rY2xlYW4ocG1kX3B0ZShwbWQp KSkKICNkZWZpbmUgcG1kX21reW91bmcocG1kKQlwdGVfcG1kKHB0ZV9ta3lvdW5nKHBtZF9wdGUo cG1kKSkpCi0jZGVmaW5lIHBtZF9ta3dyaXRlKHBtZCkJcHRlX3BtZChwdGVfbWt3cml0ZShwbWRf cHRlKHBtZCkpKQorI2RlZmluZSBwbWRfbWt3cml0ZShwbWQsIHZtYSkJcHRlX3BtZChwdGVfbWt3 cml0ZShwbWRfcHRlKHBtZCksICh2bWEpKSkKIAogI2lmZGVmIENPTkZJR19IQVZFX0FSQ0hfU09G VF9ESVJUWQogI2RlZmluZSBwbWRfc29mdF9kaXJ0eShwbWQpICAgIHB0ZV9zb2Z0X2RpcnR5KHBt ZF9wdGUocG1kKSkKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gv MzIvcGd0YWJsZS5oIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC8zMi9wZ3RhYmxl LmgKaW5kZXggZmVjNTZkOTY1ZjAwLi43YmZiY2I5YmE1NWIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93 ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvMzIvcGd0YWJsZS5oCisrKyBiL2FyY2gvcG93ZXJwYy9p bmNsdWRlL2FzbS9ub2hhc2gvMzIvcGd0YWJsZS5oCkBAIC0xNzEsNyArMTcxLDcgQEAgdm9pZCB1 bm1hcF9rZXJuZWxfcGFnZSh1bnNpZ25lZCBsb25nIHZhKTsKIAlkbyB7IHB0ZV91cGRhdGUobW0s IGFkZHIsIHB0ZXAsIH4wLCAwLCAwKTsgfSB3aGlsZSAoMCkKIAogI2lmbmRlZiBwdGVfbWt3cml0 ZQotc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCitzdGF0aWMgaW5s aW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2 bWEpCiB7CiAJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSB8IF9QQUdFX1JXKTsKIH0KZGlmZiAt LWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvMzIvcHRlLTh4eC5oIGIvYXJj aC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC8zMi9wdGUtOHh4LmgKaW5kZXggMWE4OWViZGMz YWNjLi5mMzI0NTBlYjI3MGEgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9u b2hhc2gvMzIvcHRlLTh4eC5oCisrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gv MzIvcHRlLTh4eC5oCkBAIC0xMDEsNyArMTAxLDcgQEAgc3RhdGljIGlubGluZSBpbnQgcHRlX3dy aXRlKHB0ZV90IHB0ZSkKIAogI2RlZmluZSBwdGVfd3JpdGUgcHRlX3dyaXRlCiAKLXN0YXRpYyBp bmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBw dGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXJl dHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfUk8pOwogfQpkaWZmIC0tZ2l0IGEvYXJj aC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9wZ3RhYmxlLmggYi9hcmNoL3Bvd2VycGMv aW5jbHVkZS9hc20vbm9oYXNoLzY0L3BndGFibGUuaAppbmRleCAyODdlMjU4NjRmZmEuLjU4OTAw OTU1NTg3NyAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9w Z3RhYmxlLmgKKysrIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9wZ3RhYmxl LmgKQEAgLTg1LDcgKzg1LDcgQEAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAvKiBwdGVfY2xlYXIg bW92ZWQgdG8gbGF0ZXIgaW4gdGhpcyBmaWxlICovCiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRl X21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVf dCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXJldHVybiBfX3B0ZShwdGVf dmFsKHB0ZSkgfCBfUEFHRV9SVyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUv YXNtL3BndGFibGUuaCBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oCmluZGV4IGQ4 ZDhkZTBkZWQ5OS4uZmVkMWI4MWZiZTA3IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUv YXNtL3BndGFibGUuaAorKysgYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaApAQCAt MzM4LDcgKzMzOCw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX3dycHJvdGVjdChwdGVfdCBw dGUpCiAKIC8qIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rcmVhZChwdGVfdCBwdGUpICovCiAK LXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGlu ZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1h KQogewogCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgfCBfUEFHRV9XUklURSk7CiB9CkBAIC02 MjQsOSArNjI0LDkgQEAgc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt5b3VuZyhwbWRfdCBwbWQp CiAJcmV0dXJuIHB0ZV9wbWQocHRlX21reW91bmcocG1kX3B0ZShwbWQpKSk7CiB9CiAKLXN0YXRp YyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3QgcG1kKQorc3RhdGljIGlubGluZSBwbWRf dCBwbWRfbWt3cml0ZShwbWRfdCBwbWQsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewot CXJldHVybiBwdGVfcG1kKHB0ZV9ta3dyaXRlKHBtZF9wdGUocG1kKSkpOworCXJldHVybiBwdGVf cG1kKHB0ZV9ta3dyaXRlKHBtZF9wdGUocG1kKSwgdm1hKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUg cG1kX3QgcG1kX3dycHJvdGVjdChwbWRfdCBwbWQpCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvaW5j bHVkZS9hc20vaHVnZXRsYi5oIGIvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2h1Z2V0bGIuaAppbmRl eCBjY2RiY2NmZGUxNDguLjU1OGY3ZWVmOWM0ZCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2luY2x1 ZGUvYXNtL2h1Z2V0bGIuaAorKysgYi9hcmNoL3MzOTAvaW5jbHVkZS9hc20vaHVnZXRsYi5oCkBA IC0xMDIsOSArMTAyLDkgQEAgc3RhdGljIGlubGluZSBpbnQgaHVnZV9wdGVfZGlydHkocHRlX3Qg cHRlKQogCXJldHVybiBwdGVfZGlydHkocHRlKTsKIH0KIAotc3RhdGljIGlubGluZSBwdGVfdCBo dWdlX3B0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBpbmxpbmUgcHRlX3QgaHVnZV9wdGVf bWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewotCXJldHVy biBwdGVfbWt3cml0ZShwdGUpOworCXJldHVybiBwdGVfbWt3cml0ZShwdGUsIHZtYSk7CiB9CiAK IHN0YXRpYyBpbmxpbmUgcHRlX3QgaHVnZV9wdGVfbWtkaXJ0eShwdGVfdCBwdGUpCmRpZmYgLS1n aXQgYS9hcmNoL3MzOTAvaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9zMzkwL2luY2x1ZGUv YXNtL3BndGFibGUuaAppbmRleCBkZWViOTE4Y2FlMWQuLjhmMmM3NDNkYTBlYiAxMDA2NDQKLS0t IGEvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysgYi9hcmNoL3MzOTAvaW5jbHVk ZS9hc20vcGd0YWJsZS5oCkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90 IHB0ZV9ta3dyaXRlX2tlcm5lbChwdGVfdCBwdGUpCiAJcmV0dXJuIHB0ZTsKIH0KIAotc3RhdGlj IGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCitzdGF0aWMgaW5saW5lIHB0ZV90 IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CiAJ cmV0dXJuIHB0ZV9ta3dyaXRlX2tlcm5lbChwdGUpOwogfQpAQCAtMTQ5OSw3ICsxNDk5LDcgQEAg c3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZV9rZXJuZWwocG1kX3QgcG1kKQogCXJldHVy biBwbWQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3QgcG1kKQor c3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBwbWQsIHN0cnVjdCB2bV9hcmVh X3N0cnVjdCAqdm1hKQogewogCXJldHVybiBwbWRfbWt3cml0ZV9rZXJuZWwocG1kKTsKIH0KZGlm ZiAtLWdpdCBhL2FyY2gvc2gvaW5jbHVkZS9hc20vcGd0YWJsZV8zMi5oIGIvYXJjaC9zaC9pbmNs dWRlL2FzbS9wZ3RhYmxlXzMyLmgKaW5kZXggMjE5NTJiMDk0NjUwLi45ZjJkY2I5ZWFmYzggMTAw NjQ0Ci0tLSBhL2FyY2gvc2gvaW5jbHVkZS9hc20vcGd0YWJsZV8zMi5oCisrKyBiL2FyY2gvc2gv aW5jbHVkZS9hc20vcGd0YWJsZV8zMi5oCkBAIC0zNTEsNiArMzUxLDEyIEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBzZXRfcHRlKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCiAKICNkZWZpbmUgUFRFX0JJ VF9GVU5DKGgsZm4sb3ApIFwKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlXyMjZm4ocHRlX3QgcHRl KSB7IHB0ZS5wdGVfIyNoIG9wOyByZXR1cm4gcHRlOyB9CisjZGVmaW5lIFBURV9CSVRfRlVOQ19W TUEoaCxmbixvcCkgXAorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfIyNmbihwdGVfdCBwdGUsIHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKSBcCit7IFwKKwlwdGUucHRlXyMjaCBvcDsgXAorCXJl dHVybiBwdGU7IFwKK30KIAogI2lmZGVmIENPTkZJR19YMlRMQgogLyoKQEAgLTM1OSwxMSArMzY1 LDExIEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlXyMjZm4ocHRlX3QgcHRlKSB7IHB0ZS5wdGVf IyNoIG9wOyByZXR1cm4gcHRlOyB9CiAgKiBrZXJuZWwgcGVybWlzc2lvbnMpLCB3ZSBhdHRlbXB0 IHRvIGNvdXBsZSB0aGVtIGEgYml0IG1vcmUgc2FuZWx5IGhlcmUuCiAgKi8KIFBURV9CSVRfRlVO QyhoaWdoLCB3cnByb3RlY3QsICY9IH4oX1BBR0VfRVhUX1VTRVJfV1JJVEUgfCBfUEFHRV9FWFRf S0VSTl9XUklURSkpOwotUFRFX0JJVF9GVU5DKGhpZ2gsIG1rd3JpdGUsIHw9IF9QQUdFX0VYVF9V U0VSX1dSSVRFIHwgX1BBR0VfRVhUX0tFUk5fV1JJVEUpOworUFRFX0JJVF9GVU5DX1ZNQShoaWdo LCBta3dyaXRlLCB8PSBfUEFHRV9FWFRfVVNFUl9XUklURSB8IF9QQUdFX0VYVF9LRVJOX1dSSVRF KTsKIFBURV9CSVRfRlVOQyhoaWdoLCBta2h1Z2UsIHw9IF9QQUdFX1NaSFVHRSk7CiAjZWxzZQog UFRFX0JJVF9GVU5DKGxvdywgd3Jwcm90ZWN0LCAmPSB+X1BBR0VfUlcpOwotUFRFX0JJVF9GVU5D KGxvdywgbWt3cml0ZSwgfD0gX1BBR0VfUlcpOworUFRFX0JJVF9GVU5DX1ZNQShsb3csIG1rd3Jp dGUsIHw9IF9QQUdFX1JXKTsKIFBURV9CSVRfRlVOQyhsb3csIG1raHVnZSwgfD0gX1BBR0VfU1pI VUdFKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjL2luY2x1ZGUvYXNtL3BndGFi bGVfMzIuaCBiL2FyY2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV8zMi5oCmluZGV4IGQ0MzMw ZTNjNTdhNi4uM2U4ODM2MTc5NDU2IDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjL2luY2x1ZGUvYXNt L3BndGFibGVfMzIuaAorKysgYi9hcmNoL3NwYXJjL2luY2x1ZGUvYXNtL3BndGFibGVfMzIuaApA QCAtMjQxLDcgKzI0MSw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rb2xkKHB0ZV90IHB0 ZSkKIAlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgflNSTU1VX1JFRik7CiB9CiAKLXN0YXRp YyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVf dCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewog CXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgfCBTUk1NVV9XUklURSk7CiB9CmRpZmYgLS1naXQg YS9hcmNoL3NwYXJjL2luY2x1ZGUvYXNtL3BndGFibGVfNjQuaCBiL2FyY2gvc3BhcmMvaW5jbHVk ZS9hc20vcGd0YWJsZV82NC5oCmluZGV4IDJkYzhkNDY0MTczNC4uYzVjZDVjMDNmNTU3IDEwMDY0 NAotLS0gYS9hcmNoL3NwYXJjL2luY2x1ZGUvYXNtL3BndGFibGVfNjQuaAorKysgYi9hcmNoL3Nw YXJjL2luY2x1ZGUvYXNtL3BndGFibGVfNjQuaApAQCAtNDY2LDcgKzQ2Niw3IEBAIHN0YXRpYyBp bmxpbmUgcHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQogCXJldHVybiBfX3B0ZSh2YWwpOwog fQogCi1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRpYyBp bmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg KnZtYSkKIHsKIAl1bnNpZ25lZCBsb25nIHZhbCA9IHB0ZV92YWwocHRlKSwgbWFzazsKIApAQCAt NzU2LDExICs3NTYsMTEgQEAgc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt5b3VuZyhwbWRfdCBw bWQpCiAJcmV0dXJuIF9fcG1kKHB0ZV92YWwocHRlKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcG1k X3QgcG1kX21rd3JpdGUocG1kX3QgcG1kKQorc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0 ZShwbWRfdCBwbWQsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXB0ZV90IHB0ZSA9 IF9fcHRlKHBtZF92YWwocG1kKSk7CiAKLQlwdGUgPSBwdGVfbWt3cml0ZShwdGUpOworCXB0ZSA9 IHB0ZV9ta3dyaXRlKHB0ZSwgdm1hKTsKIAogCXJldHVybiBfX3BtZChwdGVfdmFsKHB0ZSkpOwog fQpkaWZmIC0tZ2l0IGEvYXJjaC91bS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL3VtL2lu Y2x1ZGUvYXNtL3BndGFibGUuaAppbmRleCBhNzBkMTYxOGViMzUuLjk2MzQ3OWMxMzNiNyAxMDA2 NDQKLS0tIGEvYXJjaC91bS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKKysrIGIvYXJjaC91bS9pbmNs dWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTIwNyw3ICsyMDcsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90 IHB0ZV9ta3lvdW5nKHB0ZV90IHB0ZSkKIAlyZXR1cm4ocHRlKTsKIH0KIAotc3RhdGljIGlubGlu ZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9t a3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CiAJaWYgKHVu bGlrZWx5KHB0ZV9nZXRfYml0cyhwdGUsICBfUEFHRV9SVykpKQogCQlyZXR1cm4gcHRlOwpkaWZm IC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20vcGd0YWJsZS5oCmluZGV4IDM2MDdmMjU3MmY5ZS4uNjZjNTE0ODA4Mjc2IDEwMDY0NAot LS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKKysrIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20vcGd0YWJsZS5oCkBAIC0zNjksNyArMzY5LDkgQEAgc3RhdGljIGlubGluZSBwdGVfdCBw dGVfbWt3cml0ZV9rZXJuZWwocHRlX3QgcHRlKQogCXJldHVybiBwdGVfc2V0X2ZsYWdzKHB0ZSwg X1BBR0VfUlcpOwogfQogCi1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0 ZSkKK3N0cnVjdCB2bV9hcmVhX3N0cnVjdDsKKworc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3 cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewogCXJldHVybiBw dGVfbWt3cml0ZV9rZXJuZWwocHRlKTsKIH0KQEAgLTQ3MCw3ICs0NzIsNyBAQCBzdGF0aWMgaW5s aW5lIHBtZF90IHBtZF9ta3lvdW5nKHBtZF90IHBtZCkKIAlyZXR1cm4gcG1kX3NldF9mbGFncyhw bWQsIF9QQUdFX0FDQ0VTU0VEKTsKIH0KIAotc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0 ZShwbWRfdCBwbWQpCitzdGF0aWMgaW5saW5lIHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBtZCwg c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CiAJcmV0dXJuIHBtZF9zZXRfZmxhZ3MocG1k LCBfUEFHRV9SVyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3h0ZW5zYS9pbmNsdWRlL2FzbS9wZ3Rh YmxlLmggYi9hcmNoL3h0ZW5zYS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKaW5kZXggZmM3YTE0ODg0 YzZjLi5kNzI2MzJkOWM1M2MgMTAwNjQ0Ci0tLSBhL2FyY2gveHRlbnNhL2luY2x1ZGUvYXNtL3Bn dGFibGUuaAorKysgYi9hcmNoL3h0ZW5zYS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKQEAgLTI2Miw3 ICsyNjIsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkKIAl7 IHB0ZV92YWwocHRlKSB8PSBfUEFHRV9ESVJUWTsgcmV0dXJuIHB0ZTsgfQogc3RhdGljIGlubGlu ZSBwdGVfdCBwdGVfbWt5b3VuZyhwdGVfdCBwdGUpCiAJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0Vf QUNDRVNTRUQ7IHJldHVybiBwdGU7IH0KLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUo cHRlX3QgcHRlKQorc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1dSSVRB QkxFOyByZXR1cm4gcHRlOyB9CiAKICNkZWZpbmUgcGdwcm90X25vbmNhY2hlZChwcm90KSBcCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1nZW5lcmljL2h1Z2V0bGIuaCBiL2luY2x1ZGUvYXNtLWdl bmVyaWMvaHVnZXRsYi5oCmluZGV4IGQ3ZjYzMzVkMzk5OS4uZTg2YzgzMDcyOGRlIDEwMDY0NAot LS0gYS9pbmNsdWRlL2FzbS1nZW5lcmljL2h1Z2V0bGIuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5l cmljL2h1Z2V0bGIuaApAQCAtMjAsOSArMjAsOSBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxv bmcgaHVnZV9wdGVfZGlydHkocHRlX3QgcHRlKQogCXJldHVybiBwdGVfZGlydHkocHRlKTsKIH0K IAotc3RhdGljIGlubGluZSBwdGVfdCBodWdlX3B0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkKK3N0YXRp YyBpbmxpbmUgcHRlX3QgaHVnZV9wdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVh X3N0cnVjdCAqdm1hKQogewotCXJldHVybiBwdGVfbWt3cml0ZShwdGUpOworCXJldHVybiBwdGVf bWt3cml0ZShwdGUsIHZtYSk7CiB9CiAKICNpZm5kZWYgX19IQVZFX0FSQ0hfSFVHRV9QVEVfV1JQ Uk9URUNUCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tLmggYi9pbmNsdWRlL2xpbnV4L21t LmgKaW5kZXggMWY3OTY2NzgyNGViLi5hZjY1MjQ0NGZiYmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv bGludXgvbW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L21tLmgKQEAgLTExNjMsNyArMTE2Myw3IEBA IHZvaWQgZnJlZV9jb21wb3VuZF9wYWdlKHN0cnVjdCBwYWdlICpwYWdlKTsKIHN0YXRpYyBpbmxp bmUgcHRlX3QgbWF5YmVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq dm1hKQogewogCWlmIChsaWtlbHkodm1hLT52bV9mbGFncyAmIFZNX1dSSVRFKSkKLQkJcHRlID0g cHRlX21rd3JpdGUocHRlKTsKKwkJcHRlID0gcHRlX21rd3JpdGUocHRlLCB2bWEpOwogCXJldHVy biBwdGU7CiB9CiAKZGlmZiAtLWdpdCBhL21tL2RlYnVnX3ZtX3BndGFibGUuYyBiL21tL2RlYnVn X3ZtX3BndGFibGUuYwppbmRleCBhZjU5Y2M3YmQzMDcuLjdiYzU1OTI5MDBiYyAxMDA2NDQKLS0t IGEvbW0vZGVidWdfdm1fcGd0YWJsZS5jCisrKyBiL21tL2RlYnVnX3ZtX3BndGFibGUuYwpAQCAt MTA5LDEwICsxMDksMTAgQEAgc3RhdGljIHZvaWQgX19pbml0IHB0ZV9iYXNpY190ZXN0cyhzdHJ1 Y3QgcGd0YWJsZV9kZWJ1Z19hcmdzICphcmdzLCBpbnQgaWR4KQogCVdBUk5fT04oIXB0ZV9zYW1l KHB0ZSwgcHRlKSk7CiAJV0FSTl9PTighcHRlX3lvdW5nKHB0ZV9ta3lvdW5nKHB0ZV9ta29sZChw dGUpKSkpOwogCVdBUk5fT04oIXB0ZV9kaXJ0eShwdGVfbWtkaXJ0eShwdGVfbWtjbGVhbihwdGUp KSkpOwotCVdBUk5fT04oIXB0ZV93cml0ZShwdGVfbWt3cml0ZShwdGVfd3Jwcm90ZWN0KHB0ZSkp KSk7CisJV0FSTl9PTighcHRlX3dyaXRlKHB0ZV9ta3dyaXRlKHB0ZV93cnByb3RlY3QocHRlKSwg YXJncy0+dm1hKSkpOwogCVdBUk5fT04ocHRlX3lvdW5nKHB0ZV9ta29sZChwdGVfbWt5b3VuZyhw dGUpKSkpOwogCVdBUk5fT04ocHRlX2RpcnR5KHB0ZV9ta2NsZWFuKHB0ZV9ta2RpcnR5KHB0ZSkp KSk7Ci0JV0FSTl9PTihwdGVfd3JpdGUocHRlX3dycHJvdGVjdChwdGVfbWt3cml0ZShwdGUpKSkp OworCVdBUk5fT04ocHRlX3dyaXRlKHB0ZV93cnByb3RlY3QocHRlX21rd3JpdGUocHRlLCBhcmdz LT52bWEpKSkpOwogCVdBUk5fT04ocHRlX2RpcnR5KHB0ZV93cnByb3RlY3QocHRlX21rY2xlYW4o cHRlKSkpKTsKIAlXQVJOX09OKCFwdGVfZGlydHkocHRlX3dycHJvdGVjdChwdGVfbWtkaXJ0eShw dGUpKSkpOwogfQpAQCAtMTUzLDcgKzE1Myw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwdGVfYWR2 YW5jZWRfdGVzdHMoc3RydWN0IHBndGFibGVfZGVidWdfYXJncyAqYXJncykKIAlwdGUgPSBwdGVf bWtjbGVhbihwdGUpOwogCXNldF9wdGVfYXQoYXJncy0+bW0sIGFyZ3MtPnZhZGRyLCBhcmdzLT5w dGVwLCBwdGUpOwogCWZsdXNoX2RjYWNoZV9wYWdlKHBhZ2UpOwotCXB0ZSA9IHB0ZV9ta3dyaXRl KHB0ZSk7CisJcHRlID0gcHRlX21rd3JpdGUocHRlLCBhcmdzLT52bWEpOwogCXB0ZSA9IHB0ZV9t a2RpcnR5KHB0ZSk7CiAJcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKGFyZ3MtPnZtYSwgYXJncy0+dmFk ZHIsIGFyZ3MtPnB0ZXAsIHB0ZSwgMSk7CiAJcHRlID0gcHRlcF9nZXQoYXJncy0+cHRlcCk7CkBA IC0xOTksMTAgKzE5OSwxMCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcG1kX2Jhc2ljX3Rlc3RzKHN0 cnVjdCBwZ3RhYmxlX2RlYnVnX2FyZ3MgKmFyZ3MsIGludCBpZHgpCiAJV0FSTl9PTighcG1kX3Nh bWUocG1kLCBwbWQpKTsKIAlXQVJOX09OKCFwbWRfeW91bmcocG1kX21reW91bmcocG1kX21rb2xk KHBtZCkpKSk7CiAJV0FSTl9PTighcG1kX2RpcnR5KHBtZF9ta2RpcnR5KHBtZF9ta2NsZWFuKHBt ZCkpKSk7Ci0JV0FSTl9PTighcG1kX3dyaXRlKHBtZF9ta3dyaXRlKHBtZF93cnByb3RlY3QocG1k KSkpKTsKKwlXQVJOX09OKCFwbWRfd3JpdGUocG1kX21rd3JpdGUocG1kX3dycHJvdGVjdChwbWQp LCBhcmdzLT52bWEpKSk7CiAJV0FSTl9PTihwbWRfeW91bmcocG1kX21rb2xkKHBtZF9ta3lvdW5n KHBtZCkpKSk7CiAJV0FSTl9PTihwbWRfZGlydHkocG1kX21rY2xlYW4ocG1kX21rZGlydHkocG1k KSkpKTsKLQlXQVJOX09OKHBtZF93cml0ZShwbWRfd3Jwcm90ZWN0KHBtZF9ta3dyaXRlKHBtZCkp KSk7CisJV0FSTl9PTihwbWRfd3JpdGUocG1kX3dycHJvdGVjdChwbWRfbWt3cml0ZShwbWQsIGFy Z3MtPnZtYSkpKSk7CiAJV0FSTl9PTihwbWRfZGlydHkocG1kX3dycHJvdGVjdChwbWRfbWtjbGVh bihwbWQpKSkpOwogCVdBUk5fT04oIXBtZF9kaXJ0eShwbWRfd3Jwcm90ZWN0KHBtZF9ta2RpcnR5 KHBtZCkpKSk7CiAJLyoKQEAgLTI1Myw3ICsyNTMsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcG1k X2FkdmFuY2VkX3Rlc3RzKHN0cnVjdCBwZ3RhYmxlX2RlYnVnX2FyZ3MgKmFyZ3MpCiAJcG1kID0g cG1kX21rY2xlYW4ocG1kKTsKIAlzZXRfcG1kX2F0KGFyZ3MtPm1tLCB2YWRkciwgYXJncy0+cG1k cCwgcG1kKTsKIAlmbHVzaF9kY2FjaGVfcGFnZShwYWdlKTsKLQlwbWQgPSBwbWRfbWt3cml0ZShw bWQpOworCXBtZCA9IHBtZF9ta3dyaXRlKHBtZCwgYXJncy0+dm1hKTsKIAlwbWQgPSBwbWRfbWtk aXJ0eShwbWQpOwogCXBtZHBfc2V0X2FjY2Vzc19mbGFncyhhcmdzLT52bWEsIHZhZGRyLCBhcmdz LT5wbWRwLCBwbWQsIDEpOwogCXBtZCA9IFJFQURfT05DRSgqYXJncy0+cG1kcCk7CkBAIC05Mjgs OCArOTI4LDggQEAgc3RhdGljIHZvaWQgX19pbml0IGh1Z2V0bGJfYmFzaWNfdGVzdHMoc3RydWN0 IHBndGFibGVfZGVidWdfYXJncyAqYXJncykKIAlwdGUgPSBta19odWdlX3B0ZShwYWdlLCBhcmdz LT5wYWdlX3Byb3QpOwogCiAJV0FSTl9PTighaHVnZV9wdGVfZGlydHkoaHVnZV9wdGVfbWtkaXJ0 eShwdGUpKSk7Ci0JV0FSTl9PTighaHVnZV9wdGVfd3JpdGUoaHVnZV9wdGVfbWt3cml0ZShodWdl X3B0ZV93cnByb3RlY3QocHRlKSkpKTsKLQlXQVJOX09OKGh1Z2VfcHRlX3dyaXRlKGh1Z2VfcHRl X3dycHJvdGVjdChodWdlX3B0ZV9ta3dyaXRlKHB0ZSkpKSk7CisJV0FSTl9PTighaHVnZV9wdGVf d3JpdGUoaHVnZV9wdGVfbWt3cml0ZShodWdlX3B0ZV93cnByb3RlY3QocHRlKSwgYXJncy0+dm1h KSkpOworCVdBUk5fT04oaHVnZV9wdGVfd3JpdGUoaHVnZV9wdGVfd3Jwcm90ZWN0KGh1Z2VfcHRl X21rd3JpdGUocHRlLCBhcmdzLT52bWEpKSkpOwogCiAjaWZkZWYgQ09ORklHX0FSQ0hfV0FOVF9H RU5FUkFMX0hVR0VUTEIKIAlwdGUgPSBwZm5fcHRlKGFyZ3MtPmZpeGVkX3BtZF9wZm4sIGFyZ3Mt PnBhZ2VfcHJvdCk7CmRpZmYgLS1naXQgYS9tbS9odWdlX21lbW9yeS5jIGIvbW0vaHVnZV9tZW1v cnkuYwppbmRleCA0ZmM0Mzg1OWU1OWEuLmFhZjgxNTgzODE0NCAxMDA2NDQKLS0tIGEvbW0vaHVn ZV9tZW1vcnkuYworKysgYi9tbS9odWdlX21lbW9yeS5jCkBAIC01NTUsNyArNTU1LDcgQEAgX19z ZXR1cCgidHJhbnNwYXJlbnRfaHVnZXBhZ2U9Iiwgc2V0dXBfdHJhbnNwYXJlbnRfaHVnZXBhZ2Up OwogcG1kX3QgbWF5YmVfcG1kX21rd3JpdGUocG1kX3QgcG1kLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1 Y3QgKnZtYSkKIHsKIAlpZiAobGlrZWx5KHZtYS0+dm1fZmxhZ3MgJiBWTV9XUklURSkpCi0JCXBt ZCA9IHBtZF9ta3dyaXRlKHBtZCk7CisJCXBtZCA9IHBtZF9ta3dyaXRlKHBtZCwgdm1hKTsKIAly ZXR1cm4gcG1kOwogfQogCkBAIC0xNTgwLDcgKzE1ODAsNyBAQCB2bV9mYXVsdF90IGRvX2h1Z2Vf cG1kX251bWFfcGFnZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIAlwbWQgPSBwbWRfbW9kaWZ5KG9s ZHBtZCwgdm1hLT52bV9wYWdlX3Byb3QpOwogCXBtZCA9IHBtZF9ta3lvdW5nKHBtZCk7CiAJaWYg KHdyaXRhYmxlKQotCQlwbWQgPSBwbWRfbWt3cml0ZShwbWQpOworCQlwbWQgPSBwbWRfbWt3cml0 ZShwbWQsIHZtYSk7CiAJc2V0X3BtZF9hdCh2bWEtPnZtX21tLCBoYWRkciwgdm1mLT5wbWQsIHBt ZCk7CiAJdXBkYXRlX21tdV9jYWNoZV9wbWQodm1hLCB2bWYtPmFkZHJlc3MsIHZtZi0+cG1kKTsK IAlzcGluX3VubG9jayh2bWYtPnB0bCk7CkBAIC0xOTI2LDcgKzE5MjYsNyBAQCBpbnQgY2hhbmdl X2h1Z2VfcG1kKHN0cnVjdCBtbXVfZ2F0aGVyICp0bGIsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq dm1hLAogCS8qIFNlZSBjaGFuZ2VfcHRlX3JhbmdlKCkuICovCiAJaWYgKChjcF9mbGFncyAmIE1N X0NQX1RSWV9DSEFOR0VfV1JJVEFCTEUpICYmICFwbWRfd3JpdGUoZW50cnkpICYmCiAJICAgIGNh bl9jaGFuZ2VfcG1kX3dyaXRhYmxlKHZtYSwgYWRkciwgZW50cnkpKQotCQllbnRyeSA9IHBtZF9t a3dyaXRlKGVudHJ5KTsKKwkJZW50cnkgPSBwbWRfbWt3cml0ZShlbnRyeSwgdm1hKTsKIAogCXJl dCA9IEhQQUdFX1BNRF9OUjsKIAlzZXRfcG1kX2F0KG1tLCBhZGRyLCBwbWQsIGVudHJ5KTsKZGlm ZiAtLWdpdCBhL21tL2h1Z2V0bGIuYyBiL21tL2h1Z2V0bGIuYwppbmRleCAwN2FiY2I2ZWIyMDMu LjZhZjQ3MWJkY2ZmOCAxMDA2NDQKLS0tIGEvbW0vaHVnZXRsYi5jCisrKyBiL21tL2h1Z2V0bGIu YwpAQCAtNDkwMCw3ICs0OTAwLDcgQEAgc3RhdGljIHB0ZV90IG1ha2VfaHVnZV9wdGUoc3RydWN0 IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCBwYWdlICpwYWdlLAogCiAJaWYgKHdyaXRhYmxl KSB7CiAJCWVudHJ5ID0gaHVnZV9wdGVfbWt3cml0ZShodWdlX3B0ZV9ta2RpcnR5KG1rX2h1Z2Vf cHRlKHBhZ2UsCi0JCQkJCSB2bWEtPnZtX3BhZ2VfcHJvdCkpKTsKKwkJCQkJIHZtYS0+dm1fcGFn ZV9wcm90KSksIHZtYSk7CiAJfSBlbHNlIHsKIAkJZW50cnkgPSBodWdlX3B0ZV93cnByb3RlY3Qo bWtfaHVnZV9wdGUocGFnZSwKIAkJCQkJICAgdm1hLT52bV9wYWdlX3Byb3QpKTsKQEAgLTQ5MTYs NyArNDkxNiw3IEBAIHN0YXRpYyB2b2lkIHNldF9odWdlX3B0ZXBfd3JpdGFibGUoc3RydWN0IHZt X2FyZWFfc3RydWN0ICp2bWEsCiB7CiAJcHRlX3QgZW50cnk7CiAKLQllbnRyeSA9IGh1Z2VfcHRl X21rd3JpdGUoaHVnZV9wdGVfbWtkaXJ0eShodWdlX3B0ZXBfZ2V0KHB0ZXApKSk7CisJZW50cnkg PSBodWdlX3B0ZV9ta3dyaXRlKGh1Z2VfcHRlX21rZGlydHkoaHVnZV9wdGVwX2dldChwdGVwKSks IHZtYSk7CiAJaWYgKGh1Z2VfcHRlcF9zZXRfYWNjZXNzX2ZsYWdzKHZtYSwgYWRkcmVzcywgcHRl cCwgZW50cnksIDEpKQogCQl1cGRhdGVfbW11X2NhY2hlKHZtYSwgYWRkcmVzcywgcHRlcCk7CiB9 CmRpZmYgLS1naXQgYS9tbS9tZW1vcnkuYyBiL21tL21lbW9yeS5jCmluZGV4IGY0NTZmM2I1MDQ5 Yy4uZDA5NzJkMmQ2ZjM2IDEwMDY0NAotLS0gYS9tbS9tZW1vcnkuYworKysgYi9tbS9tZW1vcnku YwpAQCAtNDA2Nyw3ICs0MDY3LDcgQEAgc3RhdGljIHZtX2ZhdWx0X3QgZG9fYW5vbnltb3VzX3Bh Z2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJZW50cnkgPSBta19wdGUoJmZvbGlvLT5wYWdlLCB2 bWEtPnZtX3BhZ2VfcHJvdCk7CiAJZW50cnkgPSBwdGVfc3dfbWt5b3VuZyhlbnRyeSk7CiAJaWYg KHZtYS0+dm1fZmxhZ3MgJiBWTV9XUklURSkKLQkJZW50cnkgPSBwdGVfbWt3cml0ZShwdGVfbWtk aXJ0eShlbnRyeSkpOworCQllbnRyeSA9IHB0ZV9ta3dyaXRlKHB0ZV9ta2RpcnR5KGVudHJ5KSwg dm1hKTsKIAogCXZtZi0+cHRlID0gcHRlX29mZnNldF9tYXBfbG9jayh2bWEtPnZtX21tLCB2bWYt PnBtZCwgdm1mLT5hZGRyZXNzLAogCQkJJnZtZi0+cHRsKTsKQEAgLTQ3NTUsNyArNDc1NSw3IEBA IHN0YXRpYyB2bV9mYXVsdF90IGRvX251bWFfcGFnZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIAlw dGUgPSBwdGVfbW9kaWZ5KG9sZF9wdGUsIHZtYS0+dm1fcGFnZV9wcm90KTsKIAlwdGUgPSBwdGVf bWt5b3VuZyhwdGUpOwogCWlmICh3cml0YWJsZSkKLQkJcHRlID0gcHRlX21rd3JpdGUocHRlKTsK KwkJcHRlID0gcHRlX21rd3JpdGUocHRlLCB2bWEpOwogCXB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0 KHZtYSwgdm1mLT5hZGRyZXNzLCB2bWYtPnB0ZSwgb2xkX3B0ZSwgcHRlKTsKIAl1cGRhdGVfbW11 X2NhY2hlKHZtYSwgdm1mLT5hZGRyZXNzLCB2bWYtPnB0ZSk7CiAJcHRlX3VubWFwX3VubG9jayh2 bWYtPnB0ZSwgdm1mLT5wdGwpOwpkaWZmIC0tZ2l0IGEvbW0vbWlncmF0ZV9kZXZpY2UuYyBiL21t L21pZ3JhdGVfZGV2aWNlLmMKaW5kZXggZDMwYzlkZTYwYjBkLi5kZjNmNWU5ZDVmNzYgMTAwNjQ0 Ci0tLSBhL21tL21pZ3JhdGVfZGV2aWNlLmMKKysrIGIvbW0vbWlncmF0ZV9kZXZpY2UuYwpAQCAt NjQ2LDcgKzY0Niw3IEBAIHN0YXRpYyB2b2lkIG1pZ3JhdGVfdm1hX2luc2VydF9wYWdlKHN0cnVj dCBtaWdyYXRlX3ZtYSAqbWlncmF0ZSwKIAkJfQogCQllbnRyeSA9IG1rX3B0ZShwYWdlLCB2bWEt PnZtX3BhZ2VfcHJvdCk7CiAJCWlmICh2bWEtPnZtX2ZsYWdzICYgVk1fV1JJVEUpCi0JCQllbnRy eSA9IHB0ZV9ta3dyaXRlKHB0ZV9ta2RpcnR5KGVudHJ5KSk7CisJCQllbnRyeSA9IHB0ZV9ta3dy aXRlKHB0ZV9ta2RpcnR5KGVudHJ5KSwgdm1hKTsKIAl9CiAKIAlwdGVwID0gcHRlX29mZnNldF9t YXBfbG9jayhtbSwgcG1kcCwgYWRkciwgJnB0bCk7CmRpZmYgLS1naXQgYS9tbS9tcHJvdGVjdC5j IGIvbW0vbXByb3RlY3QuYwppbmRleCAxZDQ4NDNjOTdjMmEuLjM4MTE2M2E0MWU4OCAxMDA2NDQK LS0tIGEvbW0vbXByb3RlY3QuYworKysgYi9tbS9tcHJvdGVjdC5jCkBAIC0xOTgsNyArMTk4LDcg QEAgc3RhdGljIGxvbmcgY2hhbmdlX3B0ZV9yYW5nZShzdHJ1Y3QgbW11X2dhdGhlciAqdGxiLAog CQkJaWYgKChjcF9mbGFncyAmIE1NX0NQX1RSWV9DSEFOR0VfV1JJVEFCTEUpICYmCiAJCQkgICAg IXB0ZV93cml0ZShwdGVudCkgJiYKIAkJCSAgICBjYW5fY2hhbmdlX3B0ZV93cml0YWJsZSh2bWEs IGFkZHIsIHB0ZW50KSkKLQkJCQlwdGVudCA9IHB0ZV9ta3dyaXRlKHB0ZW50KTsKKwkJCQlwdGVu dCA9IHB0ZV9ta3dyaXRlKHB0ZW50LCB2bWEpOwogCiAJCQlwdGVwX21vZGlmeV9wcm90X2NvbW1p dCh2bWEsIGFkZHIsIHB0ZSwgb2xkcHRlLCBwdGVudCk7CiAJCQlpZiAocHRlX25lZWRzX2ZsdXNo KG9sZHB0ZSwgcHRlbnQpKQpkaWZmIC0tZ2l0IGEvbW0vdXNlcmZhdWx0ZmQuYyBiL21tL3VzZXJm YXVsdGZkLmMKaW5kZXggNTNjM2Q5MTZmZjY2Li4zZGI2Zjg3YzBhY2EgMTAwNjQ0Ci0tLSBhL21t L3VzZXJmYXVsdGZkLmMKKysrIGIvbW0vdXNlcmZhdWx0ZmQuYwpAQCAtNzUsNyArNzUsNyBAQCBp bnQgbWZpbGxfYXRvbWljX2luc3RhbGxfcHRlKHN0cnVjdCBtbV9zdHJ1Y3QgKmRzdF9tbSwgcG1k X3QgKmRzdF9wbWQsCiAJaWYgKHBhZ2VfaW5fY2FjaGUgJiYgIXZtX3NoYXJlZCkKIAkJd3JpdGFi bGUgPSBmYWxzZTsKIAlpZiAod3JpdGFibGUpCi0JCV9kc3RfcHRlID0gcHRlX21rd3JpdGUoX2Rz dF9wdGUpOworCQlfZHN0X3B0ZSA9IHB0ZV9ta3dyaXRlKF9kc3RfcHRlLCBkc3Rfdm1hKTsKIAlp ZiAod3BfY29weSkKIAkJX2RzdF9wdGUgPSBwdGVfbWt1ZmZkX3dwKF9kc3RfcHRlKTsKIAotLSAK Mi4xNy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtdW0gbWFpbGluZyBsaXN0CmxpbnV4LXVtQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC11bQo=