[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <de042465-e9b9-3782-00ce-38943053c7b6@talpey.com>
Date: Sun, 23 Sep 2018 21:00:03 -0700
From: Tom Talpey <tom@...pey.com>
To: Stefan Metzmacher <metze@...ba.org>,
Long Li <longli@...hange.microsoft.com>,
Steve French <sfrench@...ba.org>, linux-cifs@...r.kernel.org,
samba-technical@...ts.samba.org, linux-kernel@...r.kernel.org,
linux-rdma@...r.kernel.org, Christoph Hellwig <hch@...radead.org>,
Tom Talpey <ttalpey@...rosoft.com>,
Matthew Wilcox <mawilcox@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>
Subject: Re: [Patch v7 21/22] CIFS: SMBD: Upper layer performs SMB read via
RDMA write through memory registration
On 9/23/2018 2:24 PM, Stefan Metzmacher wrote:
> Hi Tom,
>
>>> I just tested that setting:
>>>
>>> mr->iova &= (PAGE_SIZE - 1);
>>> mr->iova |= 0xFFFFFFFF00000000;
>>>
>>> after the ib_map_mr_sg() and before doing the IB_WR_REG_MR, seems to
>>> work.
>>
>> Good! As you know, we were concerned about it after seeing that
>> the ib_dma_map_sg() code was unconditionally setting it to the
>> dma_mapped address. By salting those FFFF's with varying data,
>> this should give your FRWR regions stronger integrity in addition
>> to not leaking kernel "addresses" to the wire.
>
> Just wondering... Isn't the thing we use called FRMR?
They're basically the same concept, it's a subtle difference.
FRMR = Fast Register Memory Region
FRWR = Fast Register Work Request
The memory region is the mr itself, this is created early on.
The work request is built when actually binding the physical
pages to the region, and setting the offset, length, etc, which
is what's happening in the routine that I made the comment on.
So, for this discussion I chose to say FRWR. Sorry for any
confusion!
Tom.
Powered by blists - more mailing lists