]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/mlock.c
dm: unplug queues in threads
[karo-tx-linux.git] / mm / mlock.c
index 4d3fea267e0dabde457091a2618a0efe8dba864d..7b2656055d6a96a6b940574e4d23f0a4fc7dd6bc 100644 (file)
@@ -244,9 +244,12 @@ int user_shm_lock(size_t size, struct user_struct *user)
 
        locked = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
        lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur;
+       if (lock_limit == RLIM_INFINITY)
+               allowed = 1;
        lock_limit >>= PAGE_SHIFT;
        spin_lock(&shmlock_user_lock);
-       if (locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK))
+       if (!allowed &&
+           locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK))
                goto out;
        get_uid(user);
        user->locked_shm += locked;