From: David Daney <ddaney.cavm@gmail.com>
To: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
Cc: linux-mips@linux-mips.org, Zubair.Kakakhel@imgtec.com,
david.daney@cavium.com, peterz@infradead.org,
paul.gortmaker@windriver.com, davidlohr@hp.com,
macro@linux-mips.org, chenhc@lemote.com, zajec5@gmail.com,
james.hogan@imgtec.com, keescook@chromium.org,
alex@alex-smith.me.uk, tglx@linutronix.de, blogic@openwrt.org,
jchandra@broadcom.com, paul.burton@imgtec.com,
qais.yousef@imgtec.com, linux-kernel@vger.kernel.org,
ralf@linux-mips.org, markos.chandras@imgtec.com,
manuel.lauss@gmail.com, akpm@linux-foundation.org,
lars.persson@axis.com
Subject: Re: [PATCH 2/3] MIPS: Setup an instruction emulation in VDSO protected page instead of user stack
Date: Mon, 06 Oct 2014 11:05:44 -0700 [thread overview]
Message-ID: <5432D9F8.9040004@gmail.com> (raw)
In-Reply-To: <20141004031730.28569.38511.stgit@linux-yegoshin>
On 10/03/2014 08:17 PM, Leonid Yegoshin wrote:
> Historically, during FPU emulation MIPS runs live BD-slot instruction in stack.
> This is needed because it was the only way to correctly handle branch
> exceptions with unknown COP2 instructions in BD-slot. Now there is
> an eXecuteInhibit feature and it is desirable to protect stack from execution
> for security reasons.
> This patch moves FPU emulation from stack area to VDSO-located page which is set
> write-protected for application access. VDSO page itself is now per-thread and
> it's addresses and offsets are stored in thread_info.
> Small stack of emulation blocks is supported because nested traps are possible
> in MIPS32/64 R6 emulation mix with FPU emulation.
>
Can you explain how this per-thread mapping works.
I am especially interested in what happens when a different thread from
the thread using the special mapping, issues flush_tlb_mm(), and
invalidates the TLBs on all CPUs. How does the TLB entry for the
special mapping survive this?
David Daney
next prev parent reply other threads:[~2014-10-06 18:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-04 3:17 [PATCH 0/3] MIPS executable stack protection Leonid Yegoshin
2014-10-04 3:17 ` [PATCH 1/3] MIPS: mips_flush_cache_range is added Leonid Yegoshin
2014-10-04 3:17 ` [PATCH 2/3] MIPS: Setup an instruction emulation in VDSO protected page instead of user stack Leonid Yegoshin
2014-10-04 20:00 ` Peter Zijlstra
2014-10-05 5:52 ` Leonid Yegoshin
2014-10-06 12:29 ` Paul Burton
2014-10-06 20:42 ` Leonid Yegoshin
2014-10-06 18:05 ` David Daney [this message]
2014-10-06 20:03 ` Leonid Yegoshin
2014-10-04 3:17 ` [PATCH 3/3] MIPS: set stack/data protection as non-executable Leonid Yegoshin
2014-10-04 8:23 ` [PATCH 0/3] MIPS executable stack protection Peter Zijlstra
2014-10-04 16:03 ` Linus Torvalds
2014-10-04 16:17 ` Leonid Yegoshin
2014-10-04 16:27 ` Linus Torvalds
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=5432D9F8.9040004@gmail.com \
--to=ddaney.cavm@gmail.com \
--cc=Leonid.Yegoshin@imgtec.com \
--cc=Zubair.Kakakhel@imgtec.com \
--cc=akpm@linux-foundation.org \
--cc=alex@alex-smith.me.uk \
--cc=blogic@openwrt.org \
--cc=chenhc@lemote.com \
--cc=david.daney@cavium.com \
--cc=davidlohr@hp.com \
--cc=james.hogan@imgtec.com \
--cc=jchandra@broadcom.com \
--cc=keescook@chromium.org \
--cc=lars.persson@axis.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=macro@linux-mips.org \
--cc=manuel.lauss@gmail.com \
--cc=markos.chandras@imgtec.com \
--cc=paul.burton@imgtec.com \
--cc=paul.gortmaker@windriver.com \
--cc=peterz@infradead.org \
--cc=qais.yousef@imgtec.com \
--cc=ralf@linux-mips.org \
--cc=tglx@linutronix.de \
--cc=zajec5@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).