Re: [PATCH v3 3/4] x86/signal: Prevent an alternate stack overflow before a signal delivery
From: Jann Horn <jannh@google.com>
Date: 2020-12-23 06:56:49
Also in:
linux-arch, lkml
From: Jann Horn <jannh@google.com>
Date: 2020-12-23 06:56:49
Also in:
linux-arch, lkml
On Wed, Dec 23, 2020 at 2:57 AM Chang S. Bae [off-list ref] wrote:
The kernel pushes data on the userspace stack when entering a signal. If using a sigaltstack(), the kernel precisely knows the user stack size. When the kernel knows that the user stack is too small, avoid the overflow and do an immediate SIGSEGV instead. This overflow is known to occur on systems with large XSAVE state. The effort to increase the size typically used for altstacks reduces the frequency of these overflows, but this approach is still useful for legacy binaries. Suggested-by: Jann Horn <jannh@google.com> Signed-off-by: Chang S. Bae <redacted> Reviewed-by: Len Brown <redacted> Cc: Jann Horn <jannh@google.com> Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org
Reviewed-by: Jann Horn <jannh@google.com>