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
@@ -102,10 +102,11 @@
{ 256, 1, 0, 0 }, /* pr_dmodel */
{ 260, 4, 0, 1 }, /* pr_taskid */
{ 264, 4, 0, 1 }, /* pr_projid */
{ 268, 4, 0, 1 }, /* pr_nzomb */
{ 272, 4, 0, 1 }, /* pr_zoneid */
+ { 276, 8, 0, 0 }, /* pr_secflags */
{ 336, 800, 0, 0 }, /* pr_lwp */
};
static const sl_prstatus_layout_t prstatus_layout = {
@@ -375,10 +376,17 @@
{ 60, 4, 0, 0 }, /* pr_fdflags */
{ 64, 1, 1024, 0 }, /* pr_path[] */
};
+static const sl_psecflags_layout_t psecflags_layout = {
+ { 0, 8, 0, 0 }, /* sizeof (psecflags_t) */
+ { 0, 4, 0, 0 }, /* psf_effective */
+ { 4, 4, 0, 0 }, /* psf_inherit */
+};
+
+
static const sl_arch_layout_t layout_i386 = {
&auxv_layout,
&fltset_layout,
@@ -398,10 +406,11 @@
&stack_layout,
&sysset_layout,
×truc_layout,
&utsname_layout,
&prfdinfo_layout,
+ &psecflags_layout,
};
const sl_arch_layout_t *
struct_layout_i386(void)