Add ki_jid field to the kinfo_proc structure and store jail ID there.
Reviewed by: gad MFC after: 3 days
This commit is contained in:
parent
e69f1fa2ef
commit
c78941e69e
sys
@ -653,8 +653,12 @@ fill_kinfo_thread(struct thread *td, struct kinfo_proc *kp)
|
|||||||
kp->ki_rgid = cred->cr_rgid;
|
kp->ki_rgid = cred->cr_rgid;
|
||||||
kp->ki_svgid = cred->cr_svgid;
|
kp->ki_svgid = cred->cr_svgid;
|
||||||
/* If jailed(cred), emulate the old P_JAILED flag. */
|
/* If jailed(cred), emulate the old P_JAILED flag. */
|
||||||
if (jailed(cred))
|
if (jailed(cred)) {
|
||||||
kp->ki_flag |= P_JAILED;
|
kp->ki_flag |= P_JAILED;
|
||||||
|
/* If inside a jail, use 0 as a jail ID. */
|
||||||
|
if (!jailed(curthread->td_ucred))
|
||||||
|
kp->ki_jid = cred->cr_prison->pr_id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ps = p->p_sigacts;
|
ps = p->p_sigacts;
|
||||||
if (ps) {
|
if (ps) {
|
||||||
|
@ -74,7 +74,7 @@
|
|||||||
* end of kinfo_proc. It may need to be overridden on a platform-specific
|
* end of kinfo_proc. It may need to be overridden on a platform-specific
|
||||||
* basis as new fields are added.
|
* basis as new fields are added.
|
||||||
*/
|
*/
|
||||||
#define KI_NSPARE 16
|
#define KI_NSPARE 15
|
||||||
|
|
||||||
#ifdef __alpha__
|
#ifdef __alpha__
|
||||||
#define KINFO_PROC_SIZE 912
|
#define KINFO_PROC_SIZE 912
|
||||||
@ -84,7 +84,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#ifdef __arm__
|
#ifdef __arm__
|
||||||
#undef KI_NSPARE /* Fewer spare longs on this arch */
|
#undef KI_NSPARE /* Fewer spare longs on this arch */
|
||||||
#define KI_NSPARE 15
|
#define KI_NSPARE 13
|
||||||
#define KINFO_PROC_SIZE 648
|
#define KINFO_PROC_SIZE 648
|
||||||
#endif
|
#endif
|
||||||
#ifdef __ia64__
|
#ifdef __ia64__
|
||||||
@ -92,10 +92,12 @@
|
|||||||
#endif
|
#endif
|
||||||
#ifdef __i386__
|
#ifdef __i386__
|
||||||
#undef KI_NSPARE /* Fewer spare longs on this arch */
|
#undef KI_NSPARE /* Fewer spare longs on this arch */
|
||||||
#define KI_NSPARE 15
|
#define KI_NSPARE 13
|
||||||
#define KINFO_PROC_SIZE 648
|
#define KINFO_PROC_SIZE 648
|
||||||
#endif
|
#endif
|
||||||
#ifdef __powerpc__
|
#ifdef __powerpc__
|
||||||
|
#undef KI_NSPARE /* Fewer spare longs on this arch */
|
||||||
|
#define KI_NSPARE 14
|
||||||
#define KINFO_PROC_SIZE 656
|
#define KINFO_PROC_SIZE 656
|
||||||
#endif
|
#endif
|
||||||
#ifdef __sparc64__
|
#ifdef __sparc64__
|
||||||
@ -187,6 +189,8 @@ struct kinfo_proc {
|
|||||||
lwpid_t ki_tid; /* XXXKSE thread id */
|
lwpid_t ki_tid; /* XXXKSE thread id */
|
||||||
int ki_numthreads; /* XXXKSE number of threads in total */
|
int ki_numthreads; /* XXXKSE number of threads in total */
|
||||||
void *ki_udata; /* User convenience pointer */
|
void *ki_udata; /* User convenience pointer */
|
||||||
|
int ki_jid; /* Process jail ID */
|
||||||
|
int ki_spare_int1; /* unused (just here for alignment) */
|
||||||
long ki_spare[KI_NSPARE]; /* spare room for later growth */
|
long ki_spare[KI_NSPARE]; /* spare room for later growth */
|
||||||
};
|
};
|
||||||
void fill_kinfo_proc(struct proc *, struct kinfo_proc *);
|
void fill_kinfo_proc(struct proc *, struct kinfo_proc *);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user