[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