From: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
To: Paul Burton <paul.burton@mips.com>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>,
Paul Burton <pburton@wavecomp.com>,
Andy Lutomirski <luto@kernel.org>,
"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Rich Felker <dalias@libc.org>,
David Daney <david.daney@cavium.com>
Subject: Re: [4.9 PATCH] MIPS: math-emu: Write-protect delay slot emulation pages
Date: Thu, 10 Jan 2019 20:09:21 +0100 [thread overview]
Message-ID: <20190110190921.GA18221@kroah.com> (raw)
In-Reply-To: <20190110174724.24713-1-paul.burton@mips.com>
On Thu, Jan 10, 2019 at 05:47:42PM +0000, Paul Burton wrote:
> commit adcc81f148d733b7e8e641300c5590a2cdc13bf3 upstream.
>
> Mapping the delay slot emulation page as both writeable & executable
> presents a security risk, in that if an exploit can write to & jump into
> the page then it can be used as an easy way to execute arbitrary code.
>
> Prevent this by mapping the page read-only for userland, and using
> access_process_vm() with the FOLL_FORCE flag to write to it from
> mips_dsemul().
>
> This will likely be less efficient due to copy_to_user_page() performing
> cache maintenance on a whole page, rather than a single line as in the
> previous use of flush_cache_sigtramp(). However this delay slot
> emulation code ought not to be running in any performance critical paths
> anyway so this isn't really a problem, and we can probably do better in
> copy_to_user_page() anyway in future.
>
> A major advantage of this approach is that the fix is small & simple to
> backport to stable kernels.
>
> Reported-by: Andy Lutomirski <luto@kernel.org>
> Signed-off-by: Paul Burton <paul.burton@mips.com>
> Fixes: 432c6bacbd0c ("MIPS: Use per-mm page to execute branch delay slot instructions")
> Cc: stable@vger.kernel.org # v4.8+
> Cc: linux-mips@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: Rich Felker <dalias@libc.org>
> Cc: David Daney <david.daney@cavium.com>
> ---
> arch/mips/kernel/vdso.c | 4 ++--
> arch/mips/math-emu/dsemul.c | 38 +++++++++++++++++++------------------
> 2 files changed, 22 insertions(+), 20 deletions(-)
>
Thanks for the backport, now queued up.
greg k-h
prev parent reply other threads:[~2019-01-10 19:09 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-07 8:48 FAILED: patch "[PATCH] MIPS: math-emu: Write-protect delay slot emulation pages" failed to apply to 4.9-stable tree gregkh
2019-01-10 17:47 ` [4.9 PATCH] MIPS: math-emu: Write-protect delay slot emulation pages Paul Burton
2019-01-10 19:09 ` gregkh [this message]
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=20190110190921.GA18221@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=dalias@libc.org \
--cc=david.daney@cavium.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=luto@kernel.org \
--cc=paul.burton@mips.com \
--cc=pburton@wavecomp.com \
--cc=stable@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.