RDMA: Use rlimit helpers
Make sure compiler won't do weird things with limits by using the
rlimit helpers added in 3e10e716
("resource: add helpers for fetching
rlimits"). E.g. fetching them twice may return 2 different values
after writable limits are implemented.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
committed by
Roland Dreier
parent
676ad58553
commit
ccbe9f0b11
@@ -136,7 +136,7 @@ struct ib_umem *ib_umem_get(struct ib_ucontext *context, unsigned long addr,
|
|||||||
down_write(¤t->mm->mmap_sem);
|
down_write(¤t->mm->mmap_sem);
|
||||||
|
|
||||||
locked = npages + current->mm->locked_vm;
|
locked = npages + current->mm->locked_vm;
|
||||||
lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur >> PAGE_SHIFT;
|
lock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT;
|
||||||
|
|
||||||
if ((locked > lock_limit) && !capable(CAP_IPC_LOCK)) {
|
if ((locked > lock_limit) && !capable(CAP_IPC_LOCK)) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
@@ -59,8 +59,7 @@ static int __get_user_pages(unsigned long start_page, size_t num_pages,
|
|||||||
size_t got;
|
size_t got;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur >>
|
lock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT;
|
||||||
PAGE_SHIFT;
|
|
||||||
|
|
||||||
if (num_pages > lock_limit) {
|
if (num_pages > lock_limit) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
Reference in New Issue
Block a user