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

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/sgs/include/conv.h
          +++ new/usr/src/cmd/sgs/include/conv.h
↓ open down ↓ 317 lines elided ↑ open up ↑
 318  318          char                            buf[CONV_CNOTE_OLD_PR_FLAGS_BUFSIZE];
 319  319  } Conv_cnote_old_pr_flags_buf_t;
 320  320  
 321  321  /* conv_cnote_proc_flag() */
 322  322  #define CONV_CNOTE_PROC_FLAG_BUFSIZE    39
 323  323  typedef union {
 324  324          Conv_inv_buf_t                  inv_buf;
 325  325          char                            buf[CONV_CNOTE_PROC_FLAG_BUFSIZE];
 326  326  } Conv_cnote_proc_flag_buf_t;
 327  327  
      328 +/* conv_psecflags() */
      329 +#define CONV_PSECFLAGS_BUFSIZE          31
      330 +typedef union {
      331 +        Conv_inv_buf_t                  inv_buf;
      332 +        char                            buf[CONV_PSECFLAGS_BUFSIZE];
      333 +} Conv_secflags_buf_t;
 328  334  
 329  335  /* conv_cnote_sigset() */
 330  336  #define CONV_CNOTE_SIGSET_BUFSIZE       639
 331  337  typedef union {
 332  338          Conv_inv_buf_t                  inv_buf;
 333  339          char                            buf[CONV_CNOTE_SIGSET_BUFSIZE];
 334  340  } Conv_cnote_sigset_buf_t;
 335  341  
 336  342  /* conv_cnote_fltset() */
 337  343  #define CONV_CNOTE_FLTSET_BUFSIZE       511
↓ open down ↓ 477 lines elided ↑ open up ↑
 815  821  extern  const char      *conv_cnote_pr_regname(Half, int, Conv_fmt_flags_t,
 816  822                              Conv_inv_buf_t *inv_buf);
 817  823  extern  const char      *conv_cnote_pr_stype(Word, Conv_fmt_flags_t,
 818  824                              Conv_inv_buf_t *);
 819  825  extern  const char      *conv_cnote_pr_what(short, short, Conv_fmt_flags_t,
 820  826                              Conv_inv_buf_t *);
 821  827  extern  const char      *conv_cnote_pr_why(short, Conv_fmt_flags_t,
 822  828                              Conv_inv_buf_t *);
 823  829  extern  const char      *conv_cnote_priv(int, Conv_fmt_flags_t,
 824  830                              Conv_inv_buf_t *);
      831 +extern  const char      *conv_psecflags(int, Conv_fmt_flags_t,
      832 +                            Conv_secflags_buf_t *);
 825  833  extern  const char      *conv_cnote_psetid(int, Conv_fmt_flags_t,
 826  834                              Conv_inv_buf_t *);
 827  835  extern  const char      *conv_cnote_sa_flags(int, Conv_fmt_flags_t,
 828  836                              Conv_cnote_sa_flags_buf_t *);
 829  837  extern  const char      *conv_cnote_signal(Word, Conv_fmt_flags_t,
 830  838                              Conv_inv_buf_t *);
 831  839  extern  const char      *conv_cnote_si_code(Half, int, int, Conv_fmt_flags_t,
 832  840                              Conv_inv_buf_t *);
 833  841  extern  const char      *conv_cnote_sigset(uint32_t *, int,
 834  842                              Conv_fmt_flags_t, Conv_cnote_sigset_buf_t *);
↓ open down ↓ 278 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX