From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758066AbcJQI21 (ORCPT ); Mon, 17 Oct 2016 04:28:27 -0400 Received: from mail-ve1eur01on0094.outbound.protection.outlook.com ([104.47.1.94]:54500 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757613AbcJQI2U (ORCPT ); Mon, 17 Oct 2016 04:28:20 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH] kasan: support panic_on_warn To: Dmitry Vyukov , , References: <1476465002-2728-1-git-send-email-dvyukov@google.com> CC: , , From: Andrey Ryabinin Message-ID: <2b39f90e-2c67-fafb-dc48-f642c62bead6@virtuozzo.com> Date: Mon, 17 Oct 2016 11:13:42 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <1476465002-2728-1-git-send-email-dvyukov@google.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM5PR0701CA0013.eurprd07.prod.outlook.com (10.168.161.23) To VI1PR0802MB2558.eurprd08.prod.outlook.com (10.172.255.136) X-MS-Office365-Filtering-Correlation-Id: 08fc4221-d4cb-4346-2f28-08d3f6657c45 X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2558;2:pfbuBKeIewaE/n9bL7PnA+SSGXQ6EbpBX5tK8sSlwFL7O7qbIUM4fQcrScjVxQW0GLZgAvGoKo36bVpKa4uNYGmLXlJEr+T9saAllgl4E2sCocGiw1pWMR/IDFwPX5+VVohlvqGU7kHzcyaVdqLxv8OkqCPQddSBOn7Z3tA6IH6tyShg2k5bQI6HMsuj+lwXW89wZHKxJV8sED/hSww2Ww==;3:A9ebJMiRitaoSrXPkn6vPuDrkysNst1kUt1LuiITdpxMF2ltBxoyR463o7pBPRKJNEU2kHvncd+AcO8JaMEz2GeVALRLUmWhl02JieIU06f/voFyft77Z5ET4zcCCW6c5OIuwBne0vLyg/z2UUGXIA==;25:xq0fOxq7xC2xpoL+FGQqd6T8GzVVZYLn/OXhau3vNH6kTOphxGOvKrxMMvde9HuJrQJsogP/l7Mm3RsyJy8j1cWxVYYqnqBSX+Ju0UmTm+HH7Dm7je+hnFou8mZdZuY0uQlW94J9kvrJFGcQ9FKpfuWQDC9nXytxrGvA9nGGYQAcwlqySj0yBXg+1UpYPf/g4IZ5yW7EyLe8PleogRkQ1Me8fDay2K0e9TcItv7lqoYZ9yyRB3ZZkKOMuDDJ7PCWYZ5WyHLlK6bYrqHFAsGSMddB8F/g+RM+YfRYf3zBhPoX9qAZ2KIKjreMGB3vdtBApalJwvuIlFbJU3Uh3D3COEzF9xp+uiCSOm6LJVgFJCKPKyqQpO45FoAsL60Ri8nKpS9YDkVOOLToeT2XPzAzh/LcDmXeh5LNg1CocUlwvEIm3unN8MaOCtDiN6D38MbU X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0802MB2558; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2558;31:4p8TUPyn+78gXx8L5NMUP6oCX/yRr7jbVHH/gQIG2mxDzmQaehL44LScrik5r8MpwDkcODN/TdJ6TLz3EB6j/GihmCCaXtNIiGNuX5bA+V0wwdC+ai5LeifT2hwhzKhi/AgSFhrh9MHXqgWFJH8fy3VEE8wpfzL3jZubxoDMajwUCmoTd5czN+TupK2mHtRqO/CEM0l0ezgKMUkW3UgiIbjIWvZysCGDRpOX6LFaBW9klUGIOmKqKSmfKe4+T83T;4:tDgrT58oKM58L16le2LLBzaRQIFfE1kEr9HBhVGKrSamFHAsGTQ9D8SrwmwlcSNM2JBz+WRGoKK7GZspCLiK1BWtuCFGm9psZqUW/DxEUMSqpydbbUuTUYe/MitVSSIX/9O37wTa8PmTkVGG7+Mer9HrsGxTzDbaupY+olJixFqU5k3MpZZ4LxmMgqWlKa+5AOhlO7D6r32W/VDQsFkk92lhxQfSIH4hD/4pOZG1k/lMksr5dR01AlyDFV0RcabhhtfLPeKfPW8VPN+eDRzMir6QknG4FrKutyyiKO8XmRdnnFq1whv6bNUhskJKy69ruvif1qaDW20sWVO+e6hciNHxswx1XxauEHLQB/LHUQupdx1/+EXyE6t6NAj0sjc0V+aldFfhB9Ez2Lz38uJktrnwwjpAyi4BNc2nr07DK89jh8lv7PxxSRgyUquBhCO/cFlVVYUGxVtkkvWkP4byaH9hQS+i+0DRwfyzN9Sewe+Ms7a0cTifYgPVci+B43uEqcOLdfuVffXZEaI3fA0oBSfdBdW1MfD29AmyZ/SsxpI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(215639381216008)(9452136761055)(211936372134217); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6043046)(6042046);SRVR:VI1PR0802MB2558;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0802MB2558; X-Forefront-PRVS: 0098BA6C6C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(24454002)(199003)(377454003)(189002)(92566002)(66066001)(101416001)(76176999)(54356999)(50986999)(105586002)(47776003)(65806001)(65956001)(77096005)(19580395003)(64126003)(36756003)(31696002)(2950100002)(2201001)(6666003)(31686004)(23746002)(42186005)(83506001)(68736007)(19580405001)(65826007)(33646002)(5660300001)(106356001)(86362001)(575784001)(50466002)(81166006)(81156014)(4326007)(97736004)(189998001)(5001770100001)(4001350100001)(8676002)(2906002)(230700001)(7736002)(6116002)(7846002)(305945005)(3846002)(586003);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0802MB2558;H:[10.30.19.223];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;VI1PR0802MB2558;23:wR0z5MpMGtJTW+kVlM6ieKZs9/N6XmFBLjH?= =?Windows-1252?Q?hzMvei/PLJHHKMzJ28tBa66s/8v483cjXHZ8O4wMDGnRiCViNn/jmnmD?= =?Windows-1252?Q?1KtDbkyDdNeZYzE+G0Ui7keTldr7/E9/creuwPJQu8b1rCEtjOZFvmRe?= =?Windows-1252?Q?JMV47OMyf8BBQ5gEzgt91R3uuhc4JodejDWPJgJcXQ9rGzXKhtltQRsY?= =?Windows-1252?Q?ePyp/vwsW4NNbJ+UACMg94NnkFHl9vyhY90gLFyTUyIOYKoKx4GiKZeD?= =?Windows-1252?Q?HrOAaeitFOq6pfrOkGDdwe9rh1Ob4XE+uKJle3wPIM7NgpCw2ATZOpUk?= =?Windows-1252?Q?yZiuIiAWFySwquRyofCjyvt086sjOo3kzAZNbYAgoiDdWhJR9+xpgsG8?= =?Windows-1252?Q?C3fwy/bDqPnsI0jJgYwwB5CVbDyNsprtXWoK2y2gZuAI0x5BLMAekloz?= =?Windows-1252?Q?T5JuuKJ5RCDpP6pSA0D3lTy9nS3PiEhPfWy/CDd7tSeLxPw8fLp9y3g9?= =?Windows-1252?Q?ScJ3RtFu7Syx1TlXqkqkrIhhBujKGI/NVQ+l9EAV+t3vdUcr2zIYkZpR?= =?Windows-1252?Q?MJrTf9GOybYmoSWIhhReaoMoLnuzWqT5xXRPNVpLOJAVOQNSxQkWLH2g?= =?Windows-1252?Q?eE7A0xgTSj7tMrRuV3xhpKmz1xSuqLUo3qyc/WVdJVIMQpdKzWWfAWSr?= =?Windows-1252?Q?CMczmnq7PHv1FeOh+1fVp9qJv3UeRUCajTm7YYGWf5pnrbnOiSTvlO1z?= =?Windows-1252?Q?DoZ2QjZj4H0LHjw7Sz4Dt1HrEdqE34IAvQMlLb5JvSpjIl8XZwZVjm4w?= =?Windows-1252?Q?qrww5ZxrWvxFjaNo5Qc0LDUM6BHi4K4th83lxCxiWrM251E00fAg/BsK?= =?Windows-1252?Q?SvKOkPPDTz0ixh5GyFoYmDiCkf7r0GF1y9uwUeMoCx1UtvDCD9KI5Qaz?= =?Windows-1252?Q?zG2ToNKF3mEx7BBvDf5PfvmLM773TsMTy424ouO1MiFxFH+cFTNdCgev?= =?Windows-1252?Q?/zeQcF4jX5ZHJHF2hF/s03FELbbfJKQpsx5WBZpbIr1VEjv5mPaKCOhQ?= =?Windows-1252?Q?W6yOKC5RguFZAwDxS/C8na6y80HfIsvoj/riZyiDU+YW97CJ7CFePDBS?= =?Windows-1252?Q?q7bxVZRW3H/V6om2UosSyCesKqIvO7P9ZXhlj1KSLULo9Uu0roAbAW1S?= =?Windows-1252?Q?YXyr8EFuMaz72W0d/8twmLsWWO1p7WZcXo7DoX8gRGqZZCOu2erWgpvv?= =?Windows-1252?Q?kSCGGIQ9HbwDKffwiSIK5yDNEw2+lX6HyY9WxiNpDg4ep/FvNQa6NTbY?= =?Windows-1252?Q?OgtuJiF7osbWeyjWpc/yMGkJM8XsF+gG3yPx3Qsc/znJFdjpa3ef7cdy?= =?Windows-1252?Q?BxsC+Y1FKHvMeZ0yFWsw7b2jYUGq/fzJGCqO+zcjnaZaU8ZJH/k8ByvC?= =?Windows-1252?Q?QVqWFpExN8cgPA1R2GQXLVA5q1LEUxudyDBlYgTXpVw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2558;6:7yWyn7khzISUXE/qoK8Yk+o2zX199s8XqSQahD1o2qt9LY6Vz87Zp3eFdYRq6y/A68Ola8K+SX+7aMW0qr429uwO/KE2IbtDlpDqcf3oi99GStjgiwM4+1lEvSaaFanKivg8Kpf8C3CbX6G23EGoZHBZhLM3DQki+dPxjqNKnSOx/ueWo2J2ijRLAcj9uzua1YO0h/0bRn6GxhdWNAbc8jryMiphtHUXEREGLiizGqhrp5bbci3hmqxwJx5Nd0lR2ta+2nllwe/DltNi4MZ7z2uinjPoq7janCujxkJBh5UrZum0xbfEmGwN0qONsvqQhSbz9BYKBMzDxuuMRytVDw==;5:z6VQnjs24uckJMSSVDW0tbL7yRl/zSTFekAIV2wPH4EAd1kfxNeBS5jGyArY50j4hnHilqK2Y+S05sm+LLc9SVS30mN+CJKp9yPUt6xbhYyLG9MCHQ23NnvSDGEwNlHKeaV7NIgDpWtgUPD78uruMw==;24:ohbF8UU2+wLmMs+CAGI8Cgra/2jUsv4sI3KAwW9LyG1AJ4WxJkFg+NcY6n/NP/OPwqwuYztqpm6Nin2Q78/fbJ3xIGQotMR9ezhL6bra9xY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2558;7:sNypu8EYJ0Trw+2yzUTM/KK0a5QCeYUedeg6xerU+WlQBPyE7qJReBkRz204lyOSs49Cf81BYNxmmJ1E3QHW21oawejUfRDJnWtvwDTQAWuFpMuaaBkZeoO8hVf25oaQhAhbg8tRBpc31GVBtvzTLIpo4WXmrAuF7OtVJJ9zphP/+wZUUNZ8SM65cb+KUy5N6SmbRhaP5VbETCK87t1BEKY+gJmLFK3tk0u3YMWfvgHftUSYGM7pOJee8idy/6xbMPcREW9AT3wvt5QFWC6YHIMXVXYY84Kcd71CGXuYQ5QCIjyEJ/zuzjptKyNKhbzdSHhnT44FPtOm0H5ppV5K+FHKo11qrpgAgA+9XODJJWc=;20:J99TbK7nb9OU3ObuwBjjdCmfc/ucq4ttASxdbuuIdEEMoFE5wTHLobnKz1yCrye8t+ouZNsPaG97UJvRuDV0UcqOecxleB7bMy8xz9JDCi/4AUenZjlGyuJS+fXCow4mkWPxeXM3QLtPtynUUBKzmkRgIfEjcsqsfljWZnDJCJY= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2016 08:13:32.0975 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2558 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/14/2016 08:10 PM, Dmitry Vyukov wrote: > If user sets panic_on_warn, he wants kernel to panic if there is > anything barely wrong with the kernel. KASAN-detected errors > are definitely not less benign than an arbitrary kernel WARNING. > > Panic after KASAN errors if panic_on_warn is set. > > We use this for continuous fuzzing where we want kernel to stop > and reboot on any error. > > Signed-off-by: Dmitry Vyukov > Cc: kasan-dev@googlegroups.com > Cc: Andrey Ryabinin > Cc: Alexander Potapenko > Cc: Andrew Morton > Cc: linux-mm@kvack.org > Cc: linux-kernel@vger.kernel.org > --- > mm/kasan/report.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/mm/kasan/report.c b/mm/kasan/report.c > index 24c1211..ca0bd48 100644 > --- a/mm/kasan/report.c > +++ b/mm/kasan/report.c > @@ -133,6 +133,10 @@ static void kasan_end_report(unsigned long *flags) > pr_err("==================================================================\n"); > add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE); > spin_unlock_irqrestore(&report_lock, *flags); > + if (panic_on_warn) { > + panic_on_warn = 0; Why we need to reset panic_on_warn? I assume this was copied from __warn(). AFAIU in __warn() this protects from recursion: __warn() -> painc() ->__warn() -> panic() -> ... which is possible if WARN_ON() triggered in panic(). But KASAN is protected from such recursion via kasan_disable_current(). > + panic("panic_on_warn set ...\n"); > + } > kasan_enable_current(); > } > >