Re: [PATCH] RDMA/mlx5: return the EFAULT per ibv_advise_mr(3)
From: lizhijian@fujitsu.com <hidden>
Date: 2021-08-16 03:06:45
Also in:
lkml
On 05/08/2021 14:43, Leon Romanovsky wrote:
On Wed, Aug 04, 2021 at 03:50:22PM -0300, Jason Gunthorpe wrote:quoted
On Wed, Aug 04, 2021 at 08:35:30AM +0300, Leon Romanovsky wrote:quoted
On Tue, Aug 03, 2021 at 03:13:41PM -0300, Jason Gunthorpe wrote:quoted
On Tue, Aug 03, 2021 at 08:56:54PM +0300, Leon Romanovsky wrote:quoted
On Tue, Aug 03, 2021 at 01:25:07PM -0300, Jason Gunthorpe wrote:quoted
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 conditionsNo, get_prefetchable_mr() returns NULL if the mkey is invalidAnd 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 }I would say that is an invalid mkeyI see it is as wrong write access.It just means the man page is wrongok, it can be a solution too.
It sounds good. I will try to update the manpage ibv_advise_mr(3) instead. Thanks Zhijian