summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2021-10-15 12:43:36 +1100
committerDarren Tucker <dtucker@dtucker.net>2021-10-15 12:43:36 +1100
commitfff13aaa262b7b3ec83ed21e29674cbf331780a7 (patch)
treedf77992f3fd56c4f7961dc67cfc116887e5c1a43
parentd4b38144c02f3faa5271e5fb35df93507e06f1b4 (diff)
Include error reason if trace disabling fails.
-rw-r--r--platform-tracing.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/platform-tracing.c b/platform-tracing.c
index 0daf2a86..b67e64f2 100644
--- a/platform-tracing.c
+++ b/platform-tracing.c
@@ -41,21 +41,24 @@ platform_disable_tracing(int strict)
int disable_trace = PROC_TRACE_CTL_DISABLE;
if (procctl(P_PID, 0, PROC_TRACE_CTL, &disable_trace) && strict)
- fatal("unable to make the process untraceable");
+ fatal("unable to make the process untraceable: %s",
+ strerror(errno));
#endif
#if defined(HAVE_PRCTL) && defined(PR_SET_DUMPABLE)
/* Disable ptrace on Linux without sgid bit */
if (prctl(PR_SET_DUMPABLE, 0) != 0 && strict)
- fatal("unable to make the process undumpable");
+ fatal("unable to make the process undumpable: %s",
+ strerror(errno));
#endif
#if defined(HAVE_SETPFLAGS) && defined(__PROC_PROTECT)
/* On Solaris, we should make this process untraceable */
if (setpflags(__PROC_PROTECT, 1) != 0 && strict)
- fatal("unable to make the process untraceable");
+ fatal("unable to make the process untraceable: %s",
+ strerror(errno));
#endif
#ifdef PT_DENY_ATTACH
/* Mac OS X */
if (ptrace(PT_DENY_ATTACH, 0, 0, 0) == -1 && strict)
- fatal("unable to set PT_DENY_ATTACH");
+ fatal("unable to set PT_DENY_ATTACH: %s", strerror(errno));
#endif
}