summarylogtreecommitdiffstats
path: root/0008-ntdll-nopguard-call_vectored_handlers.patch
diff options
context:
space:
mode:
Diffstat (limited to '0008-ntdll-nopguard-call_vectored_handlers.patch')
-rw-r--r--0008-ntdll-nopguard-call_vectored_handlers.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/0008-ntdll-nopguard-call_vectored_handlers.patch b/0008-ntdll-nopguard-call_vectored_handlers.patch
new file mode 100644
index 000000000000..ffb1d22dff42
--- /dev/null
+++ b/0008-ntdll-nopguard-call_vectored_handlers.patch
@@ -0,0 +1,14 @@
+diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c
+index fc3e8982a98..a975e5c897a 100644
+--- a/dlls/ntdll/exception.c
++++ b/dlls/ntdll/exception.c
+@@ -168,7 +168,9 @@ LONG call_vectored_handlers( EXCEPTION_RECORD *rec, CONTEXT *context )
+
+ TRACE( "calling handler at %p code=%lx flags=%lx\n",
+ func, rec->ExceptionCode, rec->ExceptionFlags );
++ __asm__ __volatile__(".rept 16 ; nop ; .endr");
+ ret = func( &except_ptrs );
++ __asm__ __volatile__(".rept 16 ; nop ; .endr");
+ TRACE( "handler at %p returned %lx\n", func, ret );
+
+ RtlEnterCriticalSection( &vectored_handlers_section );