[compiler-rt] r306746 - Merge

Evgenii Stepanov via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 29 15:27:28 PDT 2017


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/
> asan/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/
> msan/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/
> sanitizer_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/
> sanitizer_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/
> tsan/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/feba4b35/attachment.html>


More information about the llvm-commits mailing list