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

From: Yu-cheng Yu
Date: Tue Jun 26 2018 - 11:00:12 EST


On Tue, 2018-06-26 at 04:46 +0200, Jann Horn wrote:
> On Tue, Jun 26, 2018 at 4:45 AM Yu-cheng Yu <yu-cheng.yu@xxxxxxxxx>
> wrote:
> >
> >
> > 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.
> >
> > Yu-cheng Yu (10):
> > Â x86/cet: User-mode shadow stack support
> > Â x86/cet: Introduce WRUSS instruction
> > Â x86/cet: Signal handling for shadow stack
> > Â x86/cet: Handle thread shadow stack
> > Â x86/cet: ELF header parsing of Control Flow Enforcement
> > Â x86/cet: Add arch_prctl functions for shadow stack
> > Â mm: Prevent mprotect from changing shadow stack
> > Â mm: Prevent mremap of shadow stack
> > Â mm: Prevent madvise from changing shadow stack
> > Â mm: Prevent munmap and remap_file_pages of shadow stack
> Shouldn't patches like these be CC'ed to linux-api@xxxxxxxxxxxxxxx?

Yes, I will do that.

Thanks,
Yu-cheng