Messages in this thread Patch in this message | | | From | microcai <> | Subject | [PATCH] [ipc/shm] make shmget with IPC_PRIVATE initially created with SHM_DEST | Date | Fri, 3 Aug 2012 20:13:10 +0800 |
| |
The problem is SysV SHM is that , it will cause kernel resource leak. Initailly set shm mode to SHM_DEST when create with key_t IPC_PRIVATE, then the resource leak is fixed.
If program want the shmid live longer, they will probably use non IPC_PRIVATE nor call shmctl that remove SHM_DEST bit. --- ipc/shm.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/ipc/shm.c b/ipc/shm.c index 41c1285..1abc031 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -480,6 +480,8 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) shp->shm_perm.key = key; shp->shm_perm.mode = (shmflg & S_IRWXUGO); + if(key == IPC_PRIVATE) + shp->shm_perm.mode |= SHM_DEST; shp->mlock_user = NULL; shp->shm_perm.security = NULL; -- 1.7.8.6
| |