[llvm-dev] [RFC] ASan: patches to support 32-byte shadow granularity
Walter Lee via llvm-dev
llvm-dev at lists.llvm.org
Wed Nov 1 08:36:06 PDT 2017
Thanks Kostya for the feedback.
On Tue, Oct 31, 2017 at 6:00 PM Kostya Serebryany <kcc at google.com> wrote:
>> - Stack errors: it seems sensible not to insert 32-byte sentinels
>> between every object, but the result is that some stack overflow
>> gets reported as unknown or use-after-scope. I have a patch that
>> improves on the default behavior, but there remains cases where the
>> error reports will not be as good.
> Hmm. Not sure what's the problem here. It's totally fine to insert 32-byte
> redzone around stack objects.
> (in 32-byte granularity mode)
I was concerned about stack overhead, but I will go with your suggestion
for now, and revisit when I have more data.
>> - Would it make sense to provide an internal compiler flag to set the
>> shadow granularity, so that there we can at least run the
>> instrumentation tests for 32-byte granularity in normal builds?
> I'd prefer a proper flag, like -fsanitize-address-granularity=N (8,16,32)
Ok I'll do that.
>> - Is there a reasonable subset of tests I can port to 32-byte
>> granularity to provide reasonable coverage, or should I aim to port
>> all tests?
> Let's see what tests won't work out of the box and decide.
> We can mark all failing tests as
> UNSUPPORTED: 32-bit-granularity
> but ideally we shouldn't have to mark too many of those.
I will write up a classification of the failures. There are many tests
that fail because they assume the shadow granularity; I will propose fixes
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev