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 @@
{ 304, 1, 0, 0 }, /* pr_dmodel */
{ 308, 4, 0, 1 }, /* pr_taskid */
{ 312, 4, 0, 1 }, /* pr_projid */
{ 316, 4, 0, 1 }, /* pr_nzomb */
{ 320, 4, 0, 1 }, /* pr_zoneid */
+ { 324, 8, 0, 0 }, /* pr_secflags */
{ 384, 1296, 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_amd64 = {
&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_amd64(void)