if (ret)
break;
@@ -203,6 +206,8 @@ SYSCALL_DEFINE2(ioprio_get, int, which,
- else
pgrp = find_vpid(who);
+ read_lock(&tasklist_lock);
do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
+ if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
+ continue;
+ vx_ipcshm_sub(vxi, shp, numpages);
+ ns->shm_tot -= numpages;
+
- shm_rmid(ns, shp);
+ shm_rmid(shp);
shm_unlock(shp);
if (!is_file_hugepages(shm_file))
@@ -246,6 +252,7 @@ static void shm_destroy(struct ipc_names