From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DE679C433E2 for ; Thu, 9 Jul 2020 02:22:42 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A04DF206F6 for ; Thu, 9 Jul 2020 02:22:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="aFfpQFBw"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="mX04W05+" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A04DF206F6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; 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=HYxmRHVUTGVZQzUxa3vNJoya1jSParvDgw2YoiLFP6U=; b=aFfpQFBwUNGZ5upE/RUh5egyw GmQCYR4AFYaquNZ22Ey4NbHptz6U/QA1KK8Mele5yPpxppa7uqCij4YWtcLy8jqjphLAJCsX2RZzm ssU6fgmV/2Rfa7pjaVz/l9B1xc5e14n8OJQaIEKw1bRPHxGcd+lQRMjuT4OzLB3nPEdqhiuPtFJoH 49LYKYTMp6FzHthmhLZhW59KAnYzdEpdx0LBqAzZSyWGBk0bJDzNPhnDgGD89rJOp235ZQQFod4BX Gntx/YaYwnd4BnfLwN3g3Q3yL2qzAoaj2EOXBMzL6WklUaM3gTmjETqiaVCSV8fzWCpZTh1WgjLMT gfoC3y37w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jtMCn-0000Ay-RK; Thu, 09 Jul 2020 02:22:33 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jtMCl-00009Y-Hc for linux-riscv@lists.infradead.org; Thu, 09 Jul 2020 02:22:32 +0000 Received: from localhost.localdomain (unknown [42.120.72.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 640412078A; Thu, 9 Jul 2020 02:22:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594261351; bh=iWJhwhRn5bkiBBiDTJ8zmb/Kw6ebRRCK61F8uJxuW9Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mX04W05+4N82nh1CGBzS/r5m9JUvITUeeX5aPfxnbXpNBz6tlJHBNJiUczGSn6SJy vu+wC2sB40KBrT7ztTpkNm2v8N8xpAnQ+SYmjd1puEp4aUHcGNIwnmvGcWzg9HzwDo jPYYwZz/2nHZ/Ma9nd9jliUMo3UJ9nuB5J6xJjwM= From: guoren@kernel.org To: palmerdabbelt@google.com, paul.walmsley@sifive.com, anup@brainfault.org, greentime.hu@sifive.com, zong.li@sifive.com, me@packi.ch, bjorn.topel@gmail.com, atish.patra@wdc.com, penberg@kernel.org, mhiramat@kernel.org Subject: [PATCH v2 5/6] riscv: Add uprobes supported Date: Thu, 9 Jul 2020 02:19:13 +0000 Message-Id: <1594261154-69745-6-git-send-email-guoren@kernel.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1594261154-69745-1-git-send-email-guoren@kernel.org> References: <1594261154-69745-1-git-send-email-guoren@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200708_222231_735072_5F629629 X-CRM114-Status: GOOD ( 25.36 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-riscv@lists.infradead.org, Guo Ren , guoren@kernel.org, linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org 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 RnJvbTogR3VvIFJlbiA8Z3VvcmVuQGxpbnV4LmFsaWJhYmEuY29tPgoKVGhpcyBwYXRjaCBhZGRz IHN1cHBvcnQgZm9yIHVwcm9iZXMgb24gcmlzY3YgYXJjaGl0ZWN0dXJlLgoKSnVzdCBsaWtlIGtw cm9iZSwgaXQgc3VwcG9ydCBzaW5nbGUtc3RlcCBhbmQgc2ltdWxhdGUgaW5zdHJ1Y3Rpb25zLgoK U2lnbmVkLW9mZi1ieTogR3VvIFJlbiA8Z3VvcmVuQGxpbnV4LmFsaWJhYmEuY29tPgpSZXZpZXdl ZC1ieTogUGVra2EgRW5iZXJnIDxwZW5iZXJnQGtlcm5lbC5vcmc+CkNjOiBQYXRyaWNrIFN0w6Ro bGluIDxtZUBwYWNraS5jaD4KQ2M6IE1hc2FtaSBIaXJhbWF0c3UgPG1oaXJhbWF0QGtlcm5lbC5v cmc+CkNjOiBQYWxtZXIgRGFiYmVsdCA8cGFsbWVyZGFiYmVsdEBnb29nbGUuY29tPgpDYzogQmrD tnJuIFTDtnBlbCA8Ympvcm4udG9wZWxAZ21haWwuY29tPgotLS0KIGFyY2gvcmlzY3YvS2NvbmZp ZyAgICAgICAgICAgICAgICAgICB8ICAgMyArCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Byb2Nl c3Nvci5oICAgfCAgIDEgKwogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oIHwg ICA0ICstCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Vwcm9iZXMuaCAgICAgfCAgNDAgKysrKysr KysKIGFyY2gvcmlzY3Yva2VybmVsL3Byb2Jlcy9NYWtlZmlsZSAgICB8ICAgMSArCiBhcmNoL3Jp c2N2L2tlcm5lbC9wcm9iZXMvdXByb2Jlcy5jICAgfCAxODYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIGFyY2gvcmlzY3Yva2VybmVsL3NpZ25hbC5jICAgICAgICAgICB8ICAg MyArCiBhcmNoL3Jpc2N2L2tlcm5lbC90cmFwcy5jICAgICAgICAgICAgfCAgMTAgKysKIGFyY2gv cmlzY3YvbW0vZmF1bHQuYyAgICAgICAgICAgICAgICB8ICAgNyArKwogOSBmaWxlcyBjaGFuZ2Vk LCAyNTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFy Y2gvcmlzY3YvaW5jbHVkZS9hc20vdXByb2Jlcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9y aXNjdi9rZXJuZWwvcHJvYmVzL3Vwcm9iZXMuYwoKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvS2Nv bmZpZyBiL2FyY2gvcmlzY3YvS2NvbmZpZwppbmRleCBhMjk1ZjBiLi5mOTI3YTkxIDEwMDY0NAot LS0gYS9hcmNoL3Jpc2N2L0tjb25maWcKKysrIGIvYXJjaC9yaXNjdi9LY29uZmlnCkBAIC0xNDYs NiArMTQ2LDkgQEAgY29uZmlnIEFSQ0hfV0FOVF9HRU5FUkFMX0hVR0VUTEIKIGNvbmZpZyBBUkNI X1NVUFBPUlRTX0RFQlVHX1BBR0VBTExPQwogCWRlZl9ib29sIHkKIAorY29uZmlnIEFSQ0hfU1VQ UE9SVFNfVVBST0JFUworCWRlZl9ib29sIHkKKwogY29uZmlnIFNZU19TVVBQT1JUU19IVUdFVExC RlMKIAlkZXBlbmRzIG9uIE1NVQogCWRlZl9ib29sIHkKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yv aW5jbHVkZS9hc20vcHJvY2Vzc29yLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nv ci5oCmluZGV4IGJkZGRjZDUuLjNhMjQwMDMgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvaW5jbHVk ZS9hc20vcHJvY2Vzc29yLmgKKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wcm9jZXNzb3Iu aApAQCAtMzQsNiArMzQsNyBAQCBzdHJ1Y3QgdGhyZWFkX3N0cnVjdCB7CiAJdW5zaWduZWQgbG9u ZyBzcDsJLyogS2VybmVsIG1vZGUgc3RhY2sgKi8KIAl1bnNpZ25lZCBsb25nIHNbMTJdOwkvKiBz WzBdOiBmcmFtZSBwb2ludGVyICovCiAJc3RydWN0IF9fcmlzY3ZfZF9leHRfc3RhdGUgZnN0YXRl OworCXVuc2lnbmVkIGxvbmcgYmFkX2NhdXNlOwogfTsKIAogI2RlZmluZSBJTklUX1RIUkVBRCB7 CQkJCQlcCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgg Yi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKaW5kZXggMWRkMTJhMC4uYjNh N2ViNiAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oCisr KyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaApAQCAtNzYsNiArNzYsNyBA QCBzdHJ1Y3QgdGhyZWFkX2luZm8gewogI2RlZmluZSBUSUZfU1lTQ0FMTF9UUkFDRVBPSU5UICA2 ICAgICAgIC8qIHN5c2NhbGwgdHJhY2Vwb2ludCBpbnN0cnVtZW50YXRpb24gKi8KICNkZWZpbmUg VElGX1NZU0NBTExfQVVESVQJNwkvKiBzeXNjYWxsIGF1ZGl0aW5nICovCiAjZGVmaW5lIFRJRl9T RUNDT01QCQk4CS8qIHN5c2NhbGwgc2VjdXJlIGNvbXB1dGluZyAqLworI2RlZmluZSBUSUZfVVBS T0JFCQk5CS8qIHVwcm9iZSBicmVha3BvaW50IG9yIHNpbmdsZXN0ZXAgKi8KIAogI2RlZmluZSBf VElGX1NZU0NBTExfVFJBQ0UJKDEgPDwgVElGX1NZU0NBTExfVFJBQ0UpCiAjZGVmaW5lIF9USUZf Tk9USUZZX1JFU1VNRQkoMSA8PCBUSUZfTk9USUZZX1JFU1VNRSkKQEAgLTg0LDkgKzg1LDEwIEBA IHN0cnVjdCB0aHJlYWRfaW5mbyB7CiAjZGVmaW5lIF9USUZfU1lTQ0FMTF9UUkFDRVBPSU5UCSgx IDw8IFRJRl9TWVNDQUxMX1RSQUNFUE9JTlQpCiAjZGVmaW5lIF9USUZfU1lTQ0FMTF9BVURJVAko MSA8PCBUSUZfU1lTQ0FMTF9BVURJVCkKICNkZWZpbmUgX1RJRl9TRUNDT01QCQkoMSA8PCBUSUZf U0VDQ09NUCkKKyNkZWZpbmUgX1RJRl9VUFJPQkUJCSgxIDw8IFRJRl9VUFJPQkUpCiAKICNkZWZp bmUgX1RJRl9XT1JLX01BU0sgXAotCShfVElGX05PVElGWV9SRVNVTUUgfCBfVElGX1NJR1BFTkRJ TkcgfCBfVElGX05FRURfUkVTQ0hFRCkKKwkoX1RJRl9OT1RJRllfUkVTVU1FIHwgX1RJRl9TSUdQ RU5ESU5HIHwgX1RJRl9ORUVEX1JFU0NIRUQgfCBfVElGX1VQUk9CRSkKIAogI2RlZmluZSBfVElG X1NZU0NBTExfV09SSyBcCiAJKF9USUZfU1lTQ0FMTF9UUkFDRSB8IF9USUZfU1lTQ0FMTF9UUkFD RVBPSU5UIHwgX1RJRl9TWVNDQUxMX0FVRElUIHwgXApkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9p bmNsdWRlL2FzbS91cHJvYmVzLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Vwcm9iZXMuaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZjIxODNlMAotLS0gL2Rldi9udWxs CisrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdXByb2Jlcy5oCkBAIC0wLDAgKzEsNDAgQEAK Ky8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KKworI2lmbmRlZiBf QVNNX1JJU0NWX1VQUk9CRVNfSAorI2RlZmluZSBfQVNNX1JJU0NWX1VQUk9CRVNfSAorCisjaW5j bHVkZSA8YXNtL3Byb2Jlcy5oPgorI2luY2x1ZGUgPGFzbS9wYXRjaC5oPgorI2luY2x1ZGUgPGFz bS9idWcuaD4KKworI2RlZmluZSBNQVhfVUlOU05fQllURVMJCTgKKworI2lmZGVmIENPTkZJR19S SVNDVl9JU0FfQworI2RlZmluZSBVUFJPQkVfU1dCUF9JTlNOCV9fQlVHX0lOU05fMTYKKyNkZWZp bmUgVVBST0JFX1NXQlBfSU5TTl9TSVpFCTIKKyNlbHNlCisjZGVmaW5lIFVQUk9CRV9TV0JQX0lO U04JX19CVUdfSU5TTl8zMgorI2RlZmluZSBVUFJPQkVfU1dCUF9JTlNOX1NJWkUJNAorI2VuZGlm CisjZGVmaW5lIFVQUk9CRV9YT0xfU0xPVF9CWVRFUwlNQVhfVUlOU05fQllURVMKKwordHlwZWRl ZiB1MzIgdXByb2JlX29wY29kZV90OworCitzdHJ1Y3QgYXJjaF91cHJvYmVfdGFzayB7CisJdW5z aWduZWQgbG9uZyAgIHNhdmVkX2NhdXNlOworfTsKKworc3RydWN0IGFyY2hfdXByb2JlIHsKKwl1 bmlvbiB7CisJCXU4IGluc25bTUFYX1VJTlNOX0JZVEVTXTsKKwkJdTggaXhvbFtNQVhfVUlOU05f QllURVNdOworCX07CisJc3RydWN0IGFyY2hfcHJvYmVfaW5zbiBhcGk7CisJdW5zaWduZWQgbG9u ZyBpbnNuX3NpemU7CisJYm9vbCBzaW11bGF0ZTsKK307CisKK2Jvb2wgdXByb2JlX2JyZWFrcG9p bnRfaGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Citib29sIHVwcm9iZV9zaW5nbGVfc3Rl cF9oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKKworI2VuZGlmIC8qIF9BU01fUklTQ1Zf VVBST0JFU19IICovCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9wcm9iZXMvTWFrZWZp bGUgYi9hcmNoL3Jpc2N2L2tlcm5lbC9wcm9iZXMvTWFrZWZpbGUKaW5kZXggOGEzOTUwNy4uY2I2 Mjk5MSAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvcHJvYmVzL01ha2VmaWxlCisrKyBi L2FyY2gvcmlzY3Yva2VybmVsL3Byb2Jlcy9NYWtlZmlsZQpAQCAtMSw0ICsxLDUgQEAKICMgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKIG9iai0kKENPTkZJR19LUFJPQkVTKQkJKz0g a3Byb2Jlcy5vIGRlY29kZS1pbnNuLm8gc2ltdWxhdGUtaW5zbi5vCiBvYmotJChDT05GSUdfS1BS T0JFUykJCSs9IGtwcm9iZXNfdHJhbXBvbGluZS5vCitvYmotJChDT05GSUdfVVBST0JFUykJCSs9 IHVwcm9iZXMubyBkZWNvZGUtaW5zbi5vIHNpbXVsYXRlLWluc24ubwogQ0ZMQUdTX1JFTU9WRV9z aW11bGF0ZS1pbnNuLm8gPSAkKENDX0ZMQUdTX0ZUUkFDRSkKZGlmZiAtLWdpdCBhL2FyY2gvcmlz Y3Yva2VybmVsL3Byb2Jlcy91cHJvYmVzLmMgYi9hcmNoL3Jpc2N2L2tlcm5lbC9wcm9iZXMvdXBy b2Jlcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi43YTA1N2I1Ci0tLSAv ZGV2L251bGwKKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvcHJvYmVzL3Vwcm9iZXMuYwpAQCAtMCww ICsxLDE4NiBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorCisj aW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgorI2lu Y2x1ZGUgPGxpbnV4L3Vwcm9iZXMuaD4KKworI2luY2x1ZGUgImRlY29kZS1pbnNuLmgiCisKKyNk ZWZpbmUgVVBST0JFX1RSQVBfTlIJVUlOVF9NQVgKKworYm9vbCBpc19zd2JwX2luc24odXByb2Jl X29wY29kZV90ICppbnNuKQoreworI2lmZGVmIENPTkZJR19SSVNDVl9JU0FfQworCXJldHVybiAo Kmluc24gJiAweGZmZmYpID09IFVQUk9CRV9TV0JQX0lOU047CisjZWxzZQorCXJldHVybiAqaW5z biA9PSBVUFJPQkVfU1dCUF9JTlNOOworI2VuZGlmCit9CisKK3Vuc2lnbmVkIGxvbmcgdXByb2Jl X2dldF9zd2JwX2FkZHIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJcmV0dXJuIGluc3RydWN0 aW9uX3BvaW50ZXIocmVncyk7Cit9CisKK2ludCBhcmNoX3Vwcm9iZV9hbmFseXplX2luc24oc3Ry dWN0IGFyY2hfdXByb2JlICphdXByb2JlLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCSAgICAg dW5zaWduZWQgbG9uZyBhZGRyKQoreworCXByb2JlX29wY29kZV90IG9wY29kZTsKKworCW9wY29k ZSA9ICoocHJvYmVfb3Bjb2RlX3QgKikoJmF1cHJvYmUtPmluc25bMF0pOworCisJYXVwcm9iZS0+ aW5zbl9zaXplID0gR0VUX0lOU05fTEVOR1RIKG9wY29kZSk7CisKKwlzd2l0Y2ggKHJpc2N2X3By b2JlX2RlY29kZV9pbnNuKCZvcGNvZGUsICZhdXByb2JlLT5hcGkpKSB7CisJY2FzZSBJTlNOX1JF SkVDVEVEOgorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNhc2UgSU5TTl9HT09EX05PX1NMT1Q6CisJ CWF1cHJvYmUtPnNpbXVsYXRlID0gdHJ1ZTsKKwkJYnJlYWs7CisKKwljYXNlIElOU05fR09PRDoK KwkJYXVwcm9iZS0+c2ltdWxhdGUgPSBmYWxzZTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQly ZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworaW50IGFyY2hfdXByb2JlX3By ZV94b2woc3RydWN0IGFyY2hfdXByb2JlICphdXByb2JlLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykK K3sKKwlzdHJ1Y3QgdXByb2JlX3Rhc2sgKnV0YXNrID0gY3VycmVudC0+dXRhc2s7CisKKwl1dGFz ay0+YXV0YXNrLnNhdmVkX2NhdXNlID0gY3VycmVudC0+dGhyZWFkLmJhZF9jYXVzZTsKKwljdXJy ZW50LT50aHJlYWQuYmFkX2NhdXNlID0gVVBST0JFX1RSQVBfTlI7CisKKwlpbnN0cnVjdGlvbl9w b2ludGVyX3NldChyZWdzLCB1dGFzay0+eG9sX3ZhZGRyKTsKKworCXJlZ3MtPnN0YXR1cyAmPSB+ U1JfU1BJRTsKKworCXJldHVybiAwOworfQorCitpbnQgYXJjaF91cHJvYmVfcG9zdF94b2woc3Ry dWN0IGFyY2hfdXByb2JlICphdXByb2JlLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlzdHJ1 Y3QgdXByb2JlX3Rhc2sgKnV0YXNrID0gY3VycmVudC0+dXRhc2s7CisKKwlXQVJOX09OX09OQ0Uo Y3VycmVudC0+dGhyZWFkLmJhZF9jYXVzZSAhPSBVUFJPQkVfVFJBUF9OUik7CisKKwlpbnN0cnVj dGlvbl9wb2ludGVyX3NldChyZWdzLCB1dGFzay0+dmFkZHIgKyBhdXByb2JlLT5pbnNuX3NpemUp OworCisJcmVncy0+c3RhdHVzIHw9IFNSX1NQSUU7CisKKwlyZXR1cm4gMDsKK30KKworYm9vbCBh cmNoX3Vwcm9iZV94b2xfd2FzX3RyYXBwZWQoc3RydWN0IHRhc2tfc3RydWN0ICp0KQoreworCWlm ICh0LT50aHJlYWQuYmFkX2NhdXNlICE9IFVQUk9CRV9UUkFQX05SKQorCQlyZXR1cm4gdHJ1ZTsK KworCXJldHVybiBmYWxzZTsKK30KKworYm9vbCBhcmNoX3Vwcm9iZV9za2lwX3NzdGVwKHN0cnVj dCBhcmNoX3Vwcm9iZSAqYXVwcm9iZSwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJcHJvYmVf b3Bjb2RlX3QgaW5zbjsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisKKwlpZiAoIWF1cHJvYmUtPnNp bXVsYXRlKQorCQlyZXR1cm4gZmFsc2U7CisKKwlpbnNuID0gKihwcm9iZV9vcGNvZGVfdCAqKSgm YXVwcm9iZS0+aW5zblswXSk7CisJYWRkciA9IGluc3RydWN0aW9uX3BvaW50ZXIocmVncyk7CisK KwlpZiAoYXVwcm9iZS0+YXBpLmhhbmRsZXIpCisJCWF1cHJvYmUtPmFwaS5oYW5kbGVyKGluc24s IGFkZHIsIHJlZ3MpOworCisJcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgYXJjaF91cHJvYmVfYWJv cnRfeG9sKHN0cnVjdCBhcmNoX3Vwcm9iZSAqYXVwcm9iZSwgc3RydWN0IHB0X3JlZ3MgKnJlZ3Mp Cit7CisJc3RydWN0IHVwcm9iZV90YXNrICp1dGFzayA9IGN1cnJlbnQtPnV0YXNrOworCisJLyoK KwkgKiBUYXNrIGhhcyByZWNlaXZlZCBhIGZhdGFsIHNpZ25hbCwgc28gcmVzZXQgYmFjayB0byBw cm9iYmVkCisJICogYWRkcmVzcy4KKwkgKi8KKwlpbnN0cnVjdGlvbl9wb2ludGVyX3NldChyZWdz LCB1dGFzay0+dmFkZHIpOworCisJcmVncy0+c3RhdHVzICY9IH5TUl9TUElFOworfQorCitib29s IGFyY2hfdXJldHByb2JlX2lzX2FsaXZlKHN0cnVjdCByZXR1cm5faW5zdGFuY2UgKnJldCwgZW51 bSBycF9jaGVjayBjdHgsCisJCXN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCWlmIChjdHggPT0g UlBfQ0hFQ0tfQ0hBSU5fQ0FMTCkKKwkJcmV0dXJuIHJlZ3MtPnNwIDw9IHJldC0+c3RhY2s7CisJ ZWxzZQorCQlyZXR1cm4gcmVncy0+c3AgPCByZXQtPnN0YWNrOworfQorCit1bnNpZ25lZCBsb25n CithcmNoX3VyZXRwcm9iZV9oaWphY2tfcmV0dXJuX2FkZHIodW5zaWduZWQgbG9uZyB0cmFtcG9s aW5lX3ZhZGRyLAorCQkJCSAgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgbG9u ZyByYTsKKworCXJhID0gcmVncy0+cmE7CisKKwlyZWdzLT5yYSA9IHRyYW1wb2xpbmVfdmFkZHI7 CisKKwlyZXR1cm4gcmE7Cit9CisKK2ludCBhcmNoX3Vwcm9iZV9leGNlcHRpb25fbm90aWZ5KHN0 cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwKKwkJCQkgdW5zaWduZWQgbG9uZyB2YWwsIHZvaWQg KmRhdGEpCit7CisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCitib29sIHVwcm9iZV9icmVha3Bv aW50X2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJaWYgKHVwcm9iZV9wcmVfc3N0 ZXBfbm90aWZpZXIocmVncykpCisJCXJldHVybiB0cnVlOworCisJcmV0dXJuIGZhbHNlOworfQor Citib29sIHVwcm9iZV9zaW5nbGVfc3RlcF9oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzKQor eworCWlmICh1cHJvYmVfcG9zdF9zc3RlcF9ub3RpZmllcihyZWdzKSkKKwkJcmV0dXJuIHRydWU7 CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgYXJjaF91cHJvYmVfY29weV9peG9sKHN0cnVj dCBwYWdlICpwYWdlLCB1bnNpZ25lZCBsb25nIHZhZGRyLAorCQkJICAgdm9pZCAqc3JjLCB1bnNp Z25lZCBsb25nIGxlbikKK3sKKwkvKiBJbml0aWFsaXplIHRoZSBzbG90ICovCisJdm9pZCAqa2Fk ZHIgPSBrbWFwX2F0b21pYyhwYWdlKTsKKwl2b2lkICpkc3QgPSBrYWRkciArICh2YWRkciAmIH5Q QUdFX01BU0spOworCisJbWVtY3B5KGRzdCwgc3JjLCBsZW4pOworCisJLyogQWRkIGVicmVhayBi ZWhpbmQgb3Bjb2RlIHRvIHNpbXVsYXRlIHNpbmdsZXN0ZXAgKi8KKwlpZiAodmFkZHIpIHsKKwkJ ZHN0ICs9IEdFVF9JTlNOX0xFTkdUSCgqKHByb2JlX29wY29kZV90ICopc3JjKTsKKwkJKih1cHJv YmVfb3Bjb2RlX3QgKilkc3QgPSBfX0JVR19JTlNOXzMyOworCX0KKworCWt1bm1hcF9hdG9taWMo a2FkZHIpOworCisJLyoKKwkgKiBXZSBwcm9iYWJseSBuZWVkIGZsdXNoX2ljYWNoZV91c2VyX3Bh Z2UoKSBidXQgaXQgbmVlZHMgdm1hLgorCSAqIFRoaXMgc2hvdWxkIHdvcmsgb24gbW9zdCBvZiBh cmNoaXRlY3R1cmVzIGJ5IGRlZmF1bHQuIElmCisJICogYXJjaGl0ZWN0dXJlIG5lZWRzIHRvIGRv IHNvbWV0aGluZyBkaWZmZXJlbnQgaXQgY2FuIGRlZmluZQorCSAqIGl0cyBvd24gdmVyc2lvbiBv ZiB0aGUgZnVuY3Rpb24uCisJICovCisJZmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7Cit9CmRpZmYg LS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9zaWduYWwuYyBiL2FyY2gvcmlzY3Yva2VybmVsL3Np Z25hbC5jCmluZGV4IDE3YmExOTAuLmE5NmRiODNiIDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2tl cm5lbC9zaWduYWwuYworKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC9zaWduYWwuYwpAQCAtMzA5LDYg KzMwOSw5IEBAIHN0YXRpYyB2b2lkIGRvX3NpZ25hbChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIGFz bWxpbmthZ2UgX192aXNpYmxlIHZvaWQgZG9fbm90aWZ5X3Jlc3VtZShzdHJ1Y3QgcHRfcmVncyAq cmVncywKIAkJCQkJICAgdW5zaWduZWQgbG9uZyB0aHJlYWRfaW5mb19mbGFncykKIHsKKwlpZiAo dGhyZWFkX2luZm9fZmxhZ3MgJiBfVElGX1VQUk9CRSkKKwkJdXByb2JlX25vdGlmeV9yZXN1bWUo cmVncyk7CisKIAkvKiBIYW5kbGUgcGVuZGluZyBzaWduYWwgZGVsaXZlcnkgKi8KIAlpZiAodGhy ZWFkX2luZm9fZmxhZ3MgJiBfVElGX1NJR1BFTkRJTkcpCiAJCWRvX3NpZ25hbChyZWdzKTsKZGlm ZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL3RyYXBzLmMgYi9hcmNoL3Jpc2N2L2tlcm5lbC90 cmFwcy5jCmluZGV4IGFjMmU3ODYuLjY5ODEyNzYgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2Vy bmVsL3RyYXBzLmMKKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHMuYwpAQCAtNzYsNiArNzYs OCBAQCB2b2lkIGRvX3RyYXAoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBzaWdubywgaW50IGNv ZGUsIHVuc2lnbmVkIGxvbmcgYWRkcikKIHN0YXRpYyB2b2lkIGRvX3RyYXBfZXJyb3Ioc3RydWN0 IHB0X3JlZ3MgKnJlZ3MsIGludCBzaWdubywgaW50IGNvZGUsCiAJdW5zaWduZWQgbG9uZyBhZGRy LCBjb25zdCBjaGFyICpzdHIpCiB7CisJY3VycmVudC0+dGhyZWFkLmJhZF9jYXVzZSA9IHJlZ3Mt PmNhdXNlOworCiAJaWYgKHVzZXJfbW9kZShyZWdzKSkgewogCQlkb190cmFwKHJlZ3MsIHNpZ25v LCBjb2RlLCBhZGRyKTsKIAl9IGVsc2UgewpAQCAtMTUzLDYgKzE1NSwxNCBAQCBhc21saW5rYWdl IF9fdmlzaWJsZSB2b2lkIGRvX3RyYXBfYnJlYWsoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiAJaWYg KGtwcm9iZV9icmVha3BvaW50X2hhbmRsZXIocmVncykpCiAJCXJldHVybjsKICNlbmRpZgorI2lm ZGVmIENPTkZJR19VUFJPQkVTCisJaWYgKHVwcm9iZV9zaW5nbGVfc3RlcF9oYW5kbGVyKHJlZ3Mp KQorCQlyZXR1cm47CisKKwlpZiAodXByb2JlX2JyZWFrcG9pbnRfaGFuZGxlcihyZWdzKSkKKwkJ cmV0dXJuOworI2VuZGlmCisJY3VycmVudC0+dGhyZWFkLmJhZF9jYXVzZSA9IHJlZ3MtPmNhdXNl OwogCiAJaWYgKHVzZXJfbW9kZShyZWdzKSkKIAkJZm9yY2Vfc2lnX2ZhdWx0KFNJR1RSQVAsIFRS QVBfQlJLUFQsICh2b2lkIF9fdXNlciAqKXJlZ3MtPmVwYyk7CmRpZmYgLS1naXQgYS9hcmNoL3Jp c2N2L21tL2ZhdWx0LmMgYi9hcmNoL3Jpc2N2L21tL2ZhdWx0LmMKaW5kZXggZGEwYzA4Yy4uYWM5 NmQ5MyAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9tbS9mYXVsdC5jCisrKyBiL2FyY2gvcmlzY3Yv bW0vZmF1bHQuYwpAQCAtMTcwLDExICsxNzAsMTQgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3BhZ2Vf ZmF1bHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiAJbW1hcF9yZWFkX3VubG9jayhtbSk7CiAJLyog VXNlciBtb2RlIGFjY2Vzc2VzIGp1c3QgY2F1c2UgYSBTSUdTRUdWICovCiAJaWYgKHVzZXJfbW9k ZShyZWdzKSkgeworCQl0c2stPnRocmVhZC5iYWRfY2F1c2UgPSBjYXVzZTsKIAkJZG9fdHJhcChy ZWdzLCBTSUdTRUdWLCBjb2RlLCBhZGRyKTsKIAkJcmV0dXJuOwogCX0KIAogbm9fY29udGV4dDoK Kwl0c2stPnRocmVhZC5iYWRfY2F1c2UgPSBjYXVzZTsKKwogCS8qIEFyZSB3ZSBwcmVwYXJlZCB0 byBoYW5kbGUgdGhpcyBrZXJuZWwgZmF1bHQ/ICovCiAJaWYgKGZpeHVwX2V4Y2VwdGlvbihyZWdz KSkKIAkJcmV0dXJuOwpAQCAtMTk1LDYgKzE5OCw4IEBAIGFzbWxpbmthZ2Ugdm9pZCBkb19wYWdl X2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogCSAqICh3aGljaCB3aWxsIHJldHJ5IHRoZSBm YXVsdCwgb3Iga2lsbCB1cyBpZiB3ZSBnb3Qgb29tLWtpbGxlZCkuCiAJICovCiBvdXRfb2ZfbWVt b3J5OgorCXRzay0+dGhyZWFkLmJhZF9jYXVzZSA9IGNhdXNlOworCiAJbW1hcF9yZWFkX3VubG9j ayhtbSk7CiAJaWYgKCF1c2VyX21vZGUocmVncykpCiAJCWdvdG8gbm9fY29udGV4dDsKQEAgLTIw Miw2ICsyMDcsOCBAQCBhc21saW5rYWdlIHZvaWQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVn cyAqcmVncykKIAlyZXR1cm47CiAKIGRvX3NpZ2J1czoKKwl0c2stPnRocmVhZC5iYWRfY2F1c2Ug PSBjYXVzZTsKKwogCW1tYXBfcmVhZF91bmxvY2sobW0pOwogCS8qIEtlcm5lbCBtb2RlPyBIYW5k bGUgZXhjZXB0aW9ucyBvciBkaWUgKi8KIAlpZiAoIXVzZXJfbW9kZShyZWdzKSkKLS0gCjIuNy40 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt cmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=