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,10 +206,11 @@
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,10 +525,16 @@
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,10 +556,11 @@
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,