if (ret != 0)
return ret;
sfd->vm_ops = vma->vm_ops;
+#ifdef CONFIG_MMU
BUG_ON(!sfd->vm_ops->fault);
+#endif
vma->vm_ops = &shm_vm_ops;
shm_open(vma);
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;
}