Thread (13 messages) flat view 13 messages, 4 authors, 2021-08-28

Re: [PATCH] RDMA/mlx5: return the EFAULT per ibv_advise_mr(3)

From: Leon Romanovsky <leon@kernel.org>
Date: 2021-08-03 17:57:00
Also in: lkml

On Tue, Aug 03, 2021 at 01:25:07PM -0300, Jason Gunthorpe wrote:
On Sun, Aug 01, 2021 at 05:20:50PM +0800, Li Zhijian wrote:
quoted
ibv_advise_mr(3) says:
EFAULT In one of the following: o When the range requested is out of the  MR  bounds,
       or  when  parts of it are not part of the process address space. o One of the
       lkeys provided in the scatter gather list is invalid or with wrong write access

Actually get_prefetchable_mr() will return NULL if it see above conditions
No, get_prefetchable_mr() returns NULL if the mkey is invalid
And what is this?
  1701 static struct mlx5_ib_mr *                         
  1702 get_prefetchable_mr(struct ib_pd *pd, enum ib_uverbs_advise_mr_advice advice,
  1703                     u32 lkey)

...

  1721         /* prefetch with write-access must be supported by the MR */
  1722         if (advice == IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE &&
  1723             !mr->umem->writable) {
  1724                 mr = NULL;
  1725                 goto end;
  1726         }

The above is talking about the address, which is checked inside
pagefault_mr() and does return EFAULT for all the cases I can see?

Jason
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help