[compiler-rt] r328273 - [sanitizer] zx_vmo_write on Fuchsia takes only 4 arguments now

Petr Hosek via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 22 16:58:37 PDT 2018


Author: phosek
Date: Thu Mar 22 16:58:37 2018
New Revision: 328273

URL: http://llvm.org/viewvc/llvm-project?rev=328273&view=rev
Log:
[sanitizer] zx_vmo_write on Fuchsia takes only 4 arguments now

The system call now fails when it cannot write the requested size.
Update the sanitizer runtime Fuchsia implementation accordingly.

Differential Revision: https://reviews.llvm.org/D44770

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_fuchsia.cc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_fuchsia.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_fuchsia.cc?rev=328273&r1=328272&r2=328273&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_fuchsia.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_fuchsia.cc Thu Mar 22 16:58:37 2018
@@ -418,16 +418,7 @@ bool IsAccessibleMemoryRange(uptr beg, u
   zx_handle_t vmo;
   zx_status_t status = _zx_vmo_create(size, 0, &vmo);
   if (status == ZX_OK) {
-    while (size > 0) {
-      size_t wrote;
-      status = _zx_vmo_write(vmo, reinterpret_cast<const void *>(beg), 0, size,
-                             &wrote);
-      if (status != ZX_OK) break;
-      CHECK_GT(wrote, 0);
-      CHECK_LE(wrote, size);
-      beg += wrote;
-      size -= wrote;
-    }
+    status = _zx_vmo_write(vmo, reinterpret_cast<const void *>(beg), 0, size);
     _zx_handle_close(vmo);
   }
   return status == ZX_OK;




More information about the llvm-commits mailing list