X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ipc%2Fshm.c;h=a86a3a5c8a19589698dc8b9ec555e1d98891466d;hb=7616ee95f27a04fd5a6434e9ef4a82cec4b2807c;hp=d88ac5a07ec72464266227856238964595303825;hpb=2e92a3baee64112fd210a930276bad165b0bd576;p=linux-2.6 diff --git a/ipc/shm.c b/ipc/shm.c index d88ac5a07e..a86a3a5c8a 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -716,7 +716,7 @@ asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds __user *buf) struct user_struct * user = current->user; if (!is_file_hugepages(shp->shm_file)) { err = shmem_lock(shp->shm_file, 1, user); - if (!err) { + if (!err && !(shp->shm_perm.mode & SHM_LOCKED)){ shp->shm_perm.mode |= SHM_LOCKED; shp->mlock_user = user; }