diff options
author | 2014-03-30 21:54:48 +0000 | |
---|---|---|
committer | 2014-03-30 21:54:48 +0000 | |
commit | d559b8cb6cdd6f912edd28712213aec79fb0b7bc (patch) | |
tree | ffe701d81fb3c6b370ebfd396ab32a273424b5b5 /lib/libkvm/kvm_proc2.c | |
parent | Support relative arguments to .ll (increase or decrease line length). (diff) | |
download | wireguard-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.c | 18 |
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); |