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 79250C43334 for ; Fri, 10 Jun 2022 23:41:43 +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=B2ZB6rYi+d+uxhI8PDM2p5T9Ua4XymsQUXMBVTBvRHo=; b=Lxsz/hM87BDccdj+Mj2pmG0KZo nMhnlX2s5bgQm8ybC3LczyuaDOUur+kV5BnuNsU7w/0tarMf158KGTeXnMORGFoUKDnxNhmR1mrs/ RuEccli5hBZnaH6JI34BLzA9PQFB0cFpTGKm5FX+mp/mNCSDjX85IxMyK9Ozi2c3TXPE8TE+KzqyP 5QN2LCnoWBmrfcq1aKOUo8AAtNXI17LnN2+EWHlR7DvZGN5RJIMbLsHJbap/Z6FvnhxHQsDDmjtpD rlYURaf+53gKQLoBxtag5dLZAHwBp7pfHIVUB6k8KnfHXtE3xGVAmYCedvZfiLmjy6VSibBrDwde6 vYYjmweA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nzoEm-00ATIe-4x; Fri, 10 Jun 2022 23:40:21 +0000 Received: from mail-yw1-x114a.google.com ([2607:f8b0:4864:20::114a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nzoAf-00AR90-U2 for linux-arm-kernel@lists.infradead.org; Fri, 10 Jun 2022 23:36:08 +0000 Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-30c14765d55so5980297b3.13 for ; Fri, 10 Jun 2022 16:36:04 -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=Nj2FcQQ6lEfrPxymLsrkJw1b2S1yl6sNWE/BKYH2KMQ=; b=X3EEC5gZJaLGTcVcURSwh1BdZ+KgDOumiR78ltdLn3aAFssMNf8iW95J71NeirdC11 8HdGKrvGyxavcUSjK0OI2HQgNyrgsl5GcI14p0G290yLj4FEIRti+uctpcOTlW/SmoiF l7Lwwu4G+ei/e/wq+eYdd1ghnyQZqIQggugnxesKfPC/V1cS9oozHhBg/slW4JUTUvmJ qFJAm5yuQ3fb1A7CwVeKNAdYKH4sHICESyPp4OiVWTYSChzym6Txotzi0hwRY3kQLDMw eubwZQTSkfk79U97Rej66mF3K1RLmJ//O3lCjtedvbvqsvOvLxoYlUwCMuu3Ss60+Yvr 8k2Q== 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=Nj2FcQQ6lEfrPxymLsrkJw1b2S1yl6sNWE/BKYH2KMQ=; b=xVxwPRZkrpgQhsFdooWUGhPQAUnisL0d2Y8ddAM4gGorbzx1sXSw/seeTdXTIZLx6v Kh0YJqeZ5rTEM7Sl8CmVLQ24YLmwPftaz0xbkW13INr/gU6c4J2YF2RoxRTRMIWIgem8 h2gzHdG6+gUr/kHExd66gWfsd8xeD5umpP80iujn01u+UM7S2QoSe5ouakEpPCz/632/ h85K2ijT1P6TgyHppIJPgxv60ohqD9YMdMe2q6o0JQYj+eO2h4EWlhh8EIozn61vvOIo CjH7vM6YEVZ+jXBMSZst3d6KR9kWxWPJaD3++kEZfLaCR1RDw5CEF6fYktJNOSS16ixf IPCg== X-Gm-Message-State: AOAM5308Agtnr+hvciwMf3sjWRc72Bs7aFbLxLAXuYAiojX0jLXlrDTb qD07jA3qMC8JN1H/jfvKf7QpP5ezzpeR1PY56JU= X-Google-Smtp-Source: ABdhPJxVGYzoLz0dtA1YZ7pQXisvPcdFXe2JAwe7vc6YPzpJezG5CieqmFkfvvw14t5EGlP7YNrTM2k43DQNd0ZuTnI= X-Received: from samitolvanen1.mtv.corp.google.com ([2620:15c:201:2:f464:6db6:3d47:ed14]) (user=samitolvanen job=sendgmr) by 2002:a25:5d0d:0:b0:633:25c8:380 with SMTP id r13-20020a255d0d000000b0063325c80380mr45507038ybb.167.1654904164287; Fri, 10 Jun 2022 16:36:04 -0700 (PDT) Date: Fri, 10 Jun 2022 16:35:13 -0700 In-Reply-To: <20220610233513.1798771-1-samitolvanen@google.com> Message-Id: <20220610233513.1798771-21-samitolvanen@google.com> Mime-Version: 1.0 References: <20220610233513.1798771-1-samitolvanen@google.com> X-Developer-Key: i=samitolvanen@google.com; a=openpgp; fpr=35CCFB63B283D6D3AEB783944CB5F6848BBC56EE X-Developer-Signature: v=1; a=openpgp-sha256; l=10274; h=from:subject; bh=S9UxutCSspfmeIl4qS2cBaxdW+uZNFEa/Fr10jrQR8I=; b=owEB7QES/pANAwAKAUy19oSLvFbuAcsmYgBio9UvrlNDSxgHrq2W/3CmEYlMjhhC7DgqfXHv7FAJ hR1GXSqJAbMEAAEKAB0WIQQ1zPtjsoPW0663g5RMtfaEi7xW7gUCYqPVLwAKCRBMtfaEi7xW7m5PC/ 9XQVT9GF3M3MS7Z+zuwlzAXErTzPomRmsIk+xwRH+z65arN1z/XUWRNCF82WptGt0tRpduU0obfCi3 IlwuIW6AtQCVCdkaHLyMoT1n7g5yYyp86HejhCd7nWfl1S1Ewe6x026ymSsXi3Zs4XV63Lqpl+xcbM Xf2qbn1UwuQZfkm3M09ugsTLivqBFk50QtEkGn2b1f95IdWMdzjCbixiEe44I1smIAoa6GRveLqbD9 eViLyOvuH7Ov55Dr8vYUTmGi9jrcF0n2rg68jqXPbuJv1uY4hHaLwlpHRcTqqsI69lW+Om2vROuuG2 65/bbb3bnWcJ1DInYO0bM5lQKwwguJuFez/Y1iwUsCUsuE5UFhMNI2Ixm1h9V7htpvs+1wqqOyTAUo B9/7QAFz312wrUHzpQMLFwaSEuP7Uf0ioPQV1j27Xq9magHCRSRCuKodE1J+pRGgHznFEW8ZLLDl6/ cOK4cCqbFO7BeIJbLqNdf8tCeB4BeZqIJKiat8CQOOvyg= X-Mailer: git-send-email 2.36.1.476.g0c4daa206d-goog Subject: [RFC PATCH v3 20/20] x86: Add support for CONFIG_CFI_CLANG 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-20220610_163606_016237_62771BF4 X-CRM114-Status: GOOD ( 28.38 ) 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 V2l0aCBDT05GSUdfQ0ZJX0NMQU5HLCB0aGUgY29tcGlsZXIgaW5qZWN0cyBhIHR5cGUgcHJlYW1i bGUgaW1tZWRpYXRlbHkKYmVmb3JlIGVhY2ggZnVuY3Rpb24gYW5kIGEgY2hlY2sgdG8gdmFsaWRh dGUgdGhlIHRhcmdldCBmdW5jdGlvbiB0eXBlCmJlZm9yZSBpbmRpcmVjdCBjYWxsczoKCiAgOyB0 eXBlIHByZWFtYmxlCiAgX19jZmlfZnVuY3Rpb246CiAgICBpbnQzCiAgICBpbnQzCiAgICBtb3Yg PGlkPiwgJWVheAogICAgaW50MwogICAgaW50MwogIGZ1bmN0aW9uOgogICAgLi4uCiAgOyBpbmRp cmVjdCBjYWxsIGNoZWNrCiAgICBjbXBswqAgwqAgPGlkPiwgLTYoJXIxMSkKICAgIGplICAgICAg Lkx0bXAxCiAgICB1ZDIKICAuTHRtcDE6CiAgICBjYWxsICAgIF9feDg2X2luZGlyZWN0X3RodW5r X3IxMQoKRGVmaW5lIHRoZSBfX0NGSV9UWVBFIGhlbHBlciBtYWNybyBmb3IgbWFudWFsbHkgYW5u b3RhdGluZyBpbmRpcmVjdGx5CmNhbGxlZCBhc3NlbWJseSBmdW5jdGlvbiB3aXRoIHRoZSBpZGVu dGljYWwgcHJlbWFibGUsIGFkZCBlcnJvciBoYW5kbGluZwpjb2RlIGZvciB0aGUgdWQyIHRyYXBz IGVtaXR0ZWQgZm9yIGluZGlyZWN0IGNhbGwgY2hlY2tzLCBhbmQgYWxsb3cKQ09ORklHX0NGSV9D TEFORyB0byBiZSBzZWxlY3RlZCBvbiB4ODZfNjQuCgpUaGlzIHByb2R1Y2VzIHRoZSBmb2xsb3dp bmcgb29wcyBvbiBDRkkgZmFpbHVyZSAoZ2VuZXJhdGVkIHVzaW5nIGxrZHRtKToKClsgICAxNS44 OTY1MDNdIENGSSBmYWlsdXJlIGF0IGxrZHRtX2luZGlyZWN0X2NhbGwrMHgxNC8weDIwIFtsa2R0 bV0KKHRhcmdldDogbGtkdG1faW5jcmVtZW50X2ludCsweDAvMHg3IFtsa2R0bV07IGV4cGVjdGVk IHR5cGU6IDB4N2UwYzUyYTUpClsgICAxNS44OTg1NjVdIGludmFsaWQgb3Bjb2RlOiAwMDAwIFsj MV0gUFJFRU1QVCBTTVAgTk9QVEkKWyAgIDE1Ljg5ODc5OF0gQ1BVOiAyIFBJRDogMTMzIENvbW06 IHNoIE5vdCB0YWludGVkCjUuMTkuMC1yYzEtMDAwMjAtZzUyNGQ0Yjg2MWQxNSAjMQpbICAgMTUu ODk4OTY3XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAx OTk2KSwKQklPUyByZWwtMS4xNC4wLTAtZzE1NTgyMWExOTkwYi1wcmVidWlsdC5xZW11Lm9yZyAw NC8wMS8yMDE0ClsgICAxNS44OTkwMDRdIFJJUDogMDAxMDpsa2R0bV9pbmRpcmVjdF9jYWxsKzB4 MTQvMHgyMCBbbGtkdG1dClsgICAxNS44OTkwMDRdIENvZGU6IGM3IGMyIDc2IDAyIDQwIGMwIDQ4 IGM3IGMxIDk1IDAwIDQwIGMwIGU5IDNiIGNiIDNlCmU4IDBmIDFmIDQwIDAwIDQ5IDg5IGZiIDQ4 IGM3IGM3IDcwIDY0IDQwIGMwIDQxIDgxIDdiIGZhIGE1IDUyIDBjIDdmClsgICAxNS44OTkwMDRd IFJTUDogMDAxODpmZmZmOWQ5MjgwMjlmZGMwIEVGTEFHUzogMDAwMDAyODMKWyAgIDE1Ljg5OTAw NF0gUkFYOiAwMDAwMDAwMDAwMDAwMDI3IFJCWDogZmZmZmZmZmZjMDQwNjMyMCBSQ1g6IDAyNGNl ZjEyOWY0NTg1MDAKWyAgIDE1Ljg5OTAwNF0gUkRYOiBmZmZmZmZmZmE5MjUxNTgwIFJTSTogZmZm ZmZmZmZhOTA3MzZjOCBSREk6IGZmZmZmZmZmYzA0MDY0NzAKWyAgIDE1Ljg5OTAwNF0gUkJQOiAw MDAwMDAwMDAwMDAwMDA2IFIwODogZmZmZmZmZmZhOTI1MTY3MCBSMDk6IDY1Njg2Mzc0NjE2ZDcz NjkKWyAgIDE1Ljg5OTAwNF0gUjEwOiAwMDAwMDAwMDJlMmUyZTIwIFIxMTogZmZmZmZmZmZjMDNm ZGM2OSBSMTI6IDAwMDAwMDAwMDAwMDAwMDAKWyAgIDE1Ljg5OTAwNF0gUjEzOiBmZmZmOGIyYzAy MmVlMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDIKWyAgIDE1 Ljg5OTAwNF0gRlM6ICAwMDAwN2YwYTZlN2U4NmEwKDAwMDApIEdTOmZmZmY4YjJjMWY1MDAwMDAo MDAwMCkKa25sR1M6MDAwMDAwMDAwMDAwMDAwMApbICAgMTUuODk5MDA0XSBDUzogIDAwMTAgRFM6 IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgICAxNS44OTkwMDRdIENSMjog MDAwMDAwMDAwMTBkZGZkMCBDUjM6IDAwMDAwMDAwMDFiYzgwMDAgQ1I0OiAwMDAwMDAwMDAwMDAw NmUwClsgICAxNS44OTkwMDRdIENhbGwgVHJhY2U6ClsgICAxNS44OTkwMDRdICA8VEFTSz4KWyAg IDE1Ljg5OTAwNF0gIGxrZHRtX0NGSV9GT1JXQVJEX1BST1RPKzB4MzAvMHg1NyBbbGtkdG1dClsg ICAxNS44OTkwMDRdICBkaXJlY3RfZW50cnkrMHgxMjkvMHgxMzcgW2xrZHRtXQpbICAgMTUuODk5 MDA0XSAgZnVsbF9wcm94eV93cml0ZSsweDViLzB4YTcKWyAgIDE1Ljg5OTAwNF0gIHZmc193cml0 ZSsweDE0Mi8weDQ1NwpbICAgMTUuODk5MDA0XSAgPyBfX3g2NF9zeXNfd2FpdDQrMHg1YS8weGI3 ClsgICAxNS44OTkwMDRdICBrc3lzX3dyaXRlKzB4NjkvMHhkNwpbICAgMTUuODk5MDA0XSAgZG9f c3lzY2FsbF82NCsweDRmLzB4OTcKWyAgIDE1Ljg5OTAwNF0gIGVudHJ5X1NZU0NBTExfNjRfYWZ0 ZXJfaHdmcmFtZSsweDQ2LzB4YjAKWyAgIDE1Ljg5OTAwNF0gUklQOiAwMDMzOjB4N2YwYTZlNzZk ZmUxClsgICAxNS44OTkwMDRdIENvZGU6IGJlIDA3IDAwIDAwIDAwIDQxIDg5IGMwIGU4IDdlIGZm IGZmIGZmIDQ0IDg5IGM3IDg5CjA0IDI0IGU4IDkxIGM2IDAyIDAwIDhiIDA0IDI0IDQ4IDgzIGM0 IDY4IGMzIDQ4IDYzIGZmIGI4IDAxIDAwIDAwIDAzClsgICAxNS44OTkwMDRdIFJTUDogMDAyYjow MDAwN2ZmZTMyZTEzM2M4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAw MDEKWyAgIDE1Ljg5OTAwNF0gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDdmMGE2ZTdl ODY5MCBSQ1g6IDAwMDA3ZjBhNmU3NmRmZTEKWyAgIDE1Ljg5OTAwNF0gUkRYOiAwMDAwMDAwMDAw MDAwMDEyIFJTSTogMDAwMDAwMDAwMWFkNTkxMCBSREk6IDAwMDAwMDAwMDAwMDAwMDEKWyAgIDE1 Ljg5OTAwNF0gUkJQOiAwMDAwMDAwMDAwMDAwMDAxIFIwODogZmVmZWZlZmVmZWZlZmVmZiBSMDk6 IGZlZmVmZWZmMDBhYmZmNGUKWyAgIDE1Ljg5OTAwNF0gUjEwOiAwMDAwN2YwYTZlN2U5MmIwIFIx MTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDAwMDAwMDFhZDU5MTAKWyAgIDE1Ljg5OTAwNF0g UjEzOiAwMDAwMDAwMDAwMDAwMDEyIFIxNDogMDAwMDdmZmUzMmUxMzUwMSBSMTU6IDAwMDAwMDAw MDFhZDI0NTAKWyAgIDE1Ljg5OTAwNF0gIDwvVEFTSz4KWyAgIDE1Ljg5OTAwNF0gTW9kdWxlcyBs aW5rZWQgaW46IGxrZHRtClsgICAxNS44OTkwMDRdIER1bXBpbmcgZnRyYWNlIGJ1ZmZlcjoKWyAg IDE1Ljg5OTAwNF0gICAgKGZ0cmFjZSBidWZmZXIgZW1wdHkpClsgICAxNS45MjU2MTJdIC0tLVsg ZW5kIHRyYWNlIDAwMDAwMDAwMDAwMDAwMDAgXS0tLQpbICAgMTUuOTI1NjYxXSBSSVA6IDAwMTA6 bGtkdG1faW5kaXJlY3RfY2FsbCsweDE0LzB4MjAgW2xrZHRtXQpbICAgMTUuOTI1Njg5XSBDb2Rl OiBjNyBjMiA3NiAwMiA0MCBjMCA0OCBjNyBjMSA5NSAwMCA0MCBjMCBlOSAzYiBjYiAzZQplOCAw ZiAxZiA0MCAwMCA0OSA4OSBmYiA0OCBjNyBjNyA3MCA2NCA0MCBjMCA0MSA4MSA3YiBmYSBhNSA1 MiAwYyA3ZgpbICAgMTUuOTI1Njk3XSBSU1A6IDAwMTg6ZmZmZjlkOTI4MDI5ZmRjMCBFRkxBR1M6 IDAwMDAwMjgzClsgICAxNS45MjU3MDldIFJBWDogMDAwMDAwMDAwMDAwMDAyNyBSQlg6IGZmZmZm ZmZmYzA0MDYzMjAgUkNYOiAwMjRjZWYxMjlmNDU4NTAwClsgICAxNS45MjU3MTZdIFJEWDogZmZm ZmZmZmZhOTI1MTU4MCBSU0k6IGZmZmZmZmZmYTkwNzM2YzggUkRJOiBmZmZmZmZmZmMwNDA2NDcw ClsgICAxNS45MjU3MjJdIFJCUDogMDAwMDAwMDAwMDAwMDAwNiBSMDg6IGZmZmZmZmZmYTkyNTE2 NzAgUjA5OiA2NTY4NjM3NDYxNmQ3MzY5ClsgICAxNS45MjU3MzFdIFIxMDogMDAwMDAwMDAyZTJl MmUyMCBSMTE6IGZmZmZmZmZmYzAzZmRjNjkgUjEyOiAwMDAwMDAwMDAwMDAwMDAwClsgICAxNS45 MjU3MzldIFIxMzogZmZmZjhiMmMwMjJlZTAwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAw MDAwMDAwMDAwMDAwMDAyClsgICAxNS45MjU3NDZdIEZTOiAgMDAwMDdmMGE2ZTdlODZhMCgwMDAw KSBHUzpmZmZmOGIyYzFmNTAwMDAwKDAwMDApCmtubEdTOjAwMDAwMDAwMDAwMDAwMDAKWyAgIDE1 LjkyNTc1NV0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAz MwpbICAgMTUuOTI1NzYyXSBDUjI6IDAwMDAwMDAwMDEwZGRmZDAgQ1IzOiAwMDAwMDAwMDAxYmM4 MDAwIENSNDogMDAwMDAwMDAwMDAwMDZlMApbICAgMTUuOTI1ODg5XSBLZXJuZWwgcGFuaWMgLSBu b3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uCgpTaWduZWQtb2ZmLWJ5OiBTYW1pIFRvbHZhbmVu IDxzYW1pdG9sdmFuZW5AZ29vZ2xlLmNvbT4KLS0tCiBhcmNoL3g4Ni9LY29uZmlnICAgICAgICAg ICAgICAgfCAgMiArCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9jZmkuaCAgICAgfCAyMiArKysrKysr KysKIGFyY2gveDg2L2luY2x1ZGUvYXNtL2xpbmthZ2UuaCB8IDEyICsrKysrCiBhcmNoL3g4Ni9r ZXJuZWwvTWFrZWZpbGUgICAgICAgfCAgMiArCiBhcmNoL3g4Ni9rZXJuZWwvY2ZpLmMgICAgICAg ICAgfCA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBhcmNoL3g4Ni9rZXJu ZWwvdHJhcHMuYyAgICAgICAgfCAgNCArLQogNiBmaWxlcyBjaGFuZ2VkLCAxMjQgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gveDg2L2luY2x1ZGUv YXNtL2NmaS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC94ODYva2VybmVsL2NmaS5jCgpkaWZm IC0tZ2l0IGEvYXJjaC94ODYvS2NvbmZpZyBiL2FyY2gveDg2L0tjb25maWcKaW5kZXggYmUwYjk1 ZTUxZGY2Li44YjhjMTJiMjIzYWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L0tjb25maWcKKysrIGIv YXJjaC94ODYvS2NvbmZpZwpAQCAtMTA4LDYgKzEwOCw4IEBAIGNvbmZpZyBYODYKIAlzZWxlY3Qg QVJDSF9TVVBQT1JUU19QQUdFX1RBQkxFX0NIRUNLCWlmIFg4Nl82NAogCXNlbGVjdCBBUkNIX1NV UFBPUlRTX05VTUFfQkFMQU5DSU5HCWlmIFg4Nl82NAogCXNlbGVjdCBBUkNIX1NVUFBPUlRTX0tN QVBfTE9DQUxfRk9SQ0VfTUFQCWlmIE5SX0NQVVMgPD0gNDA5NgorCXNlbGVjdCBBUkNIX1NVUFBP UlRTX0NGSV9DTEFORwkJaWYgWDg2XzY0CisJc2VsZWN0IEFSQ0hfVVNFU19DRklfVFJBUFMJCWlm IFg4Nl82NCAmJiBDRklfQ0xBTkcKIAlzZWxlY3QgQVJDSF9TVVBQT1JUU19MVE9fQ0xBTkcKIAlz ZWxlY3QgQVJDSF9TVVBQT1JUU19MVE9fQ0xBTkdfVEhJTgogCXNlbGVjdCBBUkNIX1VTRV9CVUlM VElOX0JTV0FQCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9jZmkuaCBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL2NmaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uODZhN2I3MjdlZDg5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9h c20vY2ZpLmgKQEAgLTAsMCArMSwyMiBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAgKi8KKyNpZm5kZWYgX0FTTV9YODZfQ0ZJX0gKKyNkZWZpbmUgX0FTTV9YODZfQ0ZJX0gK KworLyoKKyAqIENsYW5nIENvbnRyb2wgRmxvdyBJbnRlZ3JpdHkgKENGSSkgc3VwcG9ydC4KKyAq CisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgR29vZ2xlIExMQworICovCisKKyNpbmNsdWRlIDxsaW51 eC9jZmkuaD4KKworI2lmZGVmIENPTkZJR19DRklfQ0xBTkcKK2VudW0gYnVnX3RyYXBfdHlwZSBo YW5kbGVfY2ZpX2ZhaWx1cmUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOworI2Vsc2UKK3N0YXRpYyBp bmxpbmUgZW51bSBidWdfdHJhcF90eXBlIGhhbmRsZV9jZmlfZmFpbHVyZShzdHJ1Y3QgcHRfcmVn cyAqcmVncykKK3sKKwlyZXR1cm4gQlVHX1RSQVBfVFlQRV9OT05FOworfQorI2VuZGlmIC8qQ09O RklHX0NGSV9DTEFORyAqLworCisjZW5kaWYgLyogX0FTTV9YODZfQ0ZJX0ggKi8KZGlmZiAtLWdp dCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2xpbmthZ2UuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNt L2xpbmthZ2UuaAppbmRleCA4NTg2NWYxNjQ1YmQuLjBlZTRhMGFmMzk3NCAxMDA2NDQKLS0tIGEv YXJjaC94ODYvaW5jbHVkZS9hc20vbGlua2FnZS5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNt L2xpbmthZ2UuaApAQCAtMjUsNiArMjUsMTggQEAKICNkZWZpbmUgUkVUCXJldAogI2VuZGlmCiAK KyNpZmRlZiBDT05GSUdfQ0ZJX0NMQU5HCisjZGVmaW5lIF9fQ0ZJX1RZUEUobmFtZSkJCQkJCVwK KwkuZmlsbCA3LCAxLCAweENDIEFTTV9OTAkJCQkJXAorCVNZTV9TVEFSVChfX2NmaV8jI25hbWUs IFNZTV9MX0xPQ0FMLCBTWU1fQV9OT05FKQlcCisJaW50MyBBU01fTkwJCQkJCQlcCisJaW50MyBB U01fTkwJCQkJCQlcCisJbW92IF9fa2NmaV90eXBlaWRfIyNuYW1lLCAlZWF4IEFTTV9OTAkJCVwK KwlpbnQzIEFTTV9OTAkJCQkJCVwKKwlpbnQzIEFTTV9OTAkJCQkJCVwKKwlTWU1fRlVOQ19FTkQo X19jZmlfIyNuYW1lKQorI2VuZGlmCisKICNlbHNlIC8qIF9fQVNTRU1CTFlfXyAqLwogCiAjaWZk ZWYgQ09ORklHX1NMUwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL01ha2VmaWxlIGIvYXJj aC94ODYva2VybmVsL01ha2VmaWxlCmluZGV4IDAzMzY0ZGM0MGQ4ZC4uMmEzZGM3ZTNlNmNhIDEw MDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYva2VybmVs L01ha2VmaWxlCkBAIC0xNDUsNiArMTQ1LDggQEAgb2JqLSQoQ09ORklHX1VOV0lOREVSX0dVRVNT KQkJKz0gdW53aW5kX2d1ZXNzLm8KIAogb2JqLSQoQ09ORklHX0FNRF9NRU1fRU5DUllQVCkJCSs9 IHNldi5vCiAKK29iai0kKENPTkZJR19DRklfQ0xBTkcpCQkJKz0gY2ZpLm8KKwogIyMjCiAjIDY0 IGJpdCBzcGVjaWZpYyBmaWxlcwogaWZlcSAoJChDT05GSUdfWDg2XzY0KSx5KQpkaWZmIC0tZ2l0 IGEvYXJjaC94ODYva2VybmVsL2NmaS5jIGIvYXJjaC94ODYva2VybmVsL2NmaS5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzk1NDM0MmIyYjNhCi0tLSAvZGV2L251 bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2NmaS5jCkBAIC0wLDAgKzEsODMgQEAKKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCisvKgorICogQ2xhbmcgQ29udHJvbCBGbG93IElu dGVncml0eSAoQ0ZJKSBzdXBwb3J0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBHb29nbGUg TExDCisgKi8KKyNpbmNsdWRlIDxhc20vY2ZpLmg+CisjaW5jbHVkZSA8YXNtL2luc24uaD4KKyNp bmNsdWRlIDxhc20vaW5zbi1ldmFsLmg+CisKKy8qCisgKiBSZXR1cm5zIHRoZSB0YXJnZXQgYWRk cmVzcyBhbmQgdGhlIGV4cGVjdGVkIHR5cGUgd2hlbiByZWdzLT5pcCBwb2ludHMKKyAqIHRvIGEg Y29tcGlsZXItZ2VuZXJhdGVkIENGSSB0cmFwLgorICovCitzdGF0aWMgYm9vbCBkZWNvZGVfY2Zp X2luc24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgKnRhcmdldCwKKwkJCSAg ICB1MzIgKnR5cGUpCit7CisJY2hhciBidWZmZXJbTUFYX0lOU05fU0laRV07CisJc3RydWN0IGlu c24gaW5zbjsKKwlpbnQgb2Zmc2V0ID0gMDsKKworCSp0YXJnZXQgPSAqdHlwZSA9IDA7CisKKwkv KgorCSAqIFRoZSBjb21waWxlciBnZW5lcmF0ZXMgdGhlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiBz ZXF1ZW5jZQorCSAqIGZvciBpbmRpcmVjdCBjYWxsIGNoZWNrczoKKwkgKgorCSAqIMKgIGNtcGzC oCDCoCA8aWQ+LCAtNiglcmVnKQk7IDctOCBieXRlcworCSAqICAgamUgICAgICAuTHRtcDEJCTsg MiBieXRlcworCSAqICAgdWQyCQkJOyA8LSBhZGRyCisJICogICAuTHRtcDE6CisJICoKKwkgKiBC b3RoIHRoZSB0eXBlIGFuZCB0aGUgdGFyZ2V0IGFkZHJlc3MgY2FuIGJlIGRlY29kZWQgZnJvbSB0 aGUKKwkgKiBjbXBsIGluc3RydWN0aW9uLgorCSAqLworCWlmIChjb3B5X2Zyb21fa2VybmVsX25v ZmF1bHQoYnVmZmVyLCAodm9pZCAqKXJlZ3MtPmlwIC0gMTAsIE1BWF9JTlNOX1NJWkUpKQorCQly ZXR1cm4gZmFsc2U7CisJLyoKKwkgKiBUaGUgY29tcGlsZXIgbWF5IG5vdCB1c2UgcjgtcjE1IHdp dGhvdXQgcmV0cG9saW5lcy4gU2tpcCB0aGUKKwkgKiBmaXJzdCBieXRlIGlmIGl0J3Mgbm90IHRo ZSBleHBlY3RlZCBSRVggcHJlZml4LgorCSAqLworCWlmIChidWZmZXJbMF0gIT0gMHg0MSkKKwkJ KytvZmZzZXQ7CisJaWYgKGluc25fZGVjb2RlX2tlcm5lbCgmaW5zbiwgJmJ1ZmZlcltvZmZzZXRd KSkKKwkJcmV0dXJuIGZhbHNlOworCWlmIChpbnNuLm9wY29kZS52YWx1ZSAhPSAweDgxIHx8IFg4 Nl9NT0RSTV9SRUcoaW5zbi5tb2RybS52YWx1ZSkgIT0gNykKKwkJcmV0dXJuIGZhbHNlOworCisJ KnR5cGUgPSBpbnNuLmltbWVkaWF0ZS52YWx1ZTsKKworCS8qIFJlYWQgdGhlIHRhcmdldCBhZGRy ZXNzIGZyb20gdGhlIHJlZ2lzdGVyLiAqLworCW9mZnNldCA9IGluc25fZ2V0X21vZHJtX3JtX29m ZigmaW5zbiwgcmVncyk7CisJaWYgKG9mZnNldCA8IDApCisJCXJldHVybiBmYWxzZTsKKworCSp0 YXJnZXQgPSAqKHVuc2lnbmVkIGxvbmcgKikoKHZvaWQgKilyZWdzICsgb2Zmc2V0KTsKKworCXJl dHVybiB0cnVlOworfQorCisvKgorICogQ2hlY2tzIGlmIGEgdWQyIHRyYXAgaXMgYmVjYXVzZSBv ZiBhIENGSSBmYWlsdXJlLCBhbmQgaGFuZGxlcyB0aGUgdHJhcAorICogaWYgbmVlZGVkLiBSZXR1 cm5zIGEgYnVnX3RyYXBfdHlwZSB2YWx1ZSBzaW1pbGFybHkgdG8gcmVwb3J0X2J1Zy4KKyAqLwor ZW51bSBidWdfdHJhcF90eXBlIGhhbmRsZV9jZmlfZmFpbHVyZShzdHJ1Y3QgcHRfcmVncyAqcmVn cykKK3sKKwl1bnNpZ25lZCBsb25nIHRhcmdldDsKKwl1MzIgdHlwZTsKKworCWlmICghaXNfY2Zp X3RyYXAocmVncy0+aXApKQorCQlyZXR1cm4gQlVHX1RSQVBfVFlQRV9OT05FOworCisJaWYgKCFk ZWNvZGVfY2ZpX2luc24ocmVncywgJnRhcmdldCwgJnR5cGUpKQorCQlyZXR1cm4gcmVwb3J0X2Nm aV9mYWlsdXJlX25vYWRkcihyZWdzLCByZWdzLT5pcCk7CisKKwlyZXR1cm4gcmVwb3J0X2NmaV9m YWlsdXJlKHJlZ3MsIHJlZ3MtPmlwLCAmdGFyZ2V0LCB0eXBlKTsKK30KKworLyoKKyAqIEVuc3Vy ZSB0aGF0IF9fa2NmaV90eXBlaWRfIHN5bWJvbHMgYXJlIGVtaXR0ZWQgZm9yIGZ1bmN0aW9ucyB0 aGF0IG1heQorICogbm90IGJlIGluZGlyZWN0bHkgY2FsbGVkIHdpdGggYWxsIGNvbmZpZ3VyYXRp b25zLgorICovCitfX0FERFJFU1NBQkxFKG1lbWNweSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tl cm5lbC90cmFwcy5jIGIvYXJjaC94ODYva2VybmVsL3RyYXBzLmMKaW5kZXggZDYyYjJjYjg1Y2Vh Li4xNzgwMTVhODIwZjAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC90cmFwcy5jCisrKyBi L2FyY2gveDg2L2tlcm5lbC90cmFwcy5jCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSA8YXNt L2luc24tZXZhbC5oPgogI2luY2x1ZGUgPGFzbS92ZHNvLmg+CiAjaW5jbHVkZSA8YXNtL3RkeC5o PgorI2luY2x1ZGUgPGFzbS9jZmkuaD4KIAogI2lmZGVmIENPTkZJR19YODZfNjQKICNpbmNsdWRl IDxhc20veDg2X2luaXQuaD4KQEAgLTMxMyw3ICszMTQsOCBAQCBzdGF0aWMgbm9pbnN0ciBib29s IGhhbmRsZV9idWcoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiAJICovCiAJaWYgKHJlZ3MtPmZsYWdz ICYgWDg2X0VGTEFHU19JRikKIAkJcmF3X2xvY2FsX2lycV9lbmFibGUoKTsKLQlpZiAocmVwb3J0 X2J1ZyhyZWdzLT5pcCwgcmVncykgPT0gQlVHX1RSQVBfVFlQRV9XQVJOKSB7CisJaWYgKHJlcG9y dF9idWcocmVncy0+aXAsIHJlZ3MpID09IEJVR19UUkFQX1RZUEVfV0FSTiB8fAorCSAgICBoYW5k bGVfY2ZpX2ZhaWx1cmUocmVncykgPT0gQlVHX1RSQVBfVFlQRV9XQVJOKSB7CiAJCXJlZ3MtPmlw ICs9IExFTl9VRDI7CiAJCWhhbmRsZWQgPSB0cnVlOwogCX0KLS0gCjIuMzYuMS40NzYuZzBjNGRh YTIwNmQtZ29vZwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK