Re: [PATCH 00/10] Control Flow Enforcement - Part (3)
From: Yu-cheng Yu <hidden>
Date: 2018-06-12 16:24:43
Also in:
linux-arch, linux-mm, lkml
On Tue, 2018-06-12 at 09:00 -0700, Andy Lutomirski wrote:
On Tue, Jun 12, 2018 at 8:06 AM Yu-cheng Yu [off-list ref] 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()? Balbir Singh.Yes.I think we're going to need some provision to add an alternate signal stack to handle the case where the shadow stack overflows.
The shadow stack stores only return addresses; its consumption will not exceed a percentage of (program stack size + sigaltstack size) before those overflow. When that happens, there is usually very little we can do. So we set a default shadow stack size that supports certain nested calls and allow sys admin to adjust it. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html