[PATCHv3][PING] Enable -fsanitize-recover for KASan

Alexey Samsonov samsonov@google.com
Mon Sep 29 23:26:00 GMT 2014

On Mon, Sep 29, 2014 at 4:17 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Mon, Sep 29, 2014 at 03:36:20PM -0700, Alexey Samsonov wrote:
>> -fasan-recover doesn't look like a good idea - for instance, in Clang, we
>> never use "?san"
>> in flag names, preferring -fsanitize-whatever. What's the rationale behind
>> splitting
>> -fsanitize-recover in two flags (ASan- and UBSan- specific)?
>> Is there no way to keep a single -f(no-)sanitize-recover for that purpose?
>> Now it works
>> only for UBSan checks, but we may extend it to another sanitizers as well.
> The problem is that if we start using it for ASan, it needs to have a
> different default, because ASan wants to abort by default, while UBSan
> recover by default.  -fsanitize=kernel-address w (KASan) wants to recover
> by default.  So, the option is either to never support recover for
> -fsanitize=address, for ubsan keep -fsanitize-recover (by default) as is
> and for kasan use that same switch, or have separate flags.
>         Jakub

I don't think we ever going to support recovery for regular ASan
(Kostya, correct me if I'm wrong).
I see no problem in enabling -fsanitize-recover by default for
-fsanitize=undefined and
-fsanitize=kernel-address. We can, potentially, extend
-fsanitize-recover flag to take the same values as -fsanitize= one,
so that one can specify which sanitizers are recoverable, and which
are not, but I'd try to make this a last resort - this is too complex.

Alexey Samsonov, Mountain View, CA

More information about the Gcc-patches mailing list