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 A0960C433EF for ; Fri, 13 May 2022 20:34:04 +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:Cc:To:From:Subject:References: Mime-Version:Message-Id:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=WePuAzajMi4Yuycd7O3TNpMHHMEyMxPzvZHBU6Qq0CY=; b=UJDL62GzI3xoe2rO6ueujxinqm QP1uflLgmwgEDxjTwuJ1uu6ogtEG73E4Nbhav23M1fhXdaY1e40tOEzmEbO5sdkv497uyJO87erI7 FfsYQWHweRQcLH3Ou11RxgTN1RRvArCcA22gEZUOgHNZi3QgMyWm3Bi/YHqv/t3W0B7Ecgt+SJT+7 UC5G+sLw6q1oM80HIj57r34t9R3xuCA5w5WUSIU/SUGxsWqVlJTF7GTbKImcdxQIO31OkI5iiHvia Aqqq4eCXDdg89x4Eo+r0f/KppCgMb1Vck4ynUsuPRJBscq1ZM7Q1Cj0PEZV9+6gf3TjssS7haNtZS CKyqrqZg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1npbxb-00HWbI-0a; Fri, 13 May 2022 20:32:28 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1npboT-00HRdF-2r for linux-arm-kernel@bombadil.infradead.org; Fri, 13 May 2022 20:23:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type :Cc:To:From:Subject:References:Mime-Version:Message-Id:In-Reply-To:Date: Sender:Reply-To:Content-ID:Content-Description; bh=pCLU/hXWpDFHII+5GFPvqWhTC0IvLx0cTjkTj7lZmbc=; b=lzu6GiXG+VZIhoN/37Qz8TI4PO D6Xzb9UY36FLusHPm3Eryuafe++OPdUbTN9vCsznzo1VZ5y7y3NATGct7/lyH1Kyd1vc8q5GXvWS4 sQM5MTiI16Ez9n8CuYOzkS02q+r0DRY8mMZJkeaBo0TrVFC4MUkT0QiVFehWOWgEXYbb0lvt2Nk+f Pjl6qZoJlaRL/nMuiEf0exYsyELG51/Eg/1tifvEnpcg+ki/rPU2otMCjQ9UNdh2RXSvhSdNEdoRu dVAa4XogZwHaPJjGpcNZw5nwq6lZxrXbjlgLcenuWt/I3e9LiH10/U4yekNc7llbjBnLWpjCOcJZH 3qMqD83w==; Received: from mail-yb1-xb49.google.com ([2607:f8b0:4864:20::b49]) by desiato.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1npbns-0006El-0b for linux-arm-kernel@lists.infradead.org; Fri, 13 May 2022 20:22:37 +0000 Received: by mail-yb1-xb49.google.com with SMTP id j2-20020a2597c2000000b0064b3e54191aso7407930ybo.20 for ; Fri, 13 May 2022 13:22:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc:content-transfer-encoding; bh=pCLU/hXWpDFHII+5GFPvqWhTC0IvLx0cTjkTj7lZmbc=; b=Mjo3Zg4GXcSEYygFB3gUeYErey3L9NNmSyjOIi18QzNpHfJy9bulp3ty3kddEgJ9J4 OPopww/RNZMAY9EqNOt8UF/ur5jA4xe6Vl4e4J9AaOMr5Cvr53O0MDj9V6zOuahgukPh whNbmEtNYcTwmi5ExvRm3P7wuEcc3XI3iMrUTv/+vhWbGaJN7D8iBsSS8Yiv4aD4qdX2 RR4Phvjc5oomZsk9nHp90Pe1Hzk3aTdyy6u1oGKYCyAyoFiiPohavnqrLuMge9o3occh IY17V2npSM/kSAcnAxOw8PLdxW+pSd5E2wi75qbJAw0bn5FUPhJZUWJItdmmZ+cDRi4X jEhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc:content-transfer-encoding; bh=pCLU/hXWpDFHII+5GFPvqWhTC0IvLx0cTjkTj7lZmbc=; b=xbBQCm9JJWb5mHwUPEsqBCNcZtGmJ1dYceDAseGZN6w6QNDximPno5JSlyC4AiC1ir N65oz1T5bnViRQz9NS+woOV6fGBitlZWHUP937iOx9LLwl5nLHb2gcCWWKGavMZggO5c wLH0uyQE1FhZbwCLZeNp94dNt6DfLLURr56Pr3cDVQe+gpXnn7DldwJgiF1UvM7SGZmk bs8mPpkfgPaLc0nENgg1BJ6t8dk78RIhppHoAgv/LYdwWK8VDG9lGdl4yw88EdLAmvOo K7Pl1cuI1skt/rB/6uqjh/pV40qlwXmhyDnIbPme3HmI8hnWtTiK90/uXOxpuMXyAW/6 xUCQ== X-Gm-Message-State: AOAM531l6HnLhh+Sl2IUD2D0FlVh/tgbeLncLJMzCbEh6e67D7LFlMYS sES/sU3fUb6o9KbD4zmPORE/WhU8Q0cLZoAdMXc= X-Google-Smtp-Source: ABdhPJy565vLDtoozxUDDhWLLpuoP38XA6FVRX2KCRBMjTPvFI8LzIegV3p504NDk/E/gB0tUPauPneqNQ2rk7e5uq8= X-Received: from samitolvanen1.mtv.corp.google.com ([2620:15c:201:2:e0:c17e:c2dc:13eb]) (user=samitolvanen job=sendgmr) by 2002:a0d:d0c1:0:b0:2dc:5950:c72f with SMTP id s184-20020a0dd0c1000000b002dc5950c72fmr7381095ywd.185.1652473335511; Fri, 13 May 2022 13:22:15 -0700 (PDT) Date: Fri, 13 May 2022 13:21:44 -0700 In-Reply-To: <20220513202159.1550547-1-samitolvanen@google.com> Message-Id: <20220513202159.1550547-7-samitolvanen@google.com> Mime-Version: 1.0 References: <20220513202159.1550547-1-samitolvanen@google.com> X-Developer-Key: i=samitolvanen@google.com; a=openpgp; fpr=35CCFB63B283D6D3AEB783944CB5F6848BBC56EE X-Developer-Signature: v=1; a=openpgp-sha256; l=15262; h=from:subject; bh=o6CdCuNcxPwKwpmkpv7p1X90CAdPdvaaWPEtZqzJ3XE=; b=owEB7QES/pANAwAKAUy19oSLvFbuAcsmYgBifr3j6rhd7VRsqD7zucXreXJ7ZaNf6DPaYMcLutG9 7vnfmlOJAbMEAAEKAB0WIQQ1zPtjsoPW0663g5RMtfaEi7xW7gUCYn694wAKCRBMtfaEi7xW7r0QC/ 97uOH7x5RKTU/aAHQLlxOmNegxtd2PtEXwOXGVEKW203D4f6n5MqdBdM2Jj6NLSMS2zVXhO1Ix6JpJ wTeaiv5+oMu5GTzWiYkYpDvT7RugGEiOdwW3lWmrX+/8B0G1XbIZyDkLykymeurzjZcG9L5tDgR8M/ jVIirG2M0l5jtzmMmkfqjH/KYcOHCxTwRs2HE0wpmb0SX2Ctpdymw8SuT+vzzGM2KsqQHYJK7Hzob7 bA+KuvgvhQgsgA3pvWOEa/nIQ1wAQTaRTsjs8UeV/Uokf6fNitmtiHztvm3oFpMvySBJQLK6fMjD6j aB+WZH+h5FgVTvUVQNkQHy+SZvgJZ1Wn5DgpfZ8Q0GpJbVLszH9dC2dp8j+GR7td5Z61OEJOxELkJl 4R1qr8PF8PdrxXEvDYZkcQig4q/1lsv834hPEbiZMk0Su5+XsWidHS8xX8cCa52ewu1zuR82hnQK2F us/l/jDOQgh5ZvSyIcOZ6nuHO4c6PRKyUK8gB/+FtSfgA= X-Mailer: git-send-email 2.36.0.550.gb090851708-goog Subject: [RFC PATCH v2 06/21] cfi: Switch to -fsanitize=kcfi From: Sami Tolvanen To: linux-kernel@vger.kernel.org Cc: Kees Cook , Josh Poimboeuf , Peter Zijlstra , x86@kernel.org, Catalin Marinas , Will Deacon , Mark Rutland , Nathan Chancellor , Nick Desaulniers , Joao Moreira , Sedat Dilek , Steven Rostedt , linux-hardening@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev, Sami Tolvanen X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220513_212230_826211_633A4789 X-CRM114-Status: GOOD ( 24.72 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org U3dpdGNoIGZyb20gQ2xhbmcncyBvcmlnaW5hbCBmb3J3YXJkLWVkZ2UgY29udHJvbC1mbG93IGlu dGVncml0eQppbXBsZW1lbnRhdGlvbiB0byAtZnNhbml0aXplPWtjZmksIHdoaWNoIGlzIGJldHRl ciBzdWl0ZWQgZm9yIHRoZQprZXJuZWwsIGFzIGl0IGRvZXNuJ3QgcmVxdWlyZSBMVE8sIGRvZXNu J3QgdXNlIGEganVtcCB0YWJsZSB0aGF0CnJlcXVpcmVzIGFsdGVyaW5nIGZ1bmN0aW9uIHJlZmVy ZW5jZXMsIGFuZCB3b24ndCBicmVhayBjcm9zcy1tb2R1bGUKZnVuY3Rpb24gYWRkcmVzcyBlcXVh bGl0eS4KClNpZ25lZC1vZmYtYnk6IFNhbWkgVG9sdmFuZW4gPHNhbWl0b2x2YW5lbkBnb29nbGUu Y29tPgotLS0KIE1ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMyArLS0KIGFy Y2gvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICB8ICAxMSArKy0KIGluY2x1ZGUvYXNtLWdl bmVyaWMvdm1saW51eC5sZHMuaCB8ICAzNyArKysrLS0tLS0KIGluY2x1ZGUvbGludXgvY2ZpLmgg ICAgICAgICAgICAgICB8ICAzNSArKysrKysrLS0KIGluY2x1ZGUvbGludXgvY29tcGlsZXItY2xh bmcuaCAgICB8ICAgNiArLQogaW5jbHVkZS9saW51eC9tb2R1bGUuaCAgICAgICAgICAgIHwgICA2 ICstCiBrZXJuZWwvY2ZpLmMgICAgICAgICAgICAgICAgICAgICAgfCAxMjYgKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tCiBrZXJuZWwvbW9kdWxlLmMgICAgICAgICAgICAgICAgICAgfCAg MzQgKy0tLS0tLS0KIHNjcmlwdHMvbW9kdWxlLmxkcy5TICAgICAgICAgICAgICB8ICAyMyArLS0t LS0KIDkgZmlsZXMgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDE2MyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IDIyODRkMWNhMjUwMy4uODQz OTU1MTk1NGYxIDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtOTE1LDE4 ICs5MTUsNyBAQCBleHBvcnQgQ0NfRkxBR1NfTFRPCiBlbmRpZgogCiBpZmRlZiBDT05GSUdfQ0ZJ X0NMQU5HCi1DQ19GTEFHU19DRkkJOj0gLWZzYW5pdGl6ZT1jZmkgXAotCQkgICAtZnNhbml0aXpl LWNmaS1jcm9zcy1kc28gXAotCQkgICAtZm5vLXNhbml0aXplLWNmaS1jYW5vbmljYWwtanVtcC10 YWJsZXMgXAotCQkgICAtZm5vLXNhbml0aXplLXRyYXA9Y2ZpIFwKLQkJICAgLWZuby1zYW5pdGl6 ZS1ibGFja2xpc3QKLQotaWZkZWYgQ09ORklHX0NGSV9QRVJNSVNTSVZFCi1DQ19GTEFHU19DRkkJ Kz0gLWZzYW5pdGl6ZS1yZWNvdmVyPWNmaQotZW5kaWYKLQotIyBJZiBMVE8gZmxhZ3MgYXJlIGZp bHRlcmVkIG91dCwgd2UgbXVzdCBhbHNvIGZpbHRlciBvdXQgQ0ZJLgotQ0NfRkxBR1NfTFRPCSs9 ICQoQ0NfRkxBR1NfQ0ZJKQorQ0NfRkxBR1NfQ0ZJCTo9IC1mc2FuaXRpemU9a2NmaQogS0JVSUxE X0NGTEFHUwkrPSAkKENDX0ZMQUdTX0NGSSkKIGV4cG9ydCBDQ19GTEFHU19DRkkKIGVuZGlmCmRp ZmYgLS1naXQgYS9hcmNoL0tjb25maWcgYi9hcmNoL0tjb25maWcKaW5kZXggNjI1ZGI2Mzc2NzI2 Li5mMTc5MTcwY2I0MjIgMTAwNjQ0Ci0tLSBhL2FyY2gvS2NvbmZpZworKysgYi9hcmNoL0tjb25m aWcKQEAgLTcyMCwxNCArNzIwLDEzIEBAIGNvbmZpZyBBUkNIX1NVUFBPUlRTX0NGSV9DTEFORwog CSAgQW4gYXJjaGl0ZWN0dXJlIHNob3VsZCBzZWxlY3QgdGhpcyBvcHRpb24gaWYgaXQgY2FuIHN1 cHBvcnQgQ2xhbmcncwogCSAgQ29udHJvbC1GbG93IEludGVncml0eSAoQ0ZJKSBjaGVja2luZy4K IAorY29uZmlnIEFSQ0hfVVNFU19DRklfVFJBUFMKKwlib29sCisKIGNvbmZpZyBDRklfQ0xBTkcK IAlib29sICJVc2UgQ2xhbmcncyBDb250cm9sIEZsb3cgSW50ZWdyaXR5IChDRkkpIgotCWRlcGVu ZHMgb24gTFRPX0NMQU5HICYmIEFSQ0hfU1VQUE9SVFNfQ0ZJX0NMQU5HCi0JIyBDbGFuZyA+PSAx MjoKLQkjIC0gaHR0cHM6Ly9idWdzLmxsdm0ub3JnL3Nob3dfYnVnLmNnaT9pZD00NjI1OAotCSMg LSBodHRwczovL2J1Z3MubGx2bS5vcmcvc2hvd19idWcuY2dpP2lkPTQ3NDc5Ci0JZGVwZW5kcyBv biBDTEFOR19WRVJTSU9OID49IDEyMDAwMAotCXNlbGVjdCBLQUxMU1lNUworCWRlcGVuZHMgb24g QVJDSF9TVVBQT1JUU19DRklfQ0xBTkcKKwlkZXBlbmRzIG9uICQoY2Mtb3B0aW9uLC1mc2FuaXRp emU9a2NmaSkKIAloZWxwCiAJICBUaGlzIG9wdGlvbiBlbmFibGVzIENsYW5n4oCZcyBmb3J3YXJk LWVkZ2UgQ29udHJvbCBGbG93IEludGVncml0eQogCSAgKENGSSkgY2hlY2tpbmcsIHdoZXJlIHRo ZSBjb21waWxlciBpbmplY3RzIGEgcnVudGltZSBjaGVjayB0byBlYWNoCmRpZmYgLS1naXQgYS9p bmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL3Zt bGludXgubGRzLmgKaW5kZXggNjkxMzhlOWRiNzg3Li5mY2IzYzcxNDZhNDMgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvYXNtLWdlbmVyaWMvdm1saW51eC5sZHMuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5l cmljL3ZtbGludXgubGRzLmgKQEAgLTQyMSw2ICs0MjEsMjIgQEAKIAlfX2VuZF9yb19hZnRlcl9p bml0ID0gLjsKICNlbmRpZgogCisvKgorICogLmtjZmlfdHJhcHMgY29udGFpbnMgYSBsaXN0IEtD RkkgdHJhcCBsb2NhdGlvbnMuCisgKi8KKyNpZm5kZWYgS0NGSV9UUkFQUworI2lmZGVmIENPTkZJ R19BUkNIX1VTRVNfQ0ZJX1RSQVBTCisjZGVmaW5lIEtDRklfVFJBUFMJCQkJCQkJXAorCV9fa2Nm aV90cmFwcyA6IEFUKEFERFIoX19rY2ZpX3RyYXBzKSAtIExPQURfT0ZGU0VUKSB7CQlcCisJCV9f c3RhcnRfX19rY2ZpX3RyYXBzID0gLjsJCQkJXAorCQlLRUVQKCooLmtjZmlfdHJhcHMpKQkJCQkJ XAorCQlfX3N0b3BfX19rY2ZpX3RyYXBzID0gLjsJCQkJXAorCX0KKyNlbHNlCisjZGVmaW5lIEtD RklfVFJBUFMKKyNlbmRpZgorI2VuZGlmCisKIC8qCiAgKiBSZWFkIG9ubHkgRGF0YQogICovCkBA IC01MjksNiArNTQ1LDggQEAKIAkJX19zdG9wX19fbW9kdmVyID0gLjsJCQkJCVwKIAl9CQkJCQkJ CQlcCiAJCQkJCQkJCQlcCisJS0NGSV9UUkFQUwkJCQkJCQlcCisJCQkJCQkJCQlcCiAJUk9fRVhD RVBUSU9OX1RBQkxFCQkJCQkJXAogCU5PVEVTCQkJCQkJCQlcCiAJQlRGCQkJCQkJCQlcCkBAIC01 MzcsMjEgKzU1NSw2IEBACiAJX19lbmRfcm9kYXRhID0gLjsKIAogCi0vKgotICogLnRleHQuLkwu Y2ZpLmp1bXB0YWJsZS4qIGNvbnRhaW4gQ29udHJvbC1GbG93IEludGVncml0eSAoQ0ZJKQotICog anVtcCB0YWJsZSBlbnRyaWVzLgotICovCi0jaWZkZWYgQ09ORklHX0NGSV9DTEFORwotI2RlZmlu ZSBURVhUX0NGSV9KVAkJCQkJCQlcCi0JCS4gPSBBTElHTihQTURfU0laRSk7CQkJCQlcCi0JCV9f Y2ZpX2p0X3N0YXJ0ID0gLjsJCQkJCVwKLQkJKigudGV4dC4uTC5jZmkuanVtcHRhYmxlIC50ZXh0 Li5MLmNmaS5qdW1wdGFibGUuKikJXAotCQkuID0gQUxJR04oUE1EX1NJWkUpOwkJCQkJXAotCQlf X2NmaV9qdF9lbmQgPSAuOwotI2Vsc2UKLSNkZWZpbmUgVEVYVF9DRklfSlQKLSNlbmRpZgotCiAv KgogICogTm9uLWluc3RydW1lbnRhYmxlIHRleHQgc2VjdGlvbgogICovCkBAIC01NzksNyArNTgy LDYgQEAKIAkJKigudGV4dC4ucmVmY291bnQpCQkJCQlcCiAJCSooLnJlZi50ZXh0KQkJCQkJCVwK IAkJKigudGV4dC5hc2FuLiogLnRleHQudHNhbi4qKQkJCQlcCi0JCVRFWFRfQ0ZJX0pUCQkJCQkJ XAogCU1FTV9LRUVQKGluaXQudGV4dCopCQkJCQkJXAogCU1FTV9LRUVQKGV4aXQudGV4dCopCQkJ CQkJXAogCkBAIC0xMDA4LDggKzEwMTAsNyBAQAogICoga2VlcCBhbnkgLmluaXRfYXJyYXkuKiBz ZWN0aW9ucy4KICAqIGh0dHBzOi8vYnVncy5sbHZtLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY0NzgK ICAqLwotI2lmIGRlZmluZWQoQ09ORklHX0dDT1ZfS0VSTkVMKSB8fCBkZWZpbmVkKENPTkZJR19L QVNBTl9HRU5FUklDKSB8fCBkZWZpbmVkKENPTkZJR19LQ1NBTikgfHwgXAotCWRlZmluZWQoQ09O RklHX0NGSV9DTEFORykKKyNpZiBkZWZpbmVkKENPTkZJR19HQ09WX0tFUk5FTCkgfHwgZGVmaW5l ZChDT05GSUdfS0FTQU5fR0VORVJJQykgfHwgZGVmaW5lZChDT05GSUdfS0NTQU4pCiAjIGlmZGVm IENPTkZJR19DT05TVFJVQ1RPUlMKICMgIGRlZmluZSBTQU5JVElaRVJfRElTQ0FSRFMJCQkJCQlc CiAJKiguZWhfZnJhbWUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2NmaS5oIGIvaW5jbHVk ZS9saW51eC9jZmkuaAppbmRleCAyY2RiYzBmYmQwYWIuLjY1NWI4YjEwYWMzZCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9jZmkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2NmaS5oCkBAIC0yLDE3 ICsyLDQyIEBACiAvKgogICogQ2xhbmcgQ29udHJvbCBGbG93IEludGVncml0eSAoQ0ZJKSBzdXBw b3J0LgogICoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBHb29nbGUgTExDCisgKiBDb3B5cmlnaHQg KEMpIDIwMjIgR29vZ2xlIExMQwogICovCiAjaWZuZGVmIF9MSU5VWF9DRklfSAogI2RlZmluZSBf TElOVVhfQ0ZJX0gKIAorI2luY2x1ZGUgPGxpbnV4L2J1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L21v ZHVsZS5oPgorCiAjaWZkZWYgQ09ORklHX0NGSV9DTEFORwotdHlwZWRlZiB2b2lkICgqY2ZpX2No ZWNrX2ZuKSh1aW50NjRfdCBpZCwgdm9pZCAqcHRyLCB2b2lkICpkaWFnKTsKK2VudW0gYnVnX3Ry YXBfdHlwZSByZXBvcnRfY2ZpX2ZhaWx1cmUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVk IGxvbmcgYWRkciwKKwkJCQkgICAgICB1bnNpZ25lZCBsb25nIHRhcmdldCwgdW5zaWduZWQgbG9u ZyB0eXBlKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGVudW0gYnVnX3RyYXBfdHlwZSByZXBvcnRf Y2ZpX2ZhaWx1cmUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCisJCQkJCQkgICAgdW5zaWduZWQgbG9u ZyBhZGRyLAorCQkJCQkJICAgIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LAorCQkJCQkJICAgIHVuc2ln bmVkIGxvbmcgdHlwZSkKK3sKKwlyZXR1cm4gQlVHX1RSQVBfVFlQRV9OT05FOworfQorI2VuZGlm IC8qIENPTkZJR19DRklfQ0xBTkcgKi8KIAotLyogQ29tcGlsZXItZ2VuZXJhdGVkIGZ1bmN0aW9u IGluIGVhY2ggbW9kdWxlLCBhbmQgdGhlIGtlcm5lbCAqLwotZXh0ZXJuIHZvaWQgX19jZmlfY2hl Y2sodWludDY0X3QgaWQsIHZvaWQgKnB0ciwgdm9pZCAqZGlhZyk7CisjaWZkZWYgQ09ORklHX0FS Q0hfVVNFU19DRklfVFJBUFMKK2Jvb2wgaXNfY2ZpX3RyYXAodW5zaWduZWQgbG9uZyBhZGRyKTsK KyNlbHNlCitzdGF0aWMgaW5saW5lIGJvb2wgaXNfY2ZpX3RyYXAodW5zaWduZWQgbG9uZyBhZGRy KSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmIC8qIENPTkZJR19BUkNIX1VTRVNfQ0ZJX1RSQVBT ICovCiAKLSNlbmRpZiAvKiBDT05GSUdfQ0ZJX0NMQU5HICovCisjaWZkZWYgQ09ORklHX01PRFVM RVMKKyNpZmRlZiBDT05GSUdfQVJDSF9VU0VTX0NGSV9UUkFQUwordm9pZCBtb2R1bGVfY2ZpX2Zp bmFsaXplKGNvbnN0IEVsZl9FaGRyICpoZHIsIGNvbnN0IEVsZl9TaGRyICpzZWNoZHJzLAorCQkJ IHN0cnVjdCBtb2R1bGUgKm1vZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIG1vZHVsZV9j ZmlfZmluYWxpemUoY29uc3QgRWxmX0VoZHIgKmhkciwKKwkJCQkgICAgICAgY29uc3QgRWxmX1No ZHIgKnNlY2hkcnMsCisJCQkJICAgICAgIHN0cnVjdCBtb2R1bGUgKm1vZCkge30KKyNlbmRpZiAv KiBDT05GSUdfQVJDSF9VU0VTX0NGSV9UUkFQUyAqLworI2VuZGlmIC8qIENPTkZJR19NT0RVTEVT ICovCiAKICNlbmRpZiAvKiBfTElOVVhfQ0ZJX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvY29tcGlsZXItY2xhbmcuaCBiL2luY2x1ZGUvbGludXgvY29tcGlsZXItY2xhbmcuaAppbmRl eCBiYWJiMTM0NzE0OGMuLjQyZTU1NTc5ZDY0OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9j b21waWxlci1jbGFuZy5oCisrKyBiL2luY2x1ZGUvbGludXgvY29tcGlsZXItY2xhbmcuaApAQCAt NjYsOCArNjYsMTAgQEAKICMgZGVmaW5lIF9fbm9zY3MJX19hdHRyaWJ1dGVfXygoX19ub19zYW5p dGl6ZV9fKCJzaGFkb3ctY2FsbC1zdGFjayIpKSkKICNlbmRpZgogCi0jZGVmaW5lIF9fbm9jZmkJ CV9fYXR0cmlidXRlX18oKF9fbm9fc2FuaXRpemVfXygiY2ZpIikpKQotI2RlZmluZSBfX2NmaWNh bm9uaWNhbAlfX2F0dHJpYnV0ZV9fKChfX2NmaV9jYW5vbmljYWxfanVtcF90YWJsZV9fKSkKKyNp ZiBfX2hhc19mZWF0dXJlKGtjZmkpCisvKiBEaXNhYmxlIENGSSBjaGVja2luZyBpbnNpZGUgYSBm dW5jdGlvbi4gKi8KKyNkZWZpbmUgX19ub2NmaQkJX19hdHRyaWJ1dGVfXygoX19ub19zYW5pdGl6 ZV9fKCJrY2ZpIikpKQorI2VuZGlmCiAKIC8qCiAgKiBUdXJuIGluZGl2aWR1YWwgd2FybmluZ3Mg YW5kIGVycm9ycyBvbiBhbmQgb2ZmIGxvY2FsbHksIGRlcGVuZGluZwpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9saW51eC9tb2R1bGUuaCBiL2luY2x1ZGUvbGludXgvbW9kdWxlLmgKaW5kZXggODc4NTcy NzVjMDQ3Li4zYjQ4NTgzNGJlNzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW9kdWxlLmgK KysrIGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUg PGxpbnV4L3RyYWNlcG9pbnQtZGVmcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NyY3UuaD4KICNpbmNs dWRlIDxsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2NmaS5oPgog CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8YXNtL21vZHVsZS5oPgpAQCAt Mzg4LDggKzM4Nyw5IEBAIHN0cnVjdCBtb2R1bGUgewogCWNvbnN0IHMzMiAqY3JjczsKIAl1bnNp Z25lZCBpbnQgbnVtX3N5bXM7CiAKLSNpZmRlZiBDT05GSUdfQ0ZJX0NMQU5HCi0JY2ZpX2NoZWNr X2ZuIGNmaV9jaGVjazsKKyNpZmRlZiBDT05GSUdfQVJDSF9VU0VTX0NGSV9UUkFQUworCXVuc2ln bmVkIGxvbmcgKmtjZmlfdHJhcHM7CisJdW5zaWduZWQgbG9uZyAqa2NmaV90cmFwc19lbmQ7CiAj ZW5kaWYKIAogCS8qIEtlcm5lbCBwYXJhbWV0ZXJzLiAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL2Nm aS5jIGIva2VybmVsL2NmaS5jCmluZGV4IDJjYzBkMDFlYTk4MC4uNDU2ZDVlYWMwODJhIDEwMDY0 NAotLS0gYS9rZXJuZWwvY2ZpLmMKKysrIGIva2VybmVsL2NmaS5jCkBAIC0xLDk0ICsxLDg2IEBA CiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAogLyoKLSAqIENsYW5nIENvbnRy b2wgRmxvdyBJbnRlZ3JpdHkgKENGSSkgZXJyb3IgYW5kIHNsb3dwYXRoIGhhbmRsaW5nLgorICog Q2xhbmcgQ29udHJvbCBGbG93IEludGVncml0eSAoQ0ZJKSBlcnJvciBoYW5kbGluZy4KICAqCi0g KiBDb3B5cmlnaHQgKEMpIDIwMjEgR29vZ2xlIExMQworICogQ29weXJpZ2h0IChDKSAyMDIyIEdv b2dsZSBMTEMKICAqLwogCi0jaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgotI2luY2x1ZGUgPGxp bnV4L2thbGxzeW1zLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGlu dXgvbXV0ZXguaD4KLSNpbmNsdWRlIDxsaW51eC9wcmludGsuaD4KLSNpbmNsdWRlIDxsaW51eC9y YXRlbGltaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgotI2luY2x1ZGUgPGxpbnV4 L3ZtYWxsb2MuaD4KLSNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgotI2luY2x1ZGUgPGFzbS9z ZXRfbWVtb3J5Lmg+Ci0KLS8qIENvbXBpbGVyLWRlZmluZWQgaGFuZGxlciBuYW1lcyAqLwotI2lm ZGVmIENPTkZJR19DRklfUEVSTUlTU0lWRQotI2RlZmluZSBjZmlfZmFpbHVyZV9oYW5kbGVyCV9f dWJzYW5faGFuZGxlX2NmaV9jaGVja19mYWlsCi0jZWxzZQotI2RlZmluZSBjZmlfZmFpbHVyZV9o YW5kbGVyCV9fdWJzYW5faGFuZGxlX2NmaV9jaGVja19mYWlsX2Fib3J0Ci0jZW5kaWYKLQotc3Rh dGljIGlubGluZSB2b2lkIGhhbmRsZV9jZmlfZmFpbHVyZSh2b2lkICpwdHIpCi17Ci0JaWYgKElT X0VOQUJMRUQoQ09ORklHX0NGSV9QRVJNSVNTSVZFKSkKLQkJV0FSTl9SQVRFTElNSVQoMSwgIkNG SSBmYWlsdXJlICh0YXJnZXQ6ICVwUyk6XG4iLCBwdHIpOwotCWVsc2UKLQkJcGFuaWMoIkNGSSBm YWlsdXJlICh0YXJnZXQ6ICVwUylcbiIsIHB0cik7Ci19Ci0KLSNpZmRlZiBDT05GSUdfTU9EVUxF UworI2luY2x1ZGUgPGxpbnV4L2NmaS5oPgogCi1zdGF0aWMgaW5saW5lIGNmaV9jaGVja19mbiBm aW5kX21vZHVsZV9jaGVja19mbih1bnNpZ25lZCBsb25nIHB0cikKK2VudW0gYnVnX3RyYXBfdHlw ZSByZXBvcnRfY2ZpX2ZhaWx1cmUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcg YWRkciwKKwkJCQkgICAgICB1bnNpZ25lZCBsb25nIHRhcmdldCwgdW5zaWduZWQgbG9uZyB0eXBl KQogewotCWNmaV9jaGVja19mbiBmbiA9IE5VTEw7Ci0Jc3RydWN0IG1vZHVsZSAqbW9kOworCXBy X2VycigiQ0ZJIGZhaWx1cmUgYXQgJXBTICh0YXJnZXQ6ICVwUzsgZXhwZWN0ZWQgdHlwZTogMHgl MDh4KVxuIiwKKwkgICAgICAgKHZvaWQgKilhZGRyLCAodm9pZCAqKXRhcmdldCwgKHUzMil0eXBl KTsKIAotCXJjdV9yZWFkX2xvY2tfc2NoZWRfbm90cmFjZSgpOwotCW1vZCA9IF9fbW9kdWxlX2Fk ZHJlc3MocHRyKTsKLQlpZiAobW9kKQotCQlmbiA9IG1vZC0+Y2ZpX2NoZWNrOwotCXJjdV9yZWFk X3VubG9ja19zY2hlZF9ub3RyYWNlKCk7CisJaWYgKElTX0VOQUJMRUQoQ09ORklHX0NGSV9QRVJN SVNTSVZFKSkgeworCQlfX3dhcm4oTlVMTCwgMCwgKHZvaWQgKilhZGRyLCAwLCByZWdzLCBOVUxM KTsKKwkJcmV0dXJuIEJVR19UUkFQX1RZUEVfV0FSTjsKKwl9CiAKLQlyZXR1cm4gZm47CisJcmV0 dXJuIEJVR19UUkFQX1RZUEVfQlVHOwogfQogCi1zdGF0aWMgaW5saW5lIGNmaV9jaGVja19mbiBm aW5kX2NoZWNrX2ZuKHVuc2lnbmVkIGxvbmcgcHRyKQorI2lmZGVmIENPTkZJR19BUkNIX1VTRVNf Q0ZJX1RSQVBTCisjaWZkZWYgQ09ORklHX01PRFVMRVMKKy8qIFBvcHVsYXRlcyBga2NmaV90cmFw KF9lbmQpP2AgZmllbGRzIGluIGBzdHJ1Y3QgbW9kdWxlYC4gKi8KK3ZvaWQgbW9kdWxlX2NmaV9m aW5hbGl6ZShjb25zdCBFbGZfRWhkciAqaGRyLCBjb25zdCBFbGZfU2hkciAqc2VjaGRycywKKwkJ CSBzdHJ1Y3QgbW9kdWxlICptb2QpCiB7Ci0JY2ZpX2NoZWNrX2ZuIGZuID0gTlVMTDsKKwljaGFy ICpzZWNzdHJpbmdzOworCXVuc2lnbmVkIGludCBpOwogCi0JaWYgKGlzX2tlcm5lbF90ZXh0KHB0 cikpCi0JCXJldHVybiBfX2NmaV9jaGVjazsKKwltb2QtPmtjZmlfdHJhcHMgPSBOVUxMOworCW1v ZC0+a2NmaV90cmFwc19lbmQgPSBOVUxMOwogCi0JLyoKLQkgKiBJbmRpcmVjdCBjYWxsIGNoZWNr cyBjYW4gaGFwcGVuIHdoZW4gUkNVIGlzIG5vdCB3YXRjaGluZy4gQm90aAotCSAqIHRoZSBzaGFk b3cgYW5kIF9fbW9kdWxlX2FkZHJlc3MgdXNlIFJDVSwgc28gd2UgbmVlZCB0byB3YWtlIGl0Ci0J ICogdXAgaWYgbmVjZXNzYXJ5LgotCSAqLwotCVJDVV9OT05JRExFKHsKLQkJZm4gPSBmaW5kX21v ZHVsZV9jaGVja19mbihwdHIpOwotCX0pOworCXNlY3N0cmluZ3MgPSAoY2hhciAqKWhkciArIHNl Y2hkcnNbaGRyLT5lX3Noc3RybmR4XS5zaF9vZmZzZXQ7CiAKLQlyZXR1cm4gZm47CisJZm9yIChp ID0gMTsgaSA8IGhkci0+ZV9zaG51bTsgaSsrKSB7CisJCWlmIChzdHJjbXAoc2Vjc3RyaW5ncyAr IHNlY2hkcnNbaV0uc2hfbmFtZSwgIl9fa2NmaV90cmFwcyIpKQorCQkJY29udGludWU7CisKKwkJ bW9kLT5rY2ZpX3RyYXBzID0gKHVuc2lnbmVkIGxvbmcgKilzZWNoZHJzW2ldLnNoX2FkZHI7CisJ CW1vZC0+a2NmaV90cmFwc19lbmQgPSAodW5zaWduZWQgbG9uZyAqKShzZWNoZHJzW2ldLnNoX2Fk ZHIgKworCQkJCQkJCXNlY2hkcnNbaV0uc2hfc2l6ZSk7CisJCWJyZWFrOworCX0KIH0KIAotdm9p ZCBfX2NmaV9zbG93cGF0aF9kaWFnKHVpbnQ2NF90IGlkLCB2b2lkICpwdHIsIHZvaWQgKmRpYWcp CitzdGF0aWMgYm9vbCBpc19tb2R1bGVfY2ZpX3RyYXAodW5zaWduZWQgbG9uZyBhZGRyKQogewot CWNmaV9jaGVja19mbiBmbiA9IGZpbmRfY2hlY2tfZm4oKHVuc2lnbmVkIGxvbmcpcHRyKTsKKwli b29sIGZvdW5kID0gZmFsc2U7CisJc3RydWN0IG1vZHVsZSAqbW9kOworCXVuc2lnbmVkIGxvbmcg KnA7CiAKLQlpZiAobGlrZWx5KGZuKSkKLQkJZm4oaWQsIHB0ciwgZGlhZyk7Ci0JZWxzZSAvKiBE b24ndCBhbGxvdyB1bmNoZWNrZWQgbW9kdWxlcyAqLwotCQloYW5kbGVfY2ZpX2ZhaWx1cmUocHRy KTsKLX0KLUVYUE9SVF9TWU1CT0woX19jZmlfc2xvd3BhdGhfZGlhZyk7CisJcmN1X3JlYWRfbG9j a19zY2hlZF9ub3RyYWNlKCk7CiAKLSNlbHNlIC8qICFDT05GSUdfTU9EVUxFUyAqLworCW1vZCA9 IF9fbW9kdWxlX2FkZHJlc3MoYWRkcik7CisJaWYgKG1vZCkKKwkJZm9yIChwID0gbW9kLT5rY2Zp X3RyYXBzOyAhZm91bmQgJiYgcCA8IG1vZC0+a2NmaV90cmFwc19lbmQ7ICsrcCkKKwkJCWZvdW5k ID0gKCpwID09IGFkZHIpOworCisJcmN1X3JlYWRfdW5sb2NrX3NjaGVkX25vdHJhY2UoKTsKIAot dm9pZCBfX2NmaV9zbG93cGF0aF9kaWFnKHVpbnQ2NF90IGlkLCB2b2lkICpwdHIsIHZvaWQgKmRp YWcpCisJcmV0dXJuIGZvdW5kOworfQorI2Vsc2UgLyogQ09ORklHX01PRFVMRVMgKi8KK3N0YXRp YyBpbmxpbmUgYm9vbCBpc19tb2R1bGVfY2ZpX3RyYXAodW5zaWduZWQgbG9uZyBhZGRyKQogewot CWhhbmRsZV9jZmlfZmFpbHVyZShwdHIpOyAvKiBObyBtb2R1bGVzICovCisJcmV0dXJuIGZhbHNl OwogfQotRVhQT1JUX1NZTUJPTChfX2NmaV9zbG93cGF0aF9kaWFnKTsKLQogI2VuZGlmIC8qIENP TkZJR19NT0RVTEVTICovCiAKLXZvaWQgY2ZpX2ZhaWx1cmVfaGFuZGxlcih2b2lkICpkYXRhLCB2 b2lkICpwdHIsIHZvaWQgKnZ0YWJsZSkKK2V4dGVybiB1bnNpZ25lZCBsb25nIF9fc3RhcnRfX19r Y2ZpX3RyYXBzW107CitleHRlcm4gdW5zaWduZWQgbG9uZyBfX3N0b3BfX19rY2ZpX3RyYXBzW107 CisKK2Jvb2wgaXNfY2ZpX3RyYXAodW5zaWduZWQgbG9uZyBhZGRyKQogewotCWhhbmRsZV9jZmlf ZmFpbHVyZShwdHIpOworCXVuc2lnbmVkIGxvbmcgKnA7CisKKwlmb3IgKHAgPSBfX3N0YXJ0X19f a2NmaV90cmFwczsgcCA8IF9fc3RvcF9fX2tjZmlfdHJhcHM7ICsrcCkKKwkJaWYgKCpwID09IGFk ZHIpCisJCQlyZXR1cm4gdHJ1ZTsKKworCXJldHVybiBpc19tb2R1bGVfY2ZpX3RyYXAoYWRkcik7 CiB9Ci1FWFBPUlRfU1lNQk9MKGNmaV9mYWlsdXJlX2hhbmRsZXIpOworI2VuZGlmIC8qIENPTkZJ R19BUkNIX1VTRVNfQ0ZJX1RSQVBTICovCmRpZmYgLS1naXQgYS9rZXJuZWwvbW9kdWxlLmMgYi9r ZXJuZWwvbW9kdWxlLmMKaW5kZXggMjk2ZmUwMjMyM2U5Li40MTFhZThjMzU4ZTYgMTAwNjQ0Ci0t LSBhL2tlcm5lbC9tb2R1bGUuYworKysgYi9rZXJuZWwvbW9kdWxlLmMKQEAgLTU3LDYgKzU3LDcg QEAKICNpbmNsdWRlIDxsaW51eC9ic2VhcmNoLmg+CiAjaW5jbHVkZSA8bGludXgvZHluYW1pY19k ZWJ1Zy5oPgogI2luY2x1ZGUgPGxpbnV4L2F1ZGl0Lmg+CisjaW5jbHVkZSA8bGludXgvY2ZpLmg+ CiAjaW5jbHVkZSA8dWFwaS9saW51eC9tb2R1bGUuaD4KICNpbmNsdWRlICJtb2R1bGUtaW50ZXJu YWwuaCIKIApAQCAtMzg3MSw4ICszODcyLDkgQEAgc3RhdGljIGludCBjb21wbGV0ZV9mb3JtYXRp b24oc3RydWN0IG1vZHVsZSAqbW9kLCBzdHJ1Y3QgbG9hZF9pbmZvICppbmZvKQogCWlmIChlcnIg PCAwKQogCQlnb3RvIG91dDsKIAotCS8qIFRoaXMgcmVsaWVzIG9uIG1vZHVsZV9tdXRleCBmb3Ig bGlzdCBpbnRlZ3JpdHkuICovCisJLyogVGhlc2UgcmVseSBvbiBtb2R1bGVfbXV0ZXggZm9yIGxp c3QgaW50ZWdyaXR5LiAqLwogCW1vZHVsZV9idWdfZmluYWxpemUoaW5mby0+aGRyLCBpbmZvLT5z ZWNoZHJzLCBtb2QpOworCW1vZHVsZV9jZmlfZmluYWxpemUoaW5mby0+aGRyLCBpbmZvLT5zZWNo ZHJzLCBtb2QpOwogCiAJbW9kdWxlX2VuYWJsZV9ybyhtb2QsIGZhbHNlKTsKIAltb2R1bGVfZW5h YmxlX254KG1vZCk7CkBAIC0zOTI4LDggKzM5MzAsNiBAQCBzdGF0aWMgaW50IHVua25vd25fbW9k dWxlX3BhcmFtX2NiKGNoYXIgKnBhcmFtLCBjaGFyICp2YWwsIGNvbnN0IGNoYXIgKm1vZG5hbWUs CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGNmaV9pbml0KHN0cnVjdCBtb2R1bGUgKm1v ZCk7Ci0KIC8qCiAgKiBBbGxvY2F0ZSBhbmQgbG9hZCB0aGUgbW9kdWxlOiBub3RlIHRoYXQgc2l6 ZSBvZiBzZWN0aW9uIDAgaXMgYWx3YXlzCiAgKiB6ZXJvLCBhbmQgd2UgcmVseSBvbiB0aGlzIGZv ciBvcHRpb25hbCBzZWN0aW9ucy4KQEAgLTQwNTksOSArNDA1OSw2IEBAIHN0YXRpYyBpbnQgbG9h ZF9tb2R1bGUoc3RydWN0IGxvYWRfaW5mbyAqaW5mbywgY29uc3QgY2hhciBfX3VzZXIgKnVhcmdz LAogCiAJZmx1c2hfbW9kdWxlX2ljYWNoZShtb2QpOwogCi0JLyogU2V0dXAgQ0ZJIGZvciB0aGUg bW9kdWxlLiAqLwotCWNmaV9pbml0KG1vZCk7Ci0KIAkvKiBOb3cgY29weSBpbiBhcmdzICovCiAJ bW9kLT5hcmdzID0gc3RybmR1cF91c2VyKHVhcmdzLCB+MFVMID4+IDEpOwogCWlmIChJU19FUlIo bW9kLT5hcmdzKSkgewpAQCAtNDUwMiwzMSArNDQ5OSw2IEBAIGludCBtb2R1bGVfa2FsbHN5bXNf b25fZWFjaF9zeW1ib2woaW50ICgqZm4pKHZvaWQgKiwgY29uc3QgY2hhciAqLAogI2VuZGlmIC8q IENPTkZJR19MSVZFUEFUQ0ggKi8KICNlbmRpZiAvKiBDT05GSUdfS0FMTFNZTVMgKi8KIAotc3Rh dGljIHZvaWQgY2ZpX2luaXQoc3RydWN0IG1vZHVsZSAqbW9kKQotewotI2lmZGVmIENPTkZJR19D RklfQ0xBTkcKLQlpbml0Y2FsbF90ICppbml0OwotCWV4aXRjYWxsX3QgKmV4aXQ7Ci0KLQlyY3Vf cmVhZF9sb2NrX3NjaGVkKCk7Ci0JbW9kLT5jZmlfY2hlY2sgPSAoY2ZpX2NoZWNrX2ZuKQotCQlm aW5kX2thbGxzeW1zX3N5bWJvbF92YWx1ZShtb2QsICJfX2NmaV9jaGVjayIpOwotCWluaXQgPSAo aW5pdGNhbGxfdCAqKQotCQlmaW5kX2thbGxzeW1zX3N5bWJvbF92YWx1ZShtb2QsICJfX2NmaV9q dF9pbml0X21vZHVsZSIpOwotCWV4aXQgPSAoZXhpdGNhbGxfdCAqKQotCQlmaW5kX2thbGxzeW1z X3N5bWJvbF92YWx1ZShtb2QsICJfX2NmaV9qdF9jbGVhbnVwX21vZHVsZSIpOwotCXJjdV9yZWFk X3VubG9ja19zY2hlZCgpOwotCi0JLyogRml4IGluaXQvZXhpdCBmdW5jdGlvbnMgdG8gcG9pbnQg dG8gdGhlIENGSSBqdW1wIHRhYmxlICovCi0JaWYgKGluaXQpCi0JCW1vZC0+aW5pdCA9ICppbml0 OwotI2lmZGVmIENPTkZJR19NT0RVTEVfVU5MT0FECi0JaWYgKGV4aXQpCi0JCW1vZC0+ZXhpdCA9 ICpleGl0OwotI2VuZGlmCi0jZW5kaWYKLX0KLQogLyogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFj dGVycyB3cml0dGVuIGJ5IG1vZHVsZV9mbGFncygpICovCiAjZGVmaW5lIE1PRFVMRV9GTEFHU19C VUZfU0laRSAoVEFJTlRfRkxBR1NfQ09VTlQgKyA0KQogCmRpZmYgLS1naXQgYS9zY3JpcHRzL21v ZHVsZS5sZHMuUyBiL3NjcmlwdHMvbW9kdWxlLmxkcy5TCmluZGV4IDFkMGUxZTRkYzNkMi4uMDcw ODg5NjEzOWNjIDEwMDY0NAotLS0gYS9zY3JpcHRzL21vZHVsZS5sZHMuUworKysgYi9zY3JpcHRz L21vZHVsZS5sZHMuUwpAQCAtMywyMCArMywxMCBAQAogICogQXJjaHMgYXJlIGZyZWUgdG8gc3Vw cGx5IHRoZWlyIG93biBsaW5rZXIgc2NyaXB0cy4gIGxkIHdpbGwKICAqIGNvbWJpbmUgdGhlbSBh dXRvbWF0aWNhbGx5LgogICovCi0jaWZkZWYgQ09ORklHX0NGSV9DTEFORwotIyBpbmNsdWRlIDxh c20vcGFnZS5oPgotIyBkZWZpbmUgQUxJR05fQ0ZJIAkJQUxJR04oUEFHRV9TSVpFKQotIyBkZWZp bmUgU0FOSVRJWkVSX0RJU0NBUkRTCSooLmVoX2ZyYW1lKQotI2Vsc2UKLSMgZGVmaW5lIEFMSUdO X0NGSQotIyBkZWZpbmUgU0FOSVRJWkVSX0RJU0NBUkRTCi0jZW5kaWYKLQogU0VDVElPTlMgewog CS9ESVNDQVJELyA6IHsKIAkJKiguZGlzY2FyZCkKIAkJKiguZGlzY2FyZC4qKQotCQlTQU5JVEla RVJfRElTQ0FSRFMKIAl9CiAKIAlfX2tzeW10YWIJCTAgOiB7ICooU09SVChfX19rc3ltdGFiKyop KSB9CkBAIC0zMSw2ICsyMSwxMCBAQCBTRUNUSU9OUyB7CiAKIAlfX3BhdGNoYWJsZV9mdW5jdGlv bl9lbnRyaWVzIDogeyAqKF9fcGF0Y2hhYmxlX2Z1bmN0aW9uX2VudHJpZXMpIH0KIAorI2lmZGVm IENPTkZJR19BUkNIX1VTRVNfQ0ZJX1RSQVBTCisJX19rY2ZpX3RyYXBzIAkJOiB7IEtFRVAoKigu a2NmaV90cmFwcykpIH0KKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX0xUT19DTEFORwogCS8qCiAJ ICogV2l0aCBDT05GSUdfTFRPX0NMQU5HLCBMTEQgYWx3YXlzIGVuYWJsZXMgLWZkYXRhLXNlY3Rp b25zIGFuZApAQCAtNTEsMTUgKzQ1LDYgQEAgU0VDVElPTlMgewogCQkqKC5yb2RhdGEgLnJvZGF0 YS5bMC05YS16QS1aX10qKQogCQkqKC5yb2RhdGEuLkwqKQogCX0KLQotCS8qCi0JICogV2l0aCBD T05GSUdfQ0ZJX0NMQU5HLCB3ZSBhc3N1bWUgX19jZmlfY2hlY2sgaXMgYXQgdGhlIGJlZ2lubmlu ZwotCSAqIG9mIHRoZSAudGV4dCBzZWN0aW9uLCBhbmQgaXMgYWxpZ25lZCB0byBQQUdFX1NJWkUu Ci0JICovCi0JLnRleHQgOiBBTElHTl9DRkkgewotCQkqKC50ZXh0Ll9fY2ZpX2NoZWNrKQotCQkq KC50ZXh0IC50ZXh0LlswLTlhLXpBLVpfXSogLnRleHQuLkwuY2ZpKikKLQl9CiAjZW5kaWYKIH0K IAotLSAKMi4zNi4wLjU1MC5nYjA5MDg1MTcwOC1nb29nCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QK bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=