summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbeck <beck@openbsd.org>2015-07-20 00:19:14 +0000
committerbeck <beck@openbsd.org>2015-07-20 00:19:14 +0000
commit714f9857ccc809f80ce97c109af06b7beca83ba0 (patch)
treee478f766c5accb72f11af7bd77ff20fc5198a21d
parentMake pmap_remove() grab the kernel lock. This is a big hammer but makes MP (diff)
downloadwireguard-openbsd-714f9857ccc809f80ce97c109af06b7beca83ba0.tar.xz
wireguard-openbsd-714f9857ccc809f80ce97c109af06b7beca83ba0.zip
Fix annoying console spew when we can't write the core file. use log instead.
ok krw@ sthen@ comments from deraadt@, miod@
-rw-r--r--sys/kern/kern_sig.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 2c3b6ea13f2..7dd32e3049c 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_sig.c,v 1.181 2015/07/19 02:35:35 deraadt Exp $ */
+/* $OpenBSD: kern_sig.c,v 1.182 2015/07/20 00:19:14 beck Exp $ */
/* $NetBSD: kern_sig.c,v 1.54 1996/04/22 01:38:32 christos Exp $ */
/*
@@ -61,6 +61,7 @@
#include <sys/ptrace.h>
#include <sys/sched.h>
#include <sys/user.h>
+#include <sys/syslog.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>
@@ -1586,11 +1587,12 @@ coredump_write(void *cookie, enum uio_seg segflg, const void *data, size_t len)
io->io_offset + coffset, segflg,
IO_UNIT, io->io_cred, NULL, io->io_proc);
if (error) {
- printf("pid %d (%s): %s write of %lu@%p"
- " at %lld failed: %d\n",
- io->io_proc->p_pid, io->io_proc->p_comm,
- segflg == UIO_USERSPACE ? "user" : "system",
- len, data, (long long)io->io_offset, error);
+ if (error == ENOSPC)
+ log(LOG_ERR, "coredump of %s(%d) failed, filesystem full",
+ io->io_proc->p_comm, io->io_proc->p_pid);
+ else
+ log(LOG_ERR, "coredump of %s(%d), write failed: errno %d",
+ io->io_proc->p_comm, io->io_proc->p_pid, error);
return (error);
}