Re: [PATCH v11 25/25] x86/cet/shstk: Add arch_prctl functions for shadow stack

From: Yu, Yu-cheng
Date: Tue Aug 25 2020 - 14:43:56 EST


On 8/24/2020 5:36 PM, Andy Lutomirski wrote:
On Mon, Aug 24, 2020 at 5:30 PM Yu-cheng Yu <yu-cheng.yu@xxxxxxxxx> wrote:

arch_prctl(ARCH_X86_CET_MMAP_SHSTK, u64 *args)
Allocate a new shadow stack.

The parameter 'args' is a pointer to a user buffer.

*args = desired size
*(args + 1) = MAP_32BIT or MAP_POPULATE

On returning, *args is the allocated shadow stack address.

This is hideous. Would this be better as a new syscall?

Could you point out why this is hideous, so that I can modify the arch_prctl?

I think this is more arch-specific. Even if it becomes a new syscall, we still need to pass the same parameters.

Yu-cheng