[ofa-general] ib_umem_get lock_limiting...
Arthur Jones
arthur.jones at qlogic.com
Thu Aug 16 12:40:31 PDT 2007
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
More information about the general
mailing list