summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2018-02-16 15:57:06 +0000
committerPatrick Mooney <pmooney@pfmooney.com>2018-03-07 18:11:11 +0000
commitb6e665f18443051b55beb5a7f5c2a9c1facd37f0 (patch)
tree60c5db6d9f1398d0906a32c722b9e26c21a07dc2
parentd895d9b0600a1c4955ffc6aa3a34a22c69154b43 (diff)
downloadillumos-joyent-b6e665f18443051b55beb5a7f5c2a9c1facd37f0.tar.gz
OS-6613 zhyve core dumps deposited in zone root
Reviewed by: Mike Gerdts <mike.gerdts@joyent.com> Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Approved by: Patrick Mooney <patrick.mooney@joyent.com>
-rw-r--r--usr/src/cmd/bhyve/zhyve.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/usr/src/cmd/bhyve/zhyve.c b/usr/src/cmd/bhyve/zhyve.c
index 6162731037..5cb32c21a0 100644
--- a/usr/src/cmd/bhyve/zhyve.c
+++ b/usr/src/cmd/bhyve/zhyve.c
@@ -25,6 +25,7 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
+#include <sys/corectl.h>
#define ZHYVE_CMD_FILE "/var/run/bhyve/zhyve.cmd"
#define ZHYVE_LOG_FILE "/tmp/zhyve.log"
@@ -88,7 +89,7 @@ full_read(int fd, char *buf, size_t len)
*/
static int
-parse_options_file(const char *path, uint *argcp, char ***argvp)
+parse_options_file(const char *path, uint_t *argcp, char ***argvp)
{
int fd = -1;
struct stat stbuf;
@@ -127,10 +128,19 @@ mark_provisioned(void)
}
}
+/*
+ * Setup to suppress core dumps within the zone.
+ */
+static void
+config_core_dumps()
+{
+ (void) core_set_options(0x0);
+}
+
int
main(int argc, char **argv)
{
- uint zargc;
+ uint_t zargc;
char **zargv;
int fd;
struct stat stbuf;
@@ -140,6 +150,8 @@ main(int argc, char **argv)
return (bhyve_main(argc, argv));
}
+ config_core_dumps();
+
fd = open("/dev/null", O_WRONLY);
assert(fd >= 0);
if (fd != STDIN_FILENO) {