From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965160AbdCVRed (ORCPT ); Wed, 22 Mar 2017 13:34:33 -0400 Received: from mail-qk0-f176.google.com ([209.85.220.176]:34414 "EHLO mail-qk0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965131AbdCVRd4 (ORCPT ); Wed, 22 Mar 2017 13:33:56 -0400 MIME-Version: 1.0 In-Reply-To: References: <20170322160647.32032-1-aryabinin@virtuozzo.com> From: Alexander Potapenko Date: Wed, 22 Mar 2017 18:33:53 +0100 Message-ID: Subject: Re: [PATCH] kasan: report only the first error To: Andrey Konovalov Cc: Andrey Ryabinin , Andrew Morton , Mark Rutland , Dmitry Vyukov , kasan-dev , Linux Memory Management List , LKML Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v2MHYaak029066 On Wed, Mar 22, 2017 at 6:07 PM, Andrey Konovalov wrote: > On Wed, Mar 22, 2017 at 5:54 PM, Andrey Ryabinin > wrote: >> On 03/22/2017 07:34 PM, Andrey Konovalov wrote: >>> On Wed, Mar 22, 2017 at 5:06 PM, Andrey Ryabinin >>> wrote: >>>> Disable kasan after the first report. There are several reasons for this: >>>> * Single bug quite often has multiple invalid memory accesses causing >>>> storm in the dmesg. >>>> * Write OOB access might corrupt metadata so the next report will print >>>> bogus alloc/free stacktraces. >>>> * Reports after the first easily could be not bugs by itself but just side >>>> effects of the first one. >>>> >>>> Given that multiple reports only do harm, it makes sense to disable >>>> kasan after the first one. Except for the tests in lib/test_kasan.c >>>> as we obviously want to see all reports from test. >>> >>> Hi Andrey, >>> >>> Could you make it configurable via CONFIG_KASAN_SOMETHING (which can >>> default to showing only the first report)? >> >> I'd rather make this boot time configurable, but wouldn't want to without >> a good reason. > > That would work for me. > >> >> >>> I sometimes use KASAN to see what bad accesses a particular bug >>> causes, and seeing all of them (even knowing that they may be >>> corrupt/induced) helps a lot. >> >> I'm wondering why you need to see all reports? > > To get a better picture of what are the consequences of a bug. For > example whether it leads to some bad or controllable memory > corruption. Sometimes it's easier to let KASAN track the memory > accesses then do that manually. Another case is when you're seeing an OOB read at boot time, which has limited impact, and you don't want to wait for the code owner to fix it to move forward. >> >>> >>> Thanks! >>> -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Straße, 33 80636 München Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk0-f198.google.com (mail-qk0-f198.google.com [209.85.220.198]) by kanga.kvack.org (Postfix) with ESMTP id 08E8C6B0038 for ; Wed, 22 Mar 2017 13:33:56 -0400 (EDT) Received: by mail-qk0-f198.google.com with SMTP id n141so178806463qke.1 for ; Wed, 22 Mar 2017 10:33:56 -0700 (PDT) Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 124sor2069950qkh.11.1969.12.31.16.00.00 for (Google Transport Security); Wed, 22 Mar 2017 10:33:55 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <20170322160647.32032-1-aryabinin@virtuozzo.com> From: Alexander Potapenko Date: Wed, 22 Mar 2017 18:33:53 +0100 Message-ID: Subject: Re: [PATCH] kasan: report only the first error Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Sender: owner-linux-mm@kvack.org List-ID: To: Andrey Konovalov Cc: Andrey Ryabinin , Andrew Morton , Mark Rutland , Dmitry Vyukov , kasan-dev , Linux Memory Management List , LKML On Wed, Mar 22, 2017 at 6:07 PM, Andrey Konovalov w= rote: > On Wed, Mar 22, 2017 at 5:54 PM, Andrey Ryabinin > wrote: >> On 03/22/2017 07:34 PM, Andrey Konovalov wrote: >>> On Wed, Mar 22, 2017 at 5:06 PM, Andrey Ryabinin >>> wrote: >>>> Disable kasan after the first report. There are several reasons for th= is: >>>> * Single bug quite often has multiple invalid memory accesses causing >>>> storm in the dmesg. >>>> * Write OOB access might corrupt metadata so the next report will pri= nt >>>> bogus alloc/free stacktraces. >>>> * Reports after the first easily could be not bugs by itself but just= side >>>> effects of the first one. >>>> >>>> Given that multiple reports only do harm, it makes sense to disable >>>> kasan after the first one. Except for the tests in lib/test_kasan.c >>>> as we obviously want to see all reports from test. >>> >>> Hi Andrey, >>> >>> Could you make it configurable via CONFIG_KASAN_SOMETHING (which can >>> default to showing only the first report)? >> >> I'd rather make this boot time configurable, but wouldn't want to withou= t >> a good reason. > > That would work for me. > >> >> >>> I sometimes use KASAN to see what bad accesses a particular bug >>> causes, and seeing all of them (even knowing that they may be >>> corrupt/induced) helps a lot. >> >> I'm wondering why you need to see all reports? > > To get a better picture of what are the consequences of a bug. For > example whether it leads to some bad or controllable memory > corruption. Sometimes it's easier to let KASAN track the memory > accesses then do that manually. Another case is when you're seeing an OOB read at boot time, which has limited impact, and you don't want to wait for the code owner to fix it to move forward. >> >>> >>> Thanks! >>> --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Matthew Scott Sucherman, Paul Terence Manicle Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org