This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCHv4] Enable -fsanitize-recover for KASan
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Yury Gribov <y dot gribov at samsung dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Konstantin Serebryany <konstantin dot s dot serebryany at gmail dot com>, Dmitry Vyukov <dvyukov at google dot com>, Andrey Ryabinin <a dot ryabinin at samsung dot com>, Konstantin Khlebnikov <k dot khlebnikov at samsung dot com>
- Date: Thu, 23 Oct 2014 09:13:53 +0200
- Subject: Re: [PATCHv4] Enable -fsanitize-recover for KASan
- Authentication-results: sourceware.org; auth=none
- References: <54095E23 dot 6050900 at samsung dot com> <5416B3A2 dot 4050200 at samsung dot com> <54299507 dot 7090800 at samsung dot com> <5448AA21 dot 9080601 at samsung dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Thu, Oct 23, 2014 at 11:11:29AM +0400, Yury Gribov wrote:
> Hi all,
>
> On 09/29/2014 09:21 PM, Yury Gribov wrote:
> >>>This patch enables -fsanitize-recover for KASan by default. This causes
> >>>KASan to continue execution after error in case of inline
> >>>instrumentation. This feature is needed because
> >>>- reports during early bootstrap won't even be printed
> >>>- needed to run all tests w/o rebooting machine for every test
> >>>- needed for interactive work on desktop
> >
> >This is the third version of patch which renames -fsanitize-recover to
> >-fubsan-recover and introduces -fasan-recover (enabled by default for
> >KASan). It also moves flag handling to finish_options per Jakub's request.
>
> A new version of patch based upon Jakub's recent changes to
> -fsanitize-recover=. I've renamed __asan_report_recover_load* to
> __asan_report_load*_noabort to match UBSan's style.
>
> Note that currently -fsanitize=kernel-address
> -fno-sanitize-recover=kernel-address won't work as expected because we miss
> __asan_load*_abort family of functions in libasan.
I thought __asan_* functions are provided by the kernel, not libasan, for
-fsanitize=kernel-address. Or is kernel linked with real libasan.a or
some stripped down version thereof?
Jakub