diff --git a/patches/ntoskrnl-safedisc-2/0004-server-Return-the-driver-s-Information-from-ioctl.patch b/patches/ntoskrnl-safedisc-2/0004-server-Return-the-driver-s-Information-from-ioctl.patch deleted file mode 100644 index 62e9bcc6..00000000 --- a/patches/ntoskrnl-safedisc-2/0004-server-Return-the-driver-s-Information-from-ioctl.patch +++ /dev/null @@ -1,56 +0,0 @@ -From d60f2de8b419618674457e5539b081421c110f1e Mon Sep 17 00:00:00 2001 -From: Chip Davis -Date: Sat, 14 Dec 2019 01:58:26 -0600 -Subject: [PATCH 4/4] server: Return the driver's 'Information' from ioctl. - -This actually shouldn't matter for driver modules, since those always -call out to another process, but it seems more correct. - -Signed-off-by: Chip Davis ---- - dlls/ntdll/file.c | 2 +- - server/fd.c | 2 +- - server/protocol.def | 1 + - 3 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c -index 26acc066cd..087a92cda2 100644 ---- a/dlls/ntdll/file.c -+++ b/dlls/ntdll/file.c -@@ -1536,7 +1536,7 @@ static NTSTATUS server_ioctl_file( HANDLE handle, HANDLE event, - if (wait_handle && status != STATUS_PENDING) - { - io->u.Status = status; -- io->Information = wine_server_reply_size( reply ); -+ io->Information = reply->size; - } - } - SERVER_END_REQ; -diff --git a/server/fd.c b/server/fd.c -index 5d80e218b9..dbfb65abd0 100644 ---- a/server/fd.c -+++ b/server/fd.c -@@ -2579,7 +2579,7 @@ DECL_HANDLER(ioctl) - - if ((async = create_request_async( fd, fd->comp_flags, &req->async ))) - { -- reply->wait = async_handoff( async, fd->fd_ops->ioctl( fd, req->code, async ), NULL, 0 ); -+ reply->wait = async_handoff( async, fd->fd_ops->ioctl( fd, req->code, async ), &reply->size, 0 ); - reply->options = fd->options; - release_object( async ); - } -diff --git a/server/protocol.def b/server/protocol.def -index 6c44b2b43f..f1f694bf96 100644 ---- a/server/protocol.def -+++ b/server/protocol.def -@@ -2484,6 +2484,7 @@ enum message_type - @REPLY - obj_handle_t wait; /* handle to wait on for blocking ioctl */ - unsigned int options; /* device open options */ -+ data_size_t size; /* result size */ - VARARG(out_data,bytes); /* ioctl output data */ - @END - --- -2.17.1 - diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 43f71d73..5866ffa4 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -5300,19 +5300,16 @@ fi # | * [#30155] Improve support for SafeDisc v2.05.030 # | # | Modified files: -# | * dlls/ntdll/file.c, dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/tests/ntoskrnl.c, server/device.c, server/fd.c, -# | server/protocol.def +# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/tests/ntoskrnl.c, server/device.c # | if test "$enable_ntoskrnl_safedisc_2" -eq 1; then patch_apply ntoskrnl-safedisc-2/0001-ntoskrnl.exe-Return-driver-dispatch-result-to-caller.patch patch_apply ntoskrnl-safedisc-2/0002-ntoskrnl.exe-Always-copy-the-buffer-for-non-METHOD_B.patch patch_apply ntoskrnl-safedisc-2/0003-server-Delay-completing-a-synchronous-IRP.patch - patch_apply ntoskrnl-safedisc-2/0004-server-Return-the-driver-s-Information-from-ioctl.patch ( printf '%s\n' '+ { "Chip Davis", "ntoskrnl.exe: Return driver dispatch result to caller.", 1 },'; printf '%s\n' '+ { "Chip Davis", "ntoskrnl.exe: Always copy the buffer for non-METHOD_BUFFERED ioctls.", 1 },'; printf '%s\n' '+ { "Chip Davis", "server: Delay completing a synchronous IRP.", 1 },'; - printf '%s\n' '+ { "Chip Davis", "server: Return the driver'\''s '\''Information'\'' from ioctl.", 1 },'; ) >> "$patchlist" fi