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.

@@ -1012,10 +1012,14 @@
 
         if (new_opt_str_prop_from_attr(pg, SCF_PROPERTY_RESOURCE_POOL,
             SCF_TYPE_ASTRING, ctx, "resource_pool", NULL) != 0)
                 return (-1);
 
+        if (new_opt_str_prop_from_attr(pg, SCF_PROPERTY_SECFLAGS,
+            SCF_TYPE_ASTRING, ctx, "security_flags", NULL) != 0)
+                return (-1);
+
         for (cursor = ctx->xmlChildrenNode; cursor != NULL;
             cursor = cursor->next) {
                 if (lxml_ignorable_block(cursor))
                         continue;
 

@@ -1098,11 +1102,12 @@
                 return (-1);
 
         /*
          * There is a possibility that a method context also exists, in which
          * case the following attributes are defined: project, resource_pool,
-         * working_directory, profile, user, group, privileges, limit_privileges
+         * working_directory, profile, user, group, privileges,
+         * limit_privileges, security_flags
          */
         for (cursor = emeth->xmlChildrenNode; cursor != NULL;
             cursor = cursor->next) {
                 if (lxml_ignorable_block(cursor))
                         continue;

@@ -3351,11 +3356,12 @@
  * in early manifest import due to upgrade process needing
  * information that has not yet been supplied by manifests
  * that are still located in the /var/svc manifests directory.
  */
 static int
-lxml_check_upgrade(const char *service) {
+lxml_check_upgrade(const char *service)
+{
         scf_handle_t    *h = NULL;
         scf_scope_t     *sc = NULL;
         scf_service_t   *svc = NULL;
         scf_propertygroup_t     *pg = NULL;
         int rc = SCF_FAILED;