Print this page
uts: Allow for address space randomisation.
Randomise the base addresses of shared objects, non-fixed mappings, the
stack and the heap.  Introduce a service, svc:/system/process-security,
and a tool psecflags(1) to control and observe it

*** 206,215 **** --- 206,216 ---- sl_field_t pr_dmodel; sl_field_t pr_taskid; sl_field_t pr_projid; sl_field_t pr_nzomb; sl_field_t pr_zoneid; + sl_field_t pr_secflags; sl_field_t pr_lwp; } sl_pstatus_layout_t; /* * Layout description of prstatus_t, from <sys/old_procfs.h>.
*** 524,533 **** --- 525,540 ---- sl_field_t pr_fileflags; sl_field_t pr_fdflags; sl_field_t pr_path; } sl_prfdinfo_layout_t; + typedef struct { + sl_field_t sizeof_struct; + sl_field_t psf_effective; + sl_field_t psf_inherit; + } sl_psecflags_layout_t; + /* * This type collects all of the layout definitions for * a given architecture. */ typedef struct {
*** 549,558 **** --- 556,566 ---- const sl_stack_layout_t *stack; /* stack_t */ const sl_sysset_layout_t *sysset; /* sysset_t */ const sl_timestruc_layout_t *timestruc; /* timestruc_t */ const sl_utsname_layout_t *utsname; /* struct utsname */ const sl_prfdinfo_layout_t *prfdinfo; /* prdinfo_t */ + const sl_psecflags_layout_t *psecflags; /* psecflags_t */ } sl_arch_layout_t; extern void sl_extract_num_field(const char *data, int do_swap,