diff options
author | 2013-01-15 01:34:27 +0000 | |
---|---|---|
committer | 2013-01-15 01:34:27 +0000 | |
commit | 957e8d410d62b72a19679eba28a2944acfe5253f (patch) | |
tree | 9d30e547a54ece9bd3f1f260ce2cb14871fb6246 /sys/kern/exec_elf.c | |
parent | Loongson: Remove some of the unused defines. (diff) | |
download | wireguard-openbsd-957e8d410d62b72a19679eba28a2944acfe5253f.tar.xz wireguard-openbsd-957e8d410d62b72a19679eba28a2944acfe5253f.zip |
Slice & dice coredump write requests into MAXPHYS blocks, and
yield between operations. Re-grab the vnode every operation,
so that multiple coredumps can be saved at the same time.
ok guenther beck etc
Diffstat (limited to 'sys/kern/exec_elf.c')
-rw-r--r-- | sys/kern/exec_elf.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/kern/exec_elf.c b/sys/kern/exec_elf.c index 1550478c8a7..0322e7c2b47 100644 --- a/sys/kern/exec_elf.c +++ b/sys/kern/exec_elf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: exec_elf.c,v 1.89 2012/09/17 17:11:49 matthew Exp $ */ +/* $OpenBSD: exec_elf.c,v 1.90 2013/01/15 01:34:27 deraadt Exp $ */ /* * Copyright (c) 1996 Per Fogelstrom @@ -1072,6 +1072,9 @@ ELFNAMEEND(coredump)(struct proc *p, void *cookie) if (error) goto out; + coredump_unmap(cookie, (vaddr_t)psections[i].p_vaddr, + (vaddr_t)psections[i].p_vaddr + psections[i].p_filesz); + #ifdef DIAGNOSTIC offset += psections[i].p_filesz; #endif |