lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 4 Aug 2021 15:50:22 -0300
From:   Jason Gunthorpe <jgg@...dia.com>
To:     Leon Romanovsky <leon@...nel.org>
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 Wed, Aug 04, 2021 at 08:35:30AM +0300, Leon Romanovsky wrote:
> On Tue, Aug 03, 2021 at 03:13:41PM -0300, Jason Gunthorpe wrote:
> > On Tue, Aug 03, 2021 at 08:56:54PM +0300, Leon Romanovsky wrote:
> > > 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         }
> > 
> > I would say that is an invalid mkey
> 
> I see it is as wrong write access.

It just means the man page is wrong

Jason

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ