hi all, in ib_umem_get() in drivers/infiniband/core/umem.c in the kernel.org
driver at around line 115, we:

        locked     = npages + current->mm->locked_vm;
        lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur >> 
PAGE_SHIFT;

        if ((locked > lock_limit) && !capable(CAP_IPC_LOCK)) {
                ret = -ENOMEM;
                goto out;
        }


the calculation looks ok, but it looks to me like
the && should be an || in the test, esp since earlier
in the routine, we do an:

        if (!can_do_mlock())
                return ERR_PTR(-EPERM);

so, maybe the !capable(CAP_IPC_LOCK) should not be
there at all?

arthur

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to