Message ID | 1444918916-17928-1-git-send-email-j.glisse@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
On 10/15/2015 10:21 AM, j.glisse@gmail.com wrote: > From: Jérôme Glisse <jglisse@redhat.com> > > It can be rather tedious to find why userspace is failing when only > thing kernel report is -ENOMEM. This add an error message so that > user can figure out why they are getting -ENOMEM. > > Signed-off-by: Jérôme Glisse <jglisse@redhat.com> > cc: <linux-rdma@vger.kernel.org> > Cc: Haggai Eran <haggaie@mellanox.com> > Cc: Sagi Grimberg <sagig@mellanox.com> > Cc: Shachar Raindel <raindel@mellanox.com> > Cc: Doug Ledford <dledford@redhat.com> > --- > drivers/infiniband/core/umem.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c > index 38acb3c..a66929e 100644 > --- a/drivers/infiniband/core/umem.c > +++ b/drivers/infiniband/core/umem.c > @@ -169,6 +169,7 @@ struct ib_umem *ib_umem_get(struct ib_ucontext *context, unsigned long addr, > lock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; > > if ((locked > lock_limit) && !capable(CAP_IPC_LOCK)) { > + pr_err("locked memory quota exhausted (see ulimit -l)\n"); > ret = -ENOMEM; > goto out; > } > This looks like it could easily cause a flood of messages (possibly even enough to DoS the machine). Please convert this to some sort of rate limited output (preferably, you would issue this warning only once per task, and the error would include the command name).
diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c index 38acb3c..a66929e 100644 --- a/drivers/infiniband/core/umem.c +++ b/drivers/infiniband/core/umem.c @@ -169,6 +169,7 @@ struct ib_umem *ib_umem_get(struct ib_ucontext *context, unsigned long addr, lock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; if ((locked > lock_limit) && !capable(CAP_IPC_LOCK)) { + pr_err("locked memory quota exhausted (see ulimit -l)\n"); ret = -ENOMEM; goto out; }