[compiler-rt] r306746 - Merge

Aleksey Shlyapnikov via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 29 16:39:16 PDT 2017


Sorry, my bad, forgot to git merge before committing.

On Thu, Jun 29, 2017 at 3:27 PM, Evgenii Stepanov <eugeni.stepanov at gmail.com
> wrote:

> Something is not right with the commit message.
>
> On Thu, Jun 29, 2017 at 2:54 PM, Alex Shlyapnikov via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: alekseyshl
>> Date: Thu Jun 29 14:54:36 2017
>> New Revision: 306746
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=306746&view=rev
>> Log:
>> Merge
>>
>> Modified:
>>     compiler-rt/trunk/lib/asan/asan_allocator.cc
>>     compiler-rt/trunk/lib/msan/msan_allocator.cc
>>     compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.cc
>>     compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h
>>     compiler-rt/trunk/lib/tsan/rtl/tsan_mman.cc
>>
>> Modified: compiler-rt/trunk/lib/asan/asan_allocator.cc
>> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/as
>> an/asan_allocator.cc?rev=306746&r1=306745&r2=306746&view=diff
>> ============================================================
>> ==================
>> --- compiler-rt/trunk/lib/asan/asan_allocator.cc (original)
>> +++ compiler-rt/trunk/lib/asan/asan_allocator.cc Thu Jun 29 14:54:36 2017
>> @@ -635,7 +635,7 @@ struct Allocator {
>>    }
>>
>>    void *Calloc(uptr nmemb, uptr size, BufferedStackTrace *stack) {
>> -    if (CallocShouldReturnNullDueToOverflow(size, nmemb))
>> +    if (CheckForCallocOverflow(size, nmemb))
>>        return AsanAllocator::FailureHandler::OnBadRequest();
>>      void *ptr = Allocate(nmemb * size, 8, stack, FROM_MALLOC, false);
>>      // If the memory comes from the secondary allocator no need to clear
>> it
>>
>> Modified: compiler-rt/trunk/lib/msan/msan_allocator.cc
>> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ms
>> an/msan_allocator.cc?rev=306746&r1=306745&r2=306746&view=diff
>> ============================================================
>> ==================
>> --- compiler-rt/trunk/lib/msan/msan_allocator.cc (original)
>> +++ compiler-rt/trunk/lib/msan/msan_allocator.cc Thu Jun 29 14:54:36 2017
>> @@ -195,7 +195,7 @@ void MsanDeallocate(StackTrace *stack, v
>>  }
>>
>>  void *MsanCalloc(StackTrace *stack, uptr nmemb, uptr size) {
>> -  if (CallocShouldReturnNullDueToOverflow(size, nmemb))
>> +  if (CheckForCallocOverflow(size, nmemb))
>>      return Allocator::FailureHandler::OnBadRequest();
>>    return MsanReallocate(stack, nullptr, nmemb * size, sizeof(u64), true);
>>  }
>>
>> Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.cc
>> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sa
>> nitizer_common/sanitizer_allocator.cc?rev=306746&r1=306745&
>> r2=306746&view=diff
>> ============================================================
>> ==================
>> --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.cc
>> (original)
>> +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.cc Thu
>> Jun 29 14:54:36 2017
>> @@ -160,7 +160,7 @@ void *InternalRealloc(void *addr, uptr s
>>  }
>>
>>  void *InternalCalloc(uptr count, uptr size, InternalAllocatorCache
>> *cache) {
>> -  if (CallocShouldReturnNullDueToOverflow(count, size))
>> +  if (CheckForCallocOverflow(count, size))
>>      return InternalAllocator::FailureHandler::OnBadRequest();
>>    void *p = InternalAlloc(count * size, cache);
>>    if (p) internal_memset(p, 0, count * size);
>> @@ -202,7 +202,7 @@ void SetLowLevelAllocateCallback(LowLeve
>>    low_level_alloc_callback = callback;
>>  }
>>
>> -bool CallocShouldReturnNullDueToOverflow(uptr size, uptr n) {
>> +bool CheckForCallocOverflow(uptr size, uptr n) {
>>    if (!size) return false;
>>    uptr max = (uptr)-1L;
>>    return (max / size) < n;
>>
>> Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h
>> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sa
>> nitizer_common/sanitizer_allocator.h?rev=306746&r1=306745&
>> r2=306746&view=diff
>> ============================================================
>> ==================
>> --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h
>> (original)
>> +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h Thu Jun
>> 29 14:54:36 2017
>> @@ -56,8 +56,10 @@ struct NoOpMapUnmapCallback {
>>  // Callback type for iterating over chunks.
>>  typedef void (*ForEachChunkCallback)(uptr chunk, void *arg);
>>
>> -// Returns true if calloc(size, n) should return 0 due to overflow in
>> size*n.
>> -bool CallocShouldReturnNullDueToOverflow(uptr size, uptr n);
>> +// Returns true if calloc(size, n) call overflows on size*n calculation.
>> +// The caller should "return POLICY::OnBadRequest();" where POLICY is the
>> +// current allocator failure handling policy.
>> +bool CheckForCallocOverflow(uptr size, uptr n);
>>
>>  #include "sanitizer_allocator_size_class_map.h"
>>  #include "sanitizer_allocator_stats.h"
>>
>> Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_mman.cc
>> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ts
>> an/rtl/tsan_mman.cc?rev=306746&r1=306745&r2=306746&view=diff
>> ============================================================
>> ==================
>> --- compiler-rt/trunk/lib/tsan/rtl/tsan_mman.cc (original)
>> +++ compiler-rt/trunk/lib/tsan/rtl/tsan_mman.cc Thu Jun 29 14:54:36 2017
>> @@ -162,7 +162,7 @@ void *user_alloc(ThreadState *thr, uptr
>>  }
>>
>>  void *user_calloc(ThreadState *thr, uptr pc, uptr size, uptr n) {
>> -  if (CallocShouldReturnNullDueToOverflow(size, n))
>> +  if (CheckForCallocOverflow(size, n))
>>      return Allocator::FailureHandler::OnBadRequest();
>>    void *p = user_alloc(thr, pc, n * size);
>>    if (p)
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170629/6151cc03/attachment.html>


More information about the llvm-commits mailing list