diff options
author | nn35248 <none@none> | 2006-09-11 22:51:59 -0700 |
---|---|---|
committer | nn35248 <none@none> | 2006-09-11 22:51:59 -0700 |
commit | 9acbbeaf2a1ffe5c14b244867d427714fab43c5c (patch) | |
tree | d1ecd54896325c19a463220e9cbc50864874fc82 /usr/src/uts/common/sys/proc.h | |
parent | da51466dc253d7c98dda4956059042bd0c476328 (diff) | |
download | illumos-joyent-9acbbeaf2a1ffe5c14b244867d427714fab43c5c.tar.gz |
PSARC/2005/471 BrandZ: Support for non-native zones
6374606 ::nm -D without an object may not work on processes in zones
6409350 BrandZ project integration into Solaris
6455289 pthread_setschedparam() should return EPERM rather than panic libc
6455591 setpriority(3C) gets errno wrong for deficient privileges failure
6458178 fifofs doesn't support lofs mounts of fifos
6460380 Attempted open() of a symlink with the O_NOFOLLOW flag set returns EINVAL, not ELOOP
6463857 renice(1) errors erroneously
--HG--
rename : usr/src/lib/libzonecfg/zones/SUNWblank.xml => usr/src/lib/brand/native/zone/SUNWblank.xml
rename : usr/src/lib/libzonecfg/zones/SUNWdefault.xml => usr/src/lib/brand/native/zone/SUNWdefault.xml
Diffstat (limited to 'usr/src/uts/common/sys/proc.h')
-rw-r--r-- | usr/src/uts/common/sys/proc.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/usr/src/uts/common/sys/proc.h b/usr/src/uts/common/sys/proc.h index fadcbf4a6d..13a3605e66 100644 --- a/usr/src/uts/common/sys/proc.h +++ b/usr/src/uts/common/sys/proc.h @@ -115,6 +115,7 @@ typedef struct lwpdir { struct pool; struct task; struct zone; +struct brand; struct corectl_path; struct corectl_content; @@ -336,6 +337,11 @@ typedef struct proc { uintptr_t p_portcnt; /* event ports counter */ struct zone *p_zone; /* zone in which process lives */ struct vnode *p_execdir; /* directory that p_exec came from */ + struct brand *p_brand; /* process's brand */ + void *p_brand_data; /* per-process brand state */ + + /* additional lock to protect p_sessp (but not its contents) */ + kmutex_t p_splock; } proc_t; #define PROC_T /* headers relying on proc_t are OK */ @@ -408,6 +414,10 @@ struct plock { extern proc_t p0; /* process 0 */ extern struct plock p0lock; /* p0's plock */ extern struct pid pid0; /* p0's pid */ + +/* pid_allocate() flags */ +#define PID_ALLOC_PROC 0x0001 /* assign a /proc slot as well */ + #endif /* _KERNEL */ /* stat codes */ @@ -588,7 +598,8 @@ extern int sigcheck(proc_t *, kthread_t *); extern void sigdefault(proc_t *); extern void pid_setmin(void); -extern pid_t pid_assign(proc_t *); +extern pid_t pid_allocate(proc_t *, int); +extern struct pid *pid_find(pid_t); extern int pid_rele(struct pid *); extern void pid_exit(proc_t *); extern void proc_entry_free(struct pid *); @@ -724,6 +735,7 @@ extern void lwp_rtt(void); extern void lwp_rtt_initial(void); extern int lwp_setprivate(klwp_t *, int, uintptr_t); extern void lwp_stat_update(lwp_stat_id_t, long); +extern void lwp_attach_brand_hdlrs(klwp_t *); /* * Signal queue function prototypes. Must be here due to header ordering |