Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752664AbdCMQdH (ORCPT ); Mon, 13 Mar 2017 12:33:07 -0400 Received: from mail-db5eur01on0128.outbound.protection.outlook.com ([104.47.2.128]:12014 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751767AbdCMQcd (ORCPT ); Mon, 13 Mar 2017 12:32:33 -0400 Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=virtuozzo.com; From: Andrey Ryabinin To: , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" CC: Fengguang Wu , Alexander Potapenko , Dmitry Vyukov , , , Andrew Morton , , Andrey Ryabinin , Subject: [PATCH] x86/kasan: Fix boot with KASAN=y and PROFILE_ANNOTATED_BRANCHES=y Date: Mon, 13 Mar 2017 19:33:37 +0300 Message-ID: <20170313163337.1704-1-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170228031227.tm7flsxl7t7klspf@wfg-t540p.sh.intel.com> References: <20170228031227.tm7flsxl7t7klspf@wfg-t540p.sh.intel.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0004.eurprd05.prod.outlook.com (10.172.9.142) To VI1PR0801MB2062.eurprd08.prod.outlook.com (10.173.74.147) X-MS-Office365-Filtering-Correlation-Id: 75f1f51a-83e2-4cda-47ea-08d46a2e8a95 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:VI1PR0801MB2062; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;3:tBAj+A35u2+K2Y50Ufd8l4q2yCtJsz91zPigoSYq4NO896z7jzj7uIq2QIJGtfeXUvj+uHR66F4OhGDF8BrHE2D9BKtzqyhevVBZI6YlHBf17blnz7mVd4mFDWju4YZxCfZuxSsbDPw/mIHGCPdbAv27jbhdWKzxPcq7nDwSwSZLDHaFxL1sAB3N6qCZzX9+jKYQj3d9dDeFccC/qEbEQ3u0NWne+Q8n22oidnjcPMwklucf0iHA/+KuOQ8nyrqlBNnwAZ0VcWACk7g60iTaQw==;25:EegbXjynN6nVtXs5o+pVtX0xQW16qLbenv3aVM4gR//nY841L1JWiCnhGpz1Hh49J8du1VwI/cHdmU2qENF7PO8Y5ngbrYn+vfE/c/+rz5zt6vL2wSf1tOiQnrmLPvGV1qPQXz12aMBnzKB7NqpcbHY2v1XBg+UUvYZmy01PMqdZ+nH79c8L90w+SQEUuMe0k8uFQQyGgr4pDfG9XoTl+Ip50Pk/Yd9NEZ8sl3OxiCMnCCXRhZZfuC5woRpBoPyI2kk9WA7+Etw/S2ZsxlkFRztwmUkxQrNLFc2anA3JrH72P7i1WPOO92IziZSKAVlWhKyImuexLg/2L0/vpNhD3vCx+LhfUzLv/pSU3Ix4oK7/4xLfIpBaI3dijUXrBLu971qJN1/jImkMfGQiUK7XR3NHzU6UMD8eeQ5da/VKxBOvCLulz+C2xBSd3ghb3+NOXy2oLVMjI0PkjN21pEcFsA== X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;31:a49UK4tQ1gVOG/tcJlD459b3R0N/uacX41oh0103NnMeEs9ElnjWJiMnA4KLMgN6wZBF6YSQy/opVtq0IunivmLCCsA5DEUiP2aC7V3Hm1xQpji5+2opz3Z6LwKEV17tyxMuv78Nnmrhl7QmK+fQ7zprWB+m2JhrZ5mY19xR7WqkBLU6Pyhu+u91eLNVfEWk6eZMQZym95CN5HLjfmRykGalTZaq7EcIE13nc/Q04Yg=;20:cKWdSQMJM/r2Ifp+7v702SEPYaxVkZZzIoxljiUoEbKwluDT0T6QnXJgg/ITpxtMjkvrokwRdbXcSVIK3AE9tSR/34g+BrtUeQ+wFaQ2y0lAg2S1fM/eV0IjZspX9JjXkj8QnUTBHloAvM5Qnn34auKyWfbxkDqjGQisj6hppRSYKDOkZW4F/fhPnnWLemW/6spxNBSCPBo8uzngBDFP+mYVk6p5PAEvyCRpoKv+3Srzg8xasS5PujIMnrm/0hly8VM2pZBs2BaKQVVywgvEjhmFw/HwcnkJfShWqtHLBIh4YN+yGCiRoPJN09dIT44lTwao2ejzxg4jOi53z78wlfORENR12wVDeQ7cQHdGB+Dx4je0NG6g15BTKvdOSmyFB6WNnk8dQ0vNWLANeUFYUe1uIPb1cwKpCDdrDm/BICA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123558025)(20161123564025)(20161123555025)(20161123560025)(20161123562025)(6072148);SRVR:VI1PR0801MB2062;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0801MB2062; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;4:H/dwHaOmQzLLovd3zSMgL4FvXuOLG4I+mbC1rgzN9UxHGsLzqwmStmynnSAPyZ7rR2CksswWrSTk/2Fb4BKGSgcqp+GKQnVi5Kf+TTH6wHQWoteHPRLIOUvOqmHdrSUEwSS+QH3MdxcuhnaSYYqOG/nygu57cdQNBnPzFCQzwCscCH8/Y5ZGM19l8MhZl/9e2UQUvebvs8lb95aXlxsv8xW/ABfxWXINLlzHnqLWvD471BlsBALOtgXwp0Yr27Op2uoD22Uq+brE2E5P40uH8L9Gik1R1e8vjUV8MrDgIwmxgW6CA7FELVpkOeSfjWEV+wlAK+ckqPSfRBgoCXU6gPRvgw5uWvRwCsE3Iihh2VZVmXTlfM5dFYqNiFex2py3xavuBBlBG9V+qupdNRyyt+K8Eav6h1HfS5GlBFL+wl9GLP/fk5xUioRiopiikk5Wse8wLOX00VoSd+BwkvkyLLfct+jP97QeLGnLJG8j5a5dlYjtXS22/RPNntDu5Me/R14cZOaWxv0vQMdHEkcynkHKOl8iVxH7Hf3rgiRXyLjkHiCcMCpBOht3ytmHka6sswXCEmB7vTJ2qNaQ4TUAvAh//raCULC4myaGbj1xqmLGRSCpwjjCcjtsSDQ4llyD2U0qlkR2gMr+HtDa4vsZMR2AlveWdDZAWaIQdV4UBvQ6m6oCWzKvgT1ihj0XuDTP X-Forefront-PRVS: 0245702D7B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6069001)(6009001)(39450400003)(39830400002)(39410400002)(36756003)(47776003)(5003940100001)(86362001)(42186005)(81166006)(38730400002)(50226002)(48376002)(2906002)(53936002)(4326008)(189998001)(8676002)(50466002)(33646002)(3846002)(25786008)(76506005)(53416004)(6666003)(66066001)(6506006)(7416002)(2950100002)(7736002)(6486002)(305945005)(575784001)(6512007)(1076002)(54906002)(76176999)(50986999)(5660300001)(6116002);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0801MB2062;H:localhost.sw.ru;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR0801MB2062;23:xHIHQaZOhkPjbidppxx/PNZA2NTY0m2QgOttlRW?= =?us-ascii?Q?Onx2Vt7Qp/knhRDdvckn3v9Y8WelP4OKrKQoZpgOSKVXmTLyR3fx98JwY20F?= =?us-ascii?Q?Z2p/oUBGC53bZP0aEh6T6s+8URsfqoaRThZuQkB+TD+PBKt5tI/kgojHXmqe?= =?us-ascii?Q?VewVFmEz8LfeShnqILOto8wccGpDQ0L1T3y3x/CHih0I9t3qHcmqh9cSbhY4?= =?us-ascii?Q?tJ/udPGTobH96dBdsmjlxoFZ0jpRojQ/JKZAU0sMsFz7cmyS7dyMctTJ26E7?= =?us-ascii?Q?dcObtIxF4Dv2ZrFzcH3ZQwHfxiBaCbPm+gIqVyrVqbkVo3/rzjcxYqygXjhB?= =?us-ascii?Q?XPevHB2rQjHIxKi38lxPbBpUNB7Tu1twCPo5Sq5aIFB3J3q4vvsVQBC8ph3L?= =?us-ascii?Q?uffnrqrTG82vvRRkLZxEGorL3Fd9v8jLcSxB2NnLpQbVRfuELZRQw8xDdit1?= =?us-ascii?Q?bLdfSy/XdQLPAFyWA0HB2NZ5Z8/PE179jGqbEnc9ojIrAamE7gaNoCoHM6AM?= =?us-ascii?Q?PeLKuDlSAihBmjk+U58GNXWmsMFbseqpcctoz+ayqyM+bycdv370nby8DM0I?= =?us-ascii?Q?q4RvKz5F93O1Us7tv+853OvYiIJdez48S3yEC8cn3yzwMhzBwpe6U5wkDRb0?= =?us-ascii?Q?oDB/e6fpp+/jYNg13jiLdfJJb3GJhhFlXL3pdUt7Jjej0juvFxF5+VaVz4bg?= =?us-ascii?Q?ZiqxmCsKNVKa19tQnKCnxYVYWLAIAZ6f6he5OKgrU+OLSfDaKfm1D1lB0PGJ?= =?us-ascii?Q?2Wu9rKbqy6IQnmDOBw8Fkrea2EWxx1YorekxU/G9+bqgk3bWMLFagZDGUMs/?= =?us-ascii?Q?ptb7qo1aAetLcesZor/kcpXEsU8flM5vWp8PRg314WtlgVJ+0yHSV5FusVG+?= =?us-ascii?Q?u67N/MmNLmFQDKlg5tZUaY3sSybpuVOdMBO4PIGWBHaq+wTNQR/L9oPw894M?= =?us-ascii?Q?IwWxfRKFFApy4NwvQ29p5ex0am20+bva9uZ3fpB7xmToQcnEwpOCAjYJNQST?= =?us-ascii?Q?rMsWmGzddHNTW/A6S50OoisF5oz8+MHKcx75uUHW3Hi8ZtFD9Ig+0w53yrpy?= =?us-ascii?Q?5McjqBn4=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;6:W0EJPFe5AnI+sqy90VtYCiPUXirCNkWpzVT13GrIHJeoexma1UY7oB6MgTpuK6pPoPzpwx0N1naRWJH4DHVJQmG5/hzqri1Iya4+1qIg2zANuNXbmAMIWKxoGLq3ew/YSTUNZcPM89faaIGRbWHH2aQlqZqvucL2EWmceKiu7Z8e/KDwyFsxIYONA438tsdhZzIQfF69xpGxCY6hRGx0Y6HoQMsw5yFegbCOFMPRTHqgy+kJFE9ro1QKDq9UK9FDaLbmdoEygxyDfSd7obI9na35uPKCFmU87AkOxdOTTxzAM17APmz1lTFpnw4TLBoxZLPnecWKLNEKyfiPoL9Ibn3gYiOoMmEts/gKCeMZL7QwlbDeIFuNg2Upq3qTq9SbiaacWR0lRZwFRTtjrGujmA==;5:uQ+IJT1bKQbiK6YgSwxlSTuASCNB4K5aHI6bZEkTpdJomX1Y5zkF5/UzfSbTH8EuLCSh3+ejn1I0Oo7eGd4BXgqdSZ6AEpjsIuFbx1AqpC4L6nexYrVwcsYIPOGCJwIeGVrgEbNETkVGTdZJbC9C1GeFhZLKlQfgpq4h45MXkdo=;24:UBLZSxfVG/V+yAc7ax/58RitOi90io47g1HBpoyY11oh3llxfAtS6GKKqAEigujAZry/c3/F4KpcA9obkKy2ZmGepJss4xIFlJTEchrZJJk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;7:8mAugTrFG53sY4jdPlSjXB+XDD/aNVQTszUo0RaQaW/+6QT8P98BvmeKcQk9zElhIdDtdAUqmQZKXlO9OYcuOicsOV48KJF8wRKRThcAKflgb/WHsmaHI2rjeZS0Krk/0RbZaYVRsARDO3M/cY5uNbnIC1yDBgZG0qdocvqWO4LjluE0ao+cvAVPh/cfDmO7AoFuJJ1EyyV5hCZPXkHjg/CtQqJ1dTlVQAiYE2OHnAsU1xT4fN3EbbFc7EwZFOcpzNL1ifb4akgBxm0+BAo3SSJMjC+YwioDeLSO8p7rJjdQiOsf2R/RZY/Lhth7F0LIL17ziLmyBP301uNpdUMs6g==;20:C1d/PDCuEZqRUMaLYD6HmUYnu/oCtaLec7n7Q8AikIZ+irhlg47+oGLBCOIYQpavuplrna85J/DM7HM5p6LnkH2qPIV5lfWBahoExiF2J9h2np5mWcky7KHaj7s33J1RMN1l6rmNfI0D+NlBiQprDXwL1vok/K1LFMGaoZBamWM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2017 16:32:28.3184 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2062 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1419 Lines: 41 The kernel doesn't boot with both PROFILE_ANNOTATED_BRANCHES=y and KASAN=y options selected. With branch profiling enabled we end up calling ftrace_likely_update() before kasan_early_init(). ftrace_likely_update() built with KASAN instrumentation, so calling it before kasan has been initialized leads to crash. Use DISABLE_BRANCH_PROFILING define to make sure that we don't call ftrace_likely_update() from early code before kasan_early_init(). Fixes: ef7f0d6a6ca8 ("x86_64: add KASan support") Reported-by: Fengguang Wu Signed-off-by: Andrey Ryabinin Cc: --- arch/x86/kernel/head64.c | 1 + arch/x86/mm/kasan_init_64.c | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c index 54a2372..b5785c1 100644 --- a/arch/x86/kernel/head64.c +++ b/arch/x86/kernel/head64.c @@ -4,6 +4,7 @@ * Copyright (C) 2000 Andrea Arcangeli SuSE */ +#define DISABLE_BRANCH_PROFILING #include #include #include diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c index 8d63d7a..4c90cfd 100644 --- a/arch/x86/mm/kasan_init_64.c +++ b/arch/x86/mm/kasan_init_64.c @@ -1,3 +1,4 @@ +#define DISABLE_BRANCH_PROFILING #define pr_fmt(fmt) "kasan: " fmt #include #include -- 2.10.2