[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YQmDZpbCy3uTS5jv@unreal>
Date: Tue, 3 Aug 2021 20:56:54 +0300
From: Leon Romanovsky <leon@...nel.org>
To: Jason Gunthorpe <jgg@...dia.com>
Cc: Li Zhijian <lizhijian@...fujitsu.com>, dledford@...hat.com,
linux-rdma@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] RDMA/mlx5: return the EFAULT per ibv_advise_mr(3)
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:
> > 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
Powered by blists - more mailing lists