[llvm-dev] Adding asan poison to Recycler and ArrayRecycler

Mehdi Amini via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 6 15:33:20 PDT 2016


> On Oct 6, 2016, at 3:31 PM, Mehdi Amini via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> 
>> On Oct 6, 2016, at 4:54 AM, Nicolai Hähnle via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> 
>> Hi all,
>> 
>> I intend to add address sanitizer (un)poison calls to Recycler and ArrayRecycler
> 
> That’s a great thing to do! Looking forward for it.
> 
>> since I spent a few hours tracking down a bug in the AMDGPU backend that turned out to be a use-after-free that would have been detected by asan if it weren't for the Recycler. See https://reviews.llvm.org/D25313.
>> 
>> Naturally, such a change exposes a bunch of bugs or things that are dodgy and happen not to be problematic today, but might easily break in the future, across all backends. I have prepared patches to fix all the issues in the CodeGen/AMDGPU lit tests; all the non-AMDGPU fixes are rolled into the patch above (although it probably makes sense to commit them first as a separate change before switching asan on). But it's clearly not my job to fix the inevitable build bot regressions in other backends.
> 
> Unfortunately, that does not sound as clear to me as it sounds to you apparently.
> 
> If you want to change the Recycler/ArrayRecycler in a way that it is exposing bugs with ASAN in other places in LLVM, you’ll have first to fix these bugs.

Of course the alternative is to fill an entry in Bugzilla for each bug you find and wait for them to be fixed before you can land your patch.

— 
Mehdi



More information about the llvm-dev mailing list