Re: [PATCH 18/35] mm: Add guard pages around a shadow stack.
From: Dave Hansen <hidden>
Date: 2022-02-10 22:43:49
Also in:
linux-arch, linux-doc, linux-mm, lkml
From: Dave Hansen <hidden>
Date: 2022-02-10 22:43:49
Also in:
linux-arch, linux-doc, linux-mm, lkml
On 1/30/22 13:18, Rick Edgecombe wrote:
INCSSP(Q/D) increments shadow stack pointer and 'pops and discards' the first and the last elements in the range, effectively touches those memory areas. The maximum moving distance by INCSSPQ is 255 * 8 = 2040 bytes and 255 * 4 = 1020 bytes by INCSSPD. Both ranges are far from PAGE_SIZE. Thus, putting a gap page on both ends of a shadow stack prevents INCSSP, CALL, and RET from going beyond.
What is the downside of not applying this patch? The shadow stack gap is 1MB instead of 4k? That, frankly, doesn't seem too bad. How badly do we *need* this patch?