[PATCH 4/4] ntdll: Guard against syscall stack overrun.
Jin-oh Kang
jinoh.kang.kr at gmail.com
Mon Apr 11 20:23:11 CDT 2022
On Mon, Apr 11, 2022, 7:27 PM Paul Gofman <pgofman at codeweavers.com> wrote:
> Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
> ---
> dlls/ntdll/unix/signal_arm.c | 4 ++++
> dlls/ntdll/unix/signal_arm64.c | 4 ++++
> dlls/ntdll/unix/signal_i386.c | 4 ++++
> dlls/ntdll/unix/signal_x86_64.c | 4 ++++
> dlls/ntdll/unix/thread.c | 3 ++-
> dlls/ntdll/unix/unix_private.h | 10 +++++++++-
> dlls/ntdll/unix/virtual.c | 5 +++++
> 7 files changed, 32 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c
> index 1fea76f6563..1c03b707890 100644
> --- a/dlls/ntdll/unix/signal_arm.c
> +++ b/dlls/ntdll/unix/signal_arm.c
> @@ -780,6 +780,10 @@ static BOOL handle_syscall_fault( ucontext_t
> *context, EXCEPTION_RECORD *rec )
> (DWORD)IP_sig(context), (DWORD)SP_sig(context),
> (DWORD)LR_sig(context),
> (DWORD)PC_sig(context), (DWORD)CPSR_sig(context) );
>
> + if (rec->ExceptionCode == STATUS_ACCESS_VIOLATION
> + && is_inside_syscall_stack_guard( (char
> *)rec->ExceptionInformation[1] ))
> + ERR_(seh)( "Syscall stack overrun.\n ");
> +
>
Would it be a good idea to let it grow instead? Instead of, or in addition
to, the increased 1M stack limit.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20220412/682e7cd4/attachment.htm>
More information about the wine-devel
mailing list