[Bug 48410] New: The "Add syscall thunks for 64 bit" patch partly breaks USVFS
WineHQ Bugzilla
wine-bugs at winehq.org
Fri Jan 3 01:06:49 CST 2020
https://bugs.winehq.org/show_bug.cgi?id=48410
Bug ID: 48410
Summary: The "Add syscall thunks for 64 bit" patch partly
breaks USVFS
Product: Wine-staging
Version: 5.0-rc3
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs at winehq.org
Reporter: qsniyg at mail.com
CC: leslie_alistair at hotmail.com, z.figura12 at gmail.com
Distribution: ---
This is the patch that breaks USVFS:
https://github.com/wine-staging/wine-staging/blob/d36d63ac848dadbc2c8ffc933f7c044aa86b6d41/patches/winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
(discussion: https://github.com/ModOrganizer2/modorganizer/issues/372). I've
only tested 64-bit, so it's possible
https://github.com/wine-staging/wine-staging/blob/master/patches/winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
also affects it.
Although USVFS works for the most part, loading DLLs fails, because LdrLoadDll
(within ntdll) calls NtOpenFile (through open_dll_file), but for some reason,
USVFS doesn't recognize that specific NtOpenFile call (even though it hooks
other NtOpenFile calls that aren't called from ntdll without issue).
I haven't looked through the patch in much detail, but from what I can tell I
believe the reason why this patch breaks USVFS is because the calls to
NtOpenFile from within ntdll use the direct function address, whereas with the
patch, USVFS now hooks a new "wrapper" around the function, instead of the same
address that ntdll calls internally.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list