[PATCH] D54190: [sanitizer] Only set soft coredump limit.

Evgenii Stepanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 6 16:35:33 PST 2018


eugenis created this revision.
eugenis added reviewers: kcc, vitalybuka.
Herald added a subscriber: kubamracek.

If user wants to raise it back, let them.


https://reviews.llvm.org/D54190

Files:
  compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
  compiler-rt/test/sanitizer_common/TestCases/corelimit.cc


Index: compiler-rt/test/sanitizer_common/TestCases/corelimit.cc
===================================================================
--- compiler-rt/test/sanitizer_common/TestCases/corelimit.cc
+++ compiler-rt/test/sanitizer_common/TestCases/corelimit.cc
@@ -10,7 +10,7 @@
   getrlimit(RLIMIT_CORE, &lim_core);
   void *p;
   if (sizeof(p) == 8) {
-    assert(0 == lim_core.rlim_max);
+    assert(0 == lim_core.rlim_cur);
   }
   return 0;
 }
Index: compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
===================================================================
--- compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
+++ compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc
@@ -94,10 +94,12 @@
 }
 
 static void setlim(int res, rlim_t lim) {
-  // The following magic is to prevent clang from replacing it with memset.
-  volatile struct rlimit rlim;
+  struct rlimit rlim;
+  if (getrlimit(res, const_cast<struct rlimit *>(&rlim))) {
+    Report("ERROR: %s getrlimit() failed %d\n", SanitizerToolName, errno);
+    Die();
+  }
   rlim.rlim_cur = lim;
-  rlim.rlim_max = lim;
   if (setrlimit(res, const_cast<struct rlimit *>(&rlim))) {
     Report("ERROR: %s setrlimit() failed %d\n", SanitizerToolName, errno);
     Die();


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54190.172880.patch
Type: text/x-patch
Size: 1256 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181107/fce54f83/attachment.bin>


More information about the llvm-commits mailing list