summaryrefslogtreecommitdiffstats
path: root/lib/libkvm/kvm_proc2.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2014-03-30 21:54:48 +0000
committerguenther <guenther@openbsd.org>2014-03-30 21:54:48 +0000
commitd559b8cb6cdd6f912edd28712213aec79fb0b7bc (patch)
treeffe701d81fb3c6b370ebfd396ab32a273424b5b5 /lib/libkvm/kvm_proc2.c
parentSupport relative arguments to .ll (increase or decrease line length). (diff)
downloadwireguard-openbsd-d559b8cb6cdd6f912edd28712213aec79fb0b7bc.tar.xz
wireguard-openbsd-d559b8cb6cdd6f912edd28712213aec79fb0b7bc.zip
Eliminates struct pcred by moving the real and saved ugids into
struct ucred; struct process then directly links to the ucred Based on a discussion at c2k10 or so before noting that FreeBSD and NetBSD did this too. ok matthew@
Diffstat (limited to 'lib/libkvm/kvm_proc2.c')
-rw-r--r--lib/libkvm/kvm_proc2.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/lib/libkvm/kvm_proc2.c b/lib/libkvm/kvm_proc2.c
index 64fdaff900f..88449be2a5d 100644
--- a/lib/libkvm/kvm_proc2.c
+++ b/lib/libkvm/kvm_proc2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kvm_proc2.c,v 1.20 2014/03/22 11:18:05 florian Exp $ */
+/* $OpenBSD: kvm_proc2.c,v 1.21 2014/03/30 21:54:49 guenther Exp $ */
/* $NetBSD: kvm_proc.c,v 1.30 1999/03/24 05:50:50 mrg Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -108,7 +108,6 @@ kvm_proclist(kvm_t *kd, int op, int arg, struct process *pr,
{
struct kinfo_proc kp;
struct session sess;
- struct pcred pcred;
struct ucred ucred;
struct proc proc, proc2, *p;
struct process process, process2;
@@ -142,15 +141,10 @@ kvm_proclist(kvm_t *kd, int op, int arg, struct process *pr,
}
if (proc.p_stat == SIDL)
continue;
- if (KREAD(kd, (u_long)process.ps_cred, &pcred)) {
- _kvm_err(kd, kd->program, "can't read pcred at %lx",
- (u_long)process.ps_cred);
- return (-1);
- }
process_pid = proc.p_pid;
- if (KREAD(kd, (u_long)pcred.pc_ucred, &ucred)) {
+ if (KREAD(kd, (u_long)process.ps_ucred, &ucred)) {
_kvm_err(kd, kd->program, "can't read ucred at %lx",
- (u_long)pcred.pc_ucred);
+ (u_long)process.ps_ucred);
return (-1);
}
if (KREAD(kd, (u_long)process.ps_pgrp, &pgrp)) {
@@ -245,7 +239,7 @@ kvm_proclist(kvm_t *kd, int op, int arg, struct process *pr,
break;
case KERN_PROC_RUID:
- if (pcred.p_ruid != (uid_t)arg)
+ if (ucred.cr_ruid != (uid_t)arg)
continue;
break;
@@ -286,7 +280,7 @@ kvm_proclist(kvm_t *kd, int op, int arg, struct process *pr,
vmp = &vm;
#define do_copy_str(_d, _s, _l) kvm_read(kd, (u_long)(_s), (_d), (_l)-1)
- FILL_KPROC(&kp, do_copy_str, &proc, &process, &pcred,
+ FILL_KPROC(&kp, do_copy_str, &proc, &process,
&ucred, &pgrp, process.ps_mainproc, proc.p_p, &sess,
vmp, limp, sap, 0, 1);
@@ -343,7 +337,7 @@ kvm_proclist(kvm_t *kd, int op, int arg, struct process *pr,
(u_long)p);
return (-1);
}
- FILL_KPROC(&kp, do_copy_str, &proc, &process, &pcred,
+ FILL_KPROC(&kp, do_copy_str, &proc, &process,
&ucred, &pgrp, p, proc.p_p, &sess, vmp, limp, sap,
1, 1);