Linux 3.2.102
[pandora-kernel.git] / ipc / util.c
index 75261a3..e4c9377 100644 (file)
@@ -264,6 +264,10 @@ int ipc_addid(struct ipc_ids* ids, struct kern_ipc_perm* new, int size)
        rcu_read_lock();
        spin_lock(&new->lock);
 
+       current_euid_egid(&euid, &egid);
+       new->cuid = new->uid = euid;
+       new->gid = new->cgid = egid;
+
        err = idr_get_new(&ids->ipcs_idr, new, &id);
        if (err) {
                spin_unlock(&new->lock);
@@ -273,10 +277,6 @@ int ipc_addid(struct ipc_ids* ids, struct kern_ipc_perm* new, int size)
 
        ids->in_use++;
 
-       current_euid_egid(&euid, &egid);
-       new->cuid = new->uid = euid;
-       new->gid = new->cgid = egid;
-
        new->seq = ids->seq++;
        if(ids->seq > ids->seq_max)
                ids->seq = 0;