diff -urNpd linux-3.10.17-vs2.3.6.6/init/main.c linux-3.10.17-vs2.3.6.6-fixed/init/main.c --- linux-3.10.17-vs2.3.6.6/init/main.c 2013-10-18 22:45:21.000000000 -0500 +++ linux-3.10.17-vs2.3.6.6-fixed/init/main.c 2013-10-18 23:34:43.000000000 -0500 @@ -75,6 +75,7 @@ #include #include #include +#include #include #include diff -urNpd linux-3.10.17-vs2.3.6.6/ipc/sem.c linux-3.10.17-vs2.3.6.6-fixed/ipc/sem.c --- linux-3.10.17-vs2.3.6.6/ipc/sem.c 2013-10-19 00:12:10.000000000 -0500 +++ linux-3.10.17-vs2.3.6.6-fixed/ipc/sem.c 2013-10-18 23:54:15.000000000 -0500 @@ -1109,6 +1109,9 @@ static void freeary(struct ipc_namespace wake_up_sem_queue_do(&tasks); ns->used_sems -= sma->sem_nsems; + /* FIXME: obsoleted? */ + vx_nsems_sub(sma, sma->sem_nsems); + vx_semary_dec(sma); ipc_rcu_putref(sma, sem_rcu_free); } diff -urNpd linux-3.10.17-vs2.3.6.6/ipc/shm.c linux-3.10.17-vs2.3.6.6-fixed/ipc/shm.c --- linux-3.10.17-vs2.3.6.6/ipc/shm.c 2013-10-19 00:12:10.000000000 -0500 +++ linux-3.10.17-vs2.3.6.6-fixed/ipc/shm.c 2013-10-19 00:07:50.000000000 -0500 @@ -224,6 +224,7 @@ static void shm_destroy(struct ipc_names user_shm_unlock(file_inode(shp->shm_file)->i_size, shp->mlock_user); fput (shp->shm_file); + put_vx_info(vxi); ipc_rcu_putref(shp, shm_rcu_free); } @@ -578,6 +579,7 @@ static int newseg(struct ipc_namespace * ipc_unlock_object(&shp->shm_perm); rcu_read_unlock(); + vx_ipcshm_add(current_vx_info(), key, numpages); return error; no_id: