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: 21+ 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 ` Leonid Yegoshin
2014-10-04 3:17 ` [PATCH 1/3] MIPS: mips_flush_cache_range is added Leonid Yegoshin
2014-10-04 3:17 ` 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 3:17 ` 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 12:29 ` Paul Burton
2014-10-06 20:42 ` Leonid Yegoshin
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-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 3:17 ` 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 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.