[PATCH] D44770: [sanitizer] zx_vmo_write on Fuchsia takes only 4 arguments now

Petr Hosek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 21 23:10:19 PDT 2018


phosek created this revision.
phosek added a reviewer: mcgrathr.
Herald added subscribers: Sanitizers, llvm-commits, kubamracek.

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


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D44770

Files:
  compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cc


Index: compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cc
===================================================================
--- compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cc
+++ compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cc
@@ -418,16 +418,7 @@
   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;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44770.139416.patch
Type: text/x-patch
Size: 814 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180322/03b4a129/attachment.bin>


More information about the llvm-commits mailing list