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 12DC0C25B75 for ; Tue, 14 May 2024 14:05:23 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=4nZ3G+JLt6PeY7hSpVg3myjcbS/dNSt217wOIMTrHAI=; b=AWx1CX3M15KQLm t67JSDiAznsD60yPiAdulgogkQtEi/S1LCxSbW3ruy3Spf/fOjMZDPL0BmVk6GBMehwUDFXLSNbyw B/Z9ujYbZORMmWptYYFghen3nG372XtLigfyPtdTIHyqT2sgnUlrj1W6p+iIG6B2hocdxuYJP+wcT 7PAq2JsfEivHbLY0EwKC7dTiKuu6nB8pPQ1bT0jEV3qPsE3O/RlFOWG7rYnasI4n6T+ggwzyke7Ng 2rbLTx6HS1M5Fhg5DQyGD+Djt/PNh1ET/LtgEWFxAArOjdqOcioFAhKZwJ/WFYYU7n/aJGO/ghIwQ vAThUL4sBSW/ZTdPVk2w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s6smM-0000000G7Uc-0iXn; Tue, 14 May 2024 14:05:18 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s6smI-0000000G7Ri-1C4c for linux-riscv@lists.infradead.org; Tue, 14 May 2024 14:05:16 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id BB79261263; Tue, 14 May 2024 14:05:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9ABF4C32782; Tue, 14 May 2024 14:05:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1715695513; bh=TaDiQetQybqKd6ZxR/jcE5PkU8hQbMlo+vFY+ZDy3zE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Um6pxZBb03VIozcHaKKyM/e7rsrF2bB7BRxYDLJp7hWQla6fuSi8TPOnXKDNIPa56 DMA6SCQqLJvrf9NPtQQa3VDNIg3QbcaUzxenDWFXHcy7WZ+e9lijNqsV1qEuKedsCj fhMgKGD4nqxmx88Pdfkw7QlsmYYUk1nO9c47s/UIXGvNBuqd/42g3ZEPlTu0yF+Uhn BzU437TCi2CekrhYc2nT6ojxNdLYrUlwfGcJsofv+Rl8Qf8Q4BeOiRki3hU/ihNoo/ CQZHkziFcg/X+M1WW5G561IkP3VC6xbOqRHxvURTL4ZpvQyOc5rHaDhZt9wGsJy2hU g9z/70AL1e2Wg== From: =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= To: Alexandre Ghiti , Albert Ou , David Hildenbrand , Palmer Dabbelt , Paul Walmsley , linux-riscv@lists.infradead.org Subject: [PATCH v2 2/8] riscv: mm: Change attribute from __init to __meminit for page functions Date: Tue, 14 May 2024 16:04:40 +0200 Message-Id: <20240514140446.538622-3-bjorn@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240514140446.538622-1-bjorn@kernel.org> References: <20240514140446.538622-1-bjorn@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240514_070514_606995_5FB4913F X-CRM114-Status: GOOD ( 16.34 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lorenzo Stoakes , Chethan Seshadri , linux-kernel@vger.kernel.org, Andrew Bresticker , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Santosh Mamila , linux-mm@kvack.org, Sivakumar Munnangi , virtualization@lists.linux-foundation.org, Oscar Salvador Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org RnJvbTogQmrDtnJuIFTDtnBlbCA8Ympvcm5Acml2b3NpbmMuY29tPgoKUHJlcGFyZSBmb3IgbWVt b3J5IGhvdHBsdWdnaW5nIHN1cHBvcnQgYnkgY2hhbmdpbmcgZnJvbSBfX2luaXQgdG8KX19tZW1p bml0IGZvciB0aGUgcGFnZSB0YWJsZSBmdW5jdGlvbnMgdGhhdCBhcmUgdXNlZCBieSB0aGUgdXBj b21pbmcKYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGNhbGxiYWNrcy4KCkNoYW5naW5nIHRoZSBfX2lu aXQgYXR0cmlidXRlIHRvIF9fbWVtaW5pdCwgYXZvaWRzIHRoYXQgdGhlIGZ1bmN0aW9ucwphcmUg cmVtb3ZlZCBhZnRlciBpbml0LiBUaGUgX19tZW1pbml0IGF0dHJpYnV0ZSBtYWtlcyBzdXJlIHRo ZQpmdW5jdGlvbnMgYXJlIGtlcHQgaW4gdGhlIGtlcm5lbCB0ZXh0IHBvc3QgaW5pdCwgYnV0IG9u bHkgaWYgbWVtb3J5CmhvdHBsdWdnaW5nIGlzIGVuYWJsZWQgZm9yIHRoZSBidWlsZC4KCkFsc28s IG1ha2Ugc3VyZSB0aGF0IHRoZSBhbHRtYXAgcGFyYW1ldGVyIGlzIHByb3Blcmx5IHBhc3NlZCBv biB0bwp2bWVtbWFwX3BvcHVsYXRlX2h1Z2VwYWdlcygpLgoKU2lnbmVkLW9mZi1ieTogQmrDtnJu IFTDtnBlbCA8Ympvcm5Acml2b3NpbmMuY29tPgotLS0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20v bW11LmggICAgIHwgIDQgKy0tCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCB8ICAy ICstCiBhcmNoL3Jpc2N2L21tL2luaXQuYyAgICAgICAgICAgICB8IDU4ICsrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDM1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW11Lmgg Yi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL21tdS5oCmluZGV4IDYwYmU0NThlOTRkYS4uYzA5YzNj NzlmNDk2IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL21tdS5oCisrKyBiL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vbW11LmgKQEAgLTI4LDggKzI4LDggQEAgdHlwZWRlZiBzdHJ1 Y3QgewogI2VuZGlmCiB9IG1tX2NvbnRleHRfdDsKIAotdm9pZCBfX2luaXQgY3JlYXRlX3BnZF9t YXBwaW5nKHBnZF90ICpwZ2RwLCB1aW50cHRyX3QgdmEsIHBoeXNfYWRkcl90IHBhLAotCQkJICAg ICAgIHBoeXNfYWRkcl90IHN6LCBwZ3Byb3RfdCBwcm90KTsKK3ZvaWQgX19tZW1pbml0IGNyZWF0 ZV9wZ2RfbWFwcGluZyhwZ2RfdCAqcGdkcCwgdWludHB0cl90IHZhLCBwaHlzX2FkZHJfdCBwYSwg cGh5c19hZGRyX3Qgc3osCisJCQkJICBwZ3Byb3RfdCBwcm90KTsKICNlbmRpZiAvKiBfX0FTU0VN QkxZX18gKi8KIAogI2VuZGlmIC8qIF9BU01fUklTQ1ZfTU1VX0ggKi8KZGlmZiAtLWdpdCBhL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9w Z3RhYmxlLmgKaW5kZXggNThmZDdiNzBiOTAzLi43OTMzZjQ5M2RiNzEgMTAwNjQ0Ci0tLSBhL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oCisrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9h c20vcGd0YWJsZS5oCkBAIC0xNjIsNyArMTYyLDcgQEAgc3RydWN0IHB0X2FsbG9jX29wcyB7CiAj ZW5kaWYKIH07CiAKLWV4dGVybiBzdHJ1Y3QgcHRfYWxsb2Nfb3BzIHB0X29wcyBfX2luaXRkYXRh OworZXh0ZXJuIHN0cnVjdCBwdF9hbGxvY19vcHMgcHRfb3BzIF9fbWVtaW5pdGRhdGE7CiAKICNp ZmRlZiBDT05GSUdfTU1VCiAvKiBOdW1iZXIgb2YgUEdEIGVudHJpZXMgdGhhdCBhIHVzZXItbW9k ZSBwcm9ncmFtIGNhbiB1c2UgKi8KZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbW0vaW5pdC5jIGIv YXJjaC9yaXNjdi9tbS9pbml0LmMKaW5kZXggNWI4Y2RmYWZiNTJhLi5jOTY5NDI3ZWFiODggMTAw NjQ0Ci0tLSBhL2FyY2gvcmlzY3YvbW0vaW5pdC5jCisrKyBiL2FyY2gvcmlzY3YvbW0vaW5pdC5j CkBAIC0yOTUsNyArMjk1LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW0odm9p ZCkKIH0KIAogI2lmZGVmIENPTkZJR19NTVUKLXN0cnVjdCBwdF9hbGxvY19vcHMgcHRfb3BzIF9f aW5pdGRhdGE7CitzdHJ1Y3QgcHRfYWxsb2Nfb3BzIHB0X29wcyBfX21lbWluaXRkYXRhOwogCiBw Z2RfdCBzd2FwcGVyX3BnX2RpcltQVFJTX1BFUl9QR0RdIF9fcGFnZV9hbGlnbmVkX2JzczsKIHBn ZF90IHRyYW1wb2xpbmVfcGdfZGlyW1BUUlNfUEVSX1BHRF0gX19wYWdlX2FsaWduZWRfYnNzOwpA QCAtMzU3LDcgKzM1Nyw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgKl9faW5pdCBnZXRfcHRlX3Zp cnRfZml4bWFwKHBoeXNfYWRkcl90IHBhKQogCXJldHVybiAocHRlX3QgKilzZXRfZml4bWFwX29m ZnNldChGSVhfUFRFLCBwYSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgKl9faW5pdCBnZXRf cHRlX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBwYSkKK3N0YXRpYyBpbmxpbmUgcHRlX3QgKl9fbWVt aW5pdCBnZXRfcHRlX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBwYSkKIHsKIAlyZXR1cm4gKHB0ZV90 ICopIF9fdmEocGEpOwogfQpAQCAtMzc2LDcgKzM3Niw3IEBAIHN0YXRpYyBpbmxpbmUgcGh5c19h ZGRyX3QgX19pbml0IGFsbG9jX3B0ZV9maXhtYXAodWludHB0cl90IHZhKQogCXJldHVybiBtZW1i bG9ja19waHlzX2FsbG9jKFBBR0VfU0laRSwgUEFHRV9TSVpFKTsKIH0KIAotc3RhdGljIHBoeXNf YWRkcl90IF9faW5pdCBhbGxvY19wdGVfbGF0ZSh1aW50cHRyX3QgdmEpCitzdGF0aWMgcGh5c19h ZGRyX3QgX19tZW1pbml0IGFsbG9jX3B0ZV9sYXRlKHVpbnRwdHJfdCB2YSkKIHsKIAlzdHJ1Y3Qg cHRkZXNjICpwdGRlc2MgPSBwYWdldGFibGVfYWxsb2MoR0ZQX0tFUk5FTCAmIH5fX0dGUF9ISUdI TUVNLCAwKTsKIApAQCAtMzg0LDkgKzM4NCw4IEBAIHN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQg YWxsb2NfcHRlX2xhdGUodWludHB0cl90IHZhKQogCXJldHVybiBfX3BhKChwdGVfdCAqKXB0ZGVz Y19hZGRyZXNzKHB0ZGVzYykpOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgY3JlYXRlX3B0ZV9t YXBwaW5nKHB0ZV90ICpwdGVwLAotCQkJCSAgICAgIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3Qg cGEsCi0JCQkJICAgICAgcGh5c19hZGRyX3Qgc3osIHBncHJvdF90IHByb3QpCitzdGF0aWMgdm9p ZCBfX21lbWluaXQgY3JlYXRlX3B0ZV9tYXBwaW5nKHB0ZV90ICpwdGVwLCB1aW50cHRyX3QgdmEs IHBoeXNfYWRkcl90IHBhLCBwaHlzX2FkZHJfdCBzeiwKKwkJCQkJIHBncHJvdF90IHByb3QpCiB7 CiAJdWludHB0cl90IHB0ZV9pZHggPSBwdGVfaW5kZXgodmEpOwogCkBAIC00NDAsNyArNDM5LDcg QEAgc3RhdGljIHBtZF90ICpfX2luaXQgZ2V0X3BtZF92aXJ0X2ZpeG1hcChwaHlzX2FkZHJfdCBw YSkKIAlyZXR1cm4gKHBtZF90ICopc2V0X2ZpeG1hcF9vZmZzZXQoRklYX1BNRCwgcGEpOwogfQog Ci1zdGF0aWMgcG1kX3QgKl9faW5pdCBnZXRfcG1kX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBwYSkK K3N0YXRpYyBwbWRfdCAqX19tZW1pbml0IGdldF9wbWRfdmlydF9sYXRlKHBoeXNfYWRkcl90IHBh KQogewogCXJldHVybiAocG1kX3QgKikgX192YShwYSk7CiB9CkBAIC00NTcsNyArNDU2LDcgQEAg c3RhdGljIHBoeXNfYWRkcl90IF9faW5pdCBhbGxvY19wbWRfZml4bWFwKHVpbnRwdHJfdCB2YSkK IAlyZXR1cm4gbWVtYmxvY2tfcGh5c19hbGxvYyhQQUdFX1NJWkUsIFBBR0VfU0laRSk7CiB9CiAK LXN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQgYWxsb2NfcG1kX2xhdGUodWludHB0cl90IHZhKQor c3RhdGljIHBoeXNfYWRkcl90IF9fbWVtaW5pdCBhbGxvY19wbWRfbGF0ZSh1aW50cHRyX3QgdmEp CiB7CiAJc3RydWN0IHB0ZGVzYyAqcHRkZXNjID0gcGFnZXRhYmxlX2FsbG9jKEdGUF9LRVJORUwg JiB+X19HRlBfSElHSE1FTSwgMCk7CiAKQEAgLTQ2NSw5ICs0NjQsOSBAQCBzdGF0aWMgcGh5c19h ZGRyX3QgX19pbml0IGFsbG9jX3BtZF9sYXRlKHVpbnRwdHJfdCB2YSkKIAlyZXR1cm4gX19wYSgo cG1kX3QgKilwdGRlc2NfYWRkcmVzcyhwdGRlc2MpKTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0 IGNyZWF0ZV9wbWRfbWFwcGluZyhwbWRfdCAqcG1kcCwKLQkJCQkgICAgICB1aW50cHRyX3QgdmEs IHBoeXNfYWRkcl90IHBhLAotCQkJCSAgICAgIHBoeXNfYWRkcl90IHN6LCBwZ3Byb3RfdCBwcm90 KQorc3RhdGljIHZvaWQgX19tZW1pbml0IGNyZWF0ZV9wbWRfbWFwcGluZyhwbWRfdCAqcG1kcCwK KwkJCQkJIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsCisJCQkJCSBwaHlzX2FkZHJfdCBz eiwgcGdwcm90X3QgcHJvdCkKIHsKIAlwdGVfdCAqcHRlcDsKIAlwaHlzX2FkZHJfdCBwdGVfcGh5 czsKQEAgLTUwMyw3ICs1MDIsNyBAQCBzdGF0aWMgcHVkX3QgKl9faW5pdCBnZXRfcHVkX3ZpcnRf Zml4bWFwKHBoeXNfYWRkcl90IHBhKQogCXJldHVybiAocHVkX3QgKilzZXRfZml4bWFwX29mZnNl dChGSVhfUFVELCBwYSk7CiB9CiAKLXN0YXRpYyBwdWRfdCAqX19pbml0IGdldF9wdWRfdmlydF9s YXRlKHBoeXNfYWRkcl90IHBhKQorc3RhdGljIHB1ZF90ICpfX21lbWluaXQgZ2V0X3B1ZF92aXJ0 X2xhdGUocGh5c19hZGRyX3QgcGEpCiB7CiAJcmV0dXJuIChwdWRfdCAqKV9fdmEocGEpOwogfQpA QCAtNTIxLDcgKzUyMCw3IEBAIHN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQgYWxsb2NfcHVkX2Zp eG1hcCh1aW50cHRyX3QgdmEpCiAJcmV0dXJuIG1lbWJsb2NrX3BoeXNfYWxsb2MoUEFHRV9TSVpF LCBQQUdFX1NJWkUpOwogfQogCi1zdGF0aWMgcGh5c19hZGRyX3QgYWxsb2NfcHVkX2xhdGUodWlu dHB0cl90IHZhKQorc3RhdGljIHBoeXNfYWRkcl90IF9fbWVtaW5pdCBhbGxvY19wdWRfbGF0ZSh1 aW50cHRyX3QgdmEpCiB7CiAJdW5zaWduZWQgbG9uZyB2YWRkcjsKIApAQCAtNTQxLDcgKzU0MCw3 IEBAIHN0YXRpYyBwNGRfdCAqX19pbml0IGdldF9wNGRfdmlydF9maXhtYXAocGh5c19hZGRyX3Qg cGEpCiAJcmV0dXJuIChwNGRfdCAqKXNldF9maXhtYXBfb2Zmc2V0KEZJWF9QNEQsIHBhKTsKIH0K IAotc3RhdGljIHA0ZF90ICpfX2luaXQgZ2V0X3A0ZF92aXJ0X2xhdGUocGh5c19hZGRyX3QgcGEp CitzdGF0aWMgcDRkX3QgKl9fbWVtaW5pdCBnZXRfcDRkX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBw YSkKIHsKIAlyZXR1cm4gKHA0ZF90ICopX192YShwYSk7CiB9CkBAIC01NTksNyArNTU4LDcgQEAg c3RhdGljIHBoeXNfYWRkcl90IF9faW5pdCBhbGxvY19wNGRfZml4bWFwKHVpbnRwdHJfdCB2YSkK IAlyZXR1cm4gbWVtYmxvY2tfcGh5c19hbGxvYyhQQUdFX1NJWkUsIFBBR0VfU0laRSk7CiB9CiAK LXN0YXRpYyBwaHlzX2FkZHJfdCBhbGxvY19wNGRfbGF0ZSh1aW50cHRyX3QgdmEpCitzdGF0aWMg cGh5c19hZGRyX3QgX19tZW1pbml0IGFsbG9jX3A0ZF9sYXRlKHVpbnRwdHJfdCB2YSkKIHsKIAl1 bnNpZ25lZCBsb25nIHZhZGRyOwogCkBAIC01NjgsOSArNTY3LDggQEAgc3RhdGljIHBoeXNfYWRk cl90IGFsbG9jX3A0ZF9sYXRlKHVpbnRwdHJfdCB2YSkKIAlyZXR1cm4gX19wYSh2YWRkcik7CiB9 CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBjcmVhdGVfcHVkX21hcHBpbmcocHVkX3QgKnB1ZHAsCi0J CQkJICAgICAgdWludHB0cl90IHZhLCBwaHlzX2FkZHJfdCBwYSwKLQkJCQkgICAgICBwaHlzX2Fk ZHJfdCBzeiwgcGdwcm90X3QgcHJvdCkKK3N0YXRpYyB2b2lkIF9fbWVtaW5pdCBjcmVhdGVfcHVk X21hcHBpbmcocHVkX3QgKnB1ZHAsIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsIHBoeXNf YWRkcl90IHN6LAorCQkJCQkgcGdwcm90X3QgcHJvdCkKIHsKIAlwbWRfdCAqbmV4dHA7CiAJcGh5 c19hZGRyX3QgbmV4dF9waHlzOwpAQCAtNTk1LDkgKzU5Myw4IEBAIHN0YXRpYyB2b2lkIF9faW5p dCBjcmVhdGVfcHVkX21hcHBpbmcocHVkX3QgKnB1ZHAsCiAJY3JlYXRlX3BtZF9tYXBwaW5nKG5l eHRwLCB2YSwgcGEsIHN6LCBwcm90KTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IGNyZWF0ZV9w NGRfbWFwcGluZyhwNGRfdCAqcDRkcCwKLQkJCQkgICAgICB1aW50cHRyX3QgdmEsIHBoeXNfYWRk cl90IHBhLAotCQkJCSAgICAgIHBoeXNfYWRkcl90IHN6LCBwZ3Byb3RfdCBwcm90KQorc3RhdGlj IHZvaWQgX19tZW1pbml0IGNyZWF0ZV9wNGRfbWFwcGluZyhwNGRfdCAqcDRkcCwgdWludHB0cl90 IHZhLCBwaHlzX2FkZHJfdCBwYSwgcGh5c19hZGRyX3Qgc3osCisJCQkJCSBwZ3Byb3RfdCBwcm90 KQogewogCXB1ZF90ICpuZXh0cDsKIAlwaHlzX2FkZHJfdCBuZXh0X3BoeXM7CkBAIC02NTMsOSAr NjUwLDggQEAgc3RhdGljIHZvaWQgX19pbml0IGNyZWF0ZV9wNGRfbWFwcGluZyhwNGRfdCAqcDRk cCwKICNkZWZpbmUgY3JlYXRlX3BtZF9tYXBwaW5nKF9fcG1kcCwgX192YSwgX19wYSwgX19zeiwg X19wcm90KSBkbyB7fSB3aGlsZSgwKQogI2VuZGlmIC8qIF9fUEFHRVRBQkxFX1BNRF9GT0xERUQg Ki8KIAotdm9pZCBfX2luaXQgY3JlYXRlX3BnZF9tYXBwaW5nKHBnZF90ICpwZ2RwLAotCQkJCSAg ICAgIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsCi0JCQkJICAgICAgcGh5c19hZGRyX3Qg c3osIHBncHJvdF90IHByb3QpCit2b2lkIF9fbWVtaW5pdCBjcmVhdGVfcGdkX21hcHBpbmcocGdk X3QgKnBnZHAsIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsIHBoeXNfYWRkcl90IHN6LAor CQkJCSAgcGdwcm90X3QgcHJvdCkKIHsKIAlwZ2RfbmV4dF90ICpuZXh0cDsKIAlwaHlzX2FkZHJf dCBuZXh0X3BoeXM7CkBAIC02ODAsOCArNjc2LDcgQEAgdm9pZCBfX2luaXQgY3JlYXRlX3BnZF9t YXBwaW5nKHBnZF90ICpwZ2RwLAogCWNyZWF0ZV9wZ2RfbmV4dF9tYXBwaW5nKG5leHRwLCB2YSwg cGEsIHN6LCBwcm90KTsKIH0KIAotc3RhdGljIHVpbnRwdHJfdCBfX2luaXQgYmVzdF9tYXBfc2l6 ZShwaHlzX2FkZHJfdCBwYSwgdWludHB0cl90IHZhLAotCQkJCSAgICAgIHBoeXNfYWRkcl90IHNp emUpCitzdGF0aWMgdWludHB0cl90IF9fbWVtaW5pdCBiZXN0X21hcF9zaXplKHBoeXNfYWRkcl90 IHBhLCB1aW50cHRyX3QgdmEsIHBoeXNfYWRkcl90IHNpemUpCiB7CiAJaWYgKHBndGFibGVfbDVf ZW5hYmxlZCAmJgogCSAgICAhKHBhICYgKFA0RF9TSVpFIC0gMSkpICYmICEodmEgJiAoUDREX1NJ WkUgLSAxKSkgJiYgc2l6ZSA+PSBQNERfU0laRSkKQEAgLTcxNCw3ICs3MDksNyBAQCBhc21saW5r YWdlIHZvaWQgX19pbml0IF9fY29weV9kYXRhKHZvaWQpCiAjZW5kaWYKIAogI2lmZGVmIENPTkZJ R19TVFJJQ1RfS0VSTkVMX1JXWAotc3RhdGljIF9faW5pdCBwZ3Byb3RfdCBwZ3Byb3RfZnJvbV92 YSh1aW50cHRyX3QgdmEpCitzdGF0aWMgX19tZW1pbml0IHBncHJvdF90IHBncHJvdF9mcm9tX3Zh KHVpbnRwdHJfdCB2YSkKIHsKIAlpZiAoaXNfdmFfa2VybmVsX3RleHQodmEpKQogCQlyZXR1cm4g UEFHRV9LRVJORUxfUkVBRF9FWEVDOwpAQCAtNzM5LDcgKzczNCw3IEBAIHZvaWQgbWFya19yb2Rh dGFfcm8odm9pZCkKIAkJCQkgIHNldF9tZW1vcnlfcm8pOwogfQogI2Vsc2UKLXN0YXRpYyBfX2lu aXQgcGdwcm90X3QgcGdwcm90X2Zyb21fdmEodWludHB0cl90IHZhKQorc3RhdGljIF9fbWVtaW5p dCBwZ3Byb3RfdCBwZ3Byb3RfZnJvbV92YSh1aW50cHRyX3QgdmEpCiB7CiAJaWYgKElTX0VOQUJM RUQoQ09ORklHXzY0QklUKSAmJiAhaXNfa2VybmVsX21hcHBpbmcodmEpKQogCQlyZXR1cm4gUEFH RV9LRVJORUw7CkBAIC0xMjMxLDkgKzEyMjYsOCBAQCBhc21saW5rYWdlIHZvaWQgX19pbml0IHNl dHVwX3ZtKHVpbnRwdHJfdCBkdGJfcGEpCiAJcHRfb3BzX3NldF9maXhtYXAoKTsKIH0KIAotc3Rh dGljIHZvaWQgX19pbml0IGNyZWF0ZV9saW5lYXJfbWFwcGluZ19yYW5nZShwaHlzX2FkZHJfdCBz dGFydCwKLQkJCQkJICAgICAgIHBoeXNfYWRkcl90IGVuZCwKLQkJCQkJICAgICAgIHVpbnRwdHJf dCBmaXhlZF9tYXBfc2l6ZSkKK3N0YXRpYyB2b2lkIF9fbWVtaW5pdCBjcmVhdGVfbGluZWFyX21h cHBpbmdfcmFuZ2UocGh5c19hZGRyX3Qgc3RhcnQsIHBoeXNfYWRkcl90IGVuZCwKKwkJCQkJCSAg dWludHB0cl90IGZpeGVkX21hcF9zaXplKQogewogCXBoeXNfYWRkcl90IHBhOwogCXVpbnRwdHJf dCB2YSwgbWFwX3NpemU7CkBAIC0xNDM1LDcgKzE0MjksNyBAQCBpbnQgX19tZW1pbml0IHZtZW1t YXBfcG9wdWxhdGUodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIGludCBu b2RlLAogCSAqIG1lbW9yeSBob3RwbHVnLCB3ZSBhcmUgbm90IGFibGUgdG8gdXBkYXRlIGFsbCB0 aGUgcGFnZSB0YWJsZXMgd2l0aAogCSAqIHRoZSBuZXcgUE1Ecy4KIAkgKi8KLQlyZXR1cm4gdm1l bW1hcF9wb3B1bGF0ZV9odWdlcGFnZXMoc3RhcnQsIGVuZCwgbm9kZSwgTlVMTCk7CisJcmV0dXJu IHZtZW1tYXBfcG9wdWxhdGVfaHVnZXBhZ2VzKHN0YXJ0LCBlbmQsIG5vZGUsIGFsdG1hcCk7CiB9 CiAjZW5kaWYKIAotLSAKMi40MC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1yaXNjdgo=