From: Jason Gunthorpe <jgg@mellanox.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
jackm@dev.mellanox.co.il, leonro@mellanox.com,
stable@vger.kernel.org
Subject: Re: FAILED: patch "[PATCH] IB/core: Make testing MR flags for writability a static" failed to apply to 4.4-stable tree
Date: Sun, 12 Aug 2018 11:06:07 -0600 [thread overview]
Message-ID: <20180812170607.GB1122@mellanox.com> (raw)
In-Reply-To: <20180812152810.GD30273@kroah.com>
On Sun, Aug 12, 2018 at 05:28:10PM +0200, Greg KH wrote:
> On Sun, Aug 12, 2018 at 02:56:49PM +0100, Sudip Mukherjee wrote:
> > Hi Greg,
> >
> > On Sun, Jul 01, 2018 at 11:37:25AM +0200, gregkh@linuxfoundation.org wrote:
> > >
> > > The patch below does not apply to the 4.4-stable tree.
> > > If someone wants it applied there, or to any other stable or longterm
> > > tree, then please email the backport, including the original git commit
> > > id to <stable@vger.kernel.org>.
> >
> > The attached backported patch should apply to 4.4-stable and also to
> > 4.9-stable.
> >
> > Though I am confused about why this should be in stable, unless some
> > later fix, required in stable, depends on this.
>
> That's a good question. Can some IB developer please answer this before
> I queue this up?
It is required for this upstream patch:
commit d8f9cc328c8888369880e2527e9186d745f2bbf6
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date: Wed May 23 15:30:31 2018 +0300
IB/mlx4: Mark user MR as writable if actual virtual memory is writable
To allow rereg_user_mr to modify the MR from read-only to writable without
using get_user_pages again, we needed to define the initial MR as writable.
However, this was originally done unconditionally, without taking into
account the writability of the underlying virtual memory.
As a result, any attempt to register a read-only MR over read-only
virtual memory failed.
To fix this, do not add the writable flag bit when the user virtual memory
is not writable (e.g. const memory).
However, when the underlying memory is NOT writable (and we therefore
do not define the initial MR as writable), the IB core adds a
"force writable" flag to its user-pages request. If this succeeds,
the reg_user_mr caller gets a writable copy of the original pages.
If the user-space caller then does a rereg_user_mr operation to enable
writability, this will succeed. This should not be allowed, since
the original virtual memory was not writable.
Cc: <stable@vger.kernel.org>
Fixes: 9376932d0c26 ("IB/mlx4_ib: Add support for user MR re-registration")
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
next prev parent reply other threads:[~2018-08-12 19:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-01 9:37 FAILED: patch "[PATCH] IB/core: Make testing MR flags for writability a static" failed to apply to 4.4-stable tree gregkh
2018-08-12 13:56 ` Sudip Mukherjee
2018-08-12 15:28 ` Greg KH
2018-08-12 17:06 ` Jason Gunthorpe [this message]
2018-08-12 17:49 ` Sudip Mukherjee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180812170607.GB1122@mellanox.com \
--to=jgg@mellanox.com \
--cc=gregkh@linuxfoundation.org \
--cc=jackm@dev.mellanox.co.il \
--cc=leonro@mellanox.com \
--cc=stable@vger.kernel.org \
--cc=sudipm.mukherjee@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).