Set uid/gid on ssvm segment file.
[vpp.git] / src / svm / svm.c
index 14c5bd9..f97803c 100644 (file)
@@ -471,7 +471,7 @@ svm_map_region (svm_map_region_args_t * a)
 
   if (svm_fd >= 0)
     {
-      if (fchmod (svm_fd, 0770) < 0)
+      if (fchmod (svm_fd, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP) < 0)
        clib_unix_warning ("segment chmod");
       /* This turns out to fail harmlessly if the client starts first */
       if (fchown (svm_fd, a->uid, a->gid) < 0)
@@ -774,6 +774,8 @@ svm_region_init_internal (svm_map_region_args_t * a)
       vec_validate (mp, 0);
       mp->name_hash = hash_create_string (0, sizeof (uword));
       mp->root_path = a->root_path ? format (0, "%s%c", a->root_path, 0) : 0;
+      mp->uid = a->uid;
+      mp->gid = a->gid;
       rp->data_base = mp;
       svm_pop_heap (oldheap);
     }