You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Removed several patches (accepted upstream).
This commit is contained in:
@@ -1,41 +0,0 @@
|
||||
From 9adae8afba3818e91532cc84cdfe350d27aa0434 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 4 Oct 2014 02:48:16 +0200
|
||||
Subject: ntdll: Fix handling of page fault if a guard page and write watch is
|
||||
triggered at the same time.
|
||||
|
||||
---
|
||||
dlls/ntdll/virtual.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index 4819d2d..f8a5dd3 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -1522,11 +1522,6 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err )
|
||||
{
|
||||
void *page = ROUND_ADDR( addr, page_mask );
|
||||
BYTE *vprot = &view->prot[((const char *)page - (const char *)view->base) >> page_shift];
|
||||
- if (*vprot & VPROT_GUARD)
|
||||
- {
|
||||
- VIRTUAL_SetProt( view, page, page_size, *vprot & ~VPROT_GUARD );
|
||||
- ret = STATUS_GUARD_PAGE_VIOLATION;
|
||||
- }
|
||||
if ((err & EXCEPTION_WRITE_FAULT) && (view->protect & VPROT_WRITEWATCH))
|
||||
{
|
||||
if (*vprot & VPROT_WRITEWATCH)
|
||||
@@ -1537,6 +1532,11 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err )
|
||||
/* ignore fault if page is writable now */
|
||||
if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
|
||||
}
|
||||
+ if (*vprot & VPROT_GUARD)
|
||||
+ {
|
||||
+ VIRTUAL_SetProt( view, page, page_size, *vprot & ~VPROT_GUARD );
|
||||
+ ret = STATUS_GUARD_PAGE_VIOLATION;
|
||||
+ }
|
||||
}
|
||||
server_leave_uninterrupted_section( &csVirtual, &sigset );
|
||||
return ret;
|
||||
--
|
||||
2.1.1
|
||||
|
@@ -1,27 +0,0 @@
|
||||
From da712e7425c012b55cda572e7e57545b7cd86314 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 4 Oct 2014 02:51:51 +0200
|
||||
Subject: ntdll: Wait until builtin dlls are unloaded before releasing the
|
||||
virtual view.
|
||||
|
||||
---
|
||||
dlls/ntdll/loader.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 18ae29c..f0fb1f2 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -2641,8 +2641,8 @@ static void free_modref( WINE_MODREF *wm )
|
||||
|
||||
free_tls_slot( &wm->ldr );
|
||||
RtlReleaseActivationContext( wm->ldr.ActivationContext );
|
||||
- NtUnmapViewOfSection( NtCurrentProcess(), wm->ldr.BaseAddress );
|
||||
if (wm->ldr.Flags & LDR_WINE_INTERNAL) wine_dll_unload( wm->ldr.SectionHandle );
|
||||
+ NtUnmapViewOfSection( NtCurrentProcess(), wm->ldr.BaseAddress );
|
||||
if (cached_modref == wm) cached_modref = NULL;
|
||||
RtlFreeUnicodeString( &wm->ldr.FullDllName );
|
||||
RtlFreeHeap( GetProcessHeap(), 0, wm->deps );
|
||||
--
|
||||
2.1.1
|
||||
|
Reference in New Issue
Block a user