Thread (98 messages) 98 messages, 13 authors, 2018-06-26

Re: [PATCH 00/10] Control Flow Enforcement - Part (3)

From: Yu-cheng Yu <hidden>
Date: 2018-06-14 14:59:35
Also in: linux-doc, linux-mm, lkml

On Thu, 2018-06-14 at 11:07 +1000, Balbir Singh wrote:
On Tue, 2018-06-12 at 08:03 -0700, Yu-cheng Yu wrote:
quoted
On Tue, 2018-06-12 at 20:56 +1000, Balbir Singh wrote:
quoted
On 08/06/18 00:37, Yu-cheng Yu wrote:
quoted
This series introduces CET - Shadow stack

At the high level, shadow stack is:

	Allocated from a task's address space with vm_flags VM_SHSTK;
	Its PTEs must be read-only and dirty;
	Fixed sized, but the default size can be changed by sys admin.

For a forked child, the shadow stack is duplicated when the next
shadow stack access takes place.

For a pthread child, a new shadow stack is allocated.

The signal handler uses the same shadow stack as the main program.
Even with sigaltstack()?
Yes.
I am not convinced that it would work, as we switch stacks, oveflow might
be an issue. I also forgot to bring up setcontext(2), I presume those
will get new shadow stacks
Do you mean signal stack/sigaltstack overflow or swapcontext in a signal
handler?

Yu-cheng
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help