Print this page
7029 want per-process exploit mitigation features (secflags)
7030 want basic address space layout randomization (aslr)
7031 noexec_user_stack should be a secflag
7032 want a means to forbid mappings around NULL.

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/sgs/include/conv.h
          +++ new/usr/src/cmd/sgs/include/conv.h
↓ open down ↓ 33 lines elided ↑ open up ↑
  34   34   * Global include file for conversion library.
  35   35   */
  36   36  
  37   37  #include <stdlib.h>
  38   38  #include <libelf.h>
  39   39  #include <dlfcn.h>
  40   40  #include <libld.h>
  41   41  #include <sgs.h>
  42   42  #include <sgsmsg.h>
  43   43  
       44 +#include <sys/secflags.h>
       45 +
  44   46  #ifdef  __cplusplus
  45   47  extern "C" {
  46   48  #endif
  47   49  
  48   50  /*
  49   51   * Configuration features available - maintained here (instead of debug.h)
  50   52   * to save libconv from having to include debug.h which results in numerous
  51   53   * "declared but not used or defined" lint errors.
  52   54   */
  53   55  #define CONF_EDLIBPATH  0x000100        /* ELF default library path */
↓ open down ↓ 264 lines elided ↑ open up ↑
 318  320          char                            buf[CONV_CNOTE_OLD_PR_FLAGS_BUFSIZE];
 319  321  } Conv_cnote_old_pr_flags_buf_t;
 320  322  
 321  323  /* conv_cnote_proc_flag() */
 322  324  #define CONV_CNOTE_PROC_FLAG_BUFSIZE    39
 323  325  typedef union {
 324  326          Conv_inv_buf_t                  inv_buf;
 325  327          char                            buf[CONV_CNOTE_PROC_FLAG_BUFSIZE];
 326  328  } Conv_cnote_proc_flag_buf_t;
 327  329  
      330 +/* conv_prsecflags() */
      331 +#define CONV_PRSECFLAGS_BUFSIZE         57
      332 +typedef union {
      333 +        Conv_inv_buf_t                  inv_buf;
      334 +        char                            buf[CONV_PRSECFLAGS_BUFSIZE];
      335 +} Conv_secflags_buf_t;
 328  336  
 329  337  /* conv_cnote_sigset() */
 330  338  #define CONV_CNOTE_SIGSET_BUFSIZE       639
 331  339  typedef union {
 332  340          Conv_inv_buf_t                  inv_buf;
 333  341          char                            buf[CONV_CNOTE_SIGSET_BUFSIZE];
 334  342  } Conv_cnote_sigset_buf_t;
 335  343  
 336  344  /* conv_cnote_fltset() */
 337  345  #define CONV_CNOTE_FLTSET_BUFSIZE       511
↓ open down ↓ 477 lines elided ↑ open up ↑
 815  823  extern  const char      *conv_cnote_pr_regname(Half, int, Conv_fmt_flags_t,
 816  824                              Conv_inv_buf_t *inv_buf);
 817  825  extern  const char      *conv_cnote_pr_stype(Word, Conv_fmt_flags_t,
 818  826                              Conv_inv_buf_t *);
 819  827  extern  const char      *conv_cnote_pr_what(short, short, Conv_fmt_flags_t,
 820  828                              Conv_inv_buf_t *);
 821  829  extern  const char      *conv_cnote_pr_why(short, Conv_fmt_flags_t,
 822  830                              Conv_inv_buf_t *);
 823  831  extern  const char      *conv_cnote_priv(int, Conv_fmt_flags_t,
 824  832                              Conv_inv_buf_t *);
      833 +extern  const char      *conv_prsecflags(secflagset_t, Conv_fmt_flags_t,
      834 +                            Conv_secflags_buf_t *);
 825  835  extern  const char      *conv_cnote_psetid(int, Conv_fmt_flags_t,
 826  836                              Conv_inv_buf_t *);
 827  837  extern  const char      *conv_cnote_sa_flags(int, Conv_fmt_flags_t,
 828  838                              Conv_cnote_sa_flags_buf_t *);
 829  839  extern  const char      *conv_cnote_signal(Word, Conv_fmt_flags_t,
 830  840                              Conv_inv_buf_t *);
 831  841  extern  const char      *conv_cnote_si_code(Half, int, int, Conv_fmt_flags_t,
 832  842                              Conv_inv_buf_t *);
 833  843  extern  const char      *conv_cnote_sigset(uint32_t *, int,
 834  844                              Conv_fmt_flags_t, Conv_cnote_sigset_buf_t *);
↓ open down ↓ 278 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX