diff options
author | 2009-01-21 22:18:00 +0000 | |
---|---|---|
committer | 2009-01-21 22:18:00 +0000 | |
commit | cbe3564fe3f8ca9c5e3600fe588675960d9215e2 (patch) | |
tree | 05036d7fc4a5d53900ca2a2b9ef14f99e708a96a /lib/libkvm/kvm_proc.c | |
parent | Replace timeout_add(msecs * hz / 1000) with timeout_add_msec(msecs). (diff) | |
download | wireguard-openbsd-cbe3564fe3f8ca9c5e3600fe588675960d9215e2.tar.xz wireguard-openbsd-cbe3564fe3f8ca9c5e3600fe588675960d9215e2.zip |
All operation on live kernels uses sysctl interface, there is no reason to
access the swap area. Change kvm_open() to no longer require a swap area,
and to not consider failure to open() it as fatal. Post-mortem analysis
would need an image of the swap area at the time of the crash, anyway.
Diffstat (limited to 'lib/libkvm/kvm_proc.c')
-rw-r--r-- | lib/libkvm/kvm_proc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/libkvm/kvm_proc.c b/lib/libkvm/kvm_proc.c index eea2060cfce..a38ce59087d 100644 --- a/lib/libkvm/kvm_proc.c +++ b/lib/libkvm/kvm_proc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kvm_proc.c,v 1.36 2008/06/26 05:42:05 ray Exp $ */ +/* $OpenBSD: kvm_proc.c,v 1.37 2009/01/21 22:18:00 miod Exp $ */ /* $NetBSD: kvm_proc.c,v 1.30 1999/03/24 05:50:50 mrg Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -66,7 +66,7 @@ #if 0 static char sccsid[] = "@(#)kvm_proc.c 8.3 (Berkeley) 9/23/93"; #else -static char *rcsid = "$OpenBSD: kvm_proc.c,v 1.36 2008/06/26 05:42:05 ray Exp $"; +static char *rcsid = "$OpenBSD: kvm_proc.c,v 1.37 2009/01/21 22:18:00 miod Exp $"; #endif #endif /* LIBC_SCCS and not lint */ @@ -231,7 +231,8 @@ _kvm_ureadm(kvm_t *kd, const struct miniproc *p, u_long va, u_long *cnt) (size_t)kd->nbpg, (off_t)pg.phys_addr) != kd->nbpg) return (NULL); } else { - if (_kvm_pread(kd, kd->swfd, (void *)kd->swapspc, + if (kd->swfd == -1 || + _kvm_pread(kd, kd->swfd, (void *)kd->swapspc, (size_t)kd->nbpg, (off_t)(anon.an_swslot * kd->nbpg)) != kd->nbpg) return (NULL); |