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;
+ CAP_SYS_ADMIN, VXC_SECURE_MOUNT);
}
- static inline bool may_mandlock(void)
+ #ifdef CONFIG_MANDATORY_FILE_LOCKING
@@ -2181,6 +2192,7 @@ static int do_change_type(struct path *p
if (err)
goto out_unlock;
+ 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
return sk;
@@ -1444,6 +1451,11 @@ static void __sk_destruct(struct rcu_hea
- put_pid(sk->sk_peer_pid);
+
if (likely(sk->sk_net_refcnt))
put_net(sock_net(sk));
+ vx_sock_dec(sk);