Fix KDBG and enable IRP_NOCACHE for ReadFile. Also disable SEH for
Buffer since PRobeForWrite has a bug and cannot probe past a page
Modified: trunk/reactos/ntoskrnl/io/file.c
Modified: trunk/reactos/ntoskrnl/kdbg/kdb_symbols.c
_____
Modified: trunk/reactos/ntoskrnl/io/file.c
--- trunk/reactos/ntoskrnl/io/file.c 2005-05-09 01:06:39 UTC (rev
15162)
+++ trunk/reactos/ntoskrnl/io/file.c 2005-05-09 01:14:42 UTC (rev
15163)
@@ -2457,9 +2457,11 @@
ProbeForWrite(IoStatusBlock,
sizeof(IO_STATUS_BLOCK),
sizeof(ULONG));
+ #if 0
ProbeForWrite(Buffer,
Length,
sizeof(ULONG));
+ #endif
}
_SEH_HANDLE
{
@@ -2570,17 +2572,8 @@
Irp->Overlay.AsynchronousParameters.UserApcRoutine = ApcRoutine;
Irp->Overlay.AsynchronousParameters.UserApcContext = ApcContext;
Irp->Flags |= IRP_READ_OPERATION;
+ if (FileObject->Flags & FO_NO_INTERMEDIATE_BUFFERING) Irp->Flags |=
IRP_NOCACHE;
- /* FIXME: KDBG is using this flag and not reading from
cluster-aligned. Investigate. */
-#if 0
- if (FileObject->Flags & FO_NO_INTERMEDIATE_BUFFERING)
- {
- DbgBreakPoint();
- Irp->Flags |= IRP_NOCACHE;
- DPRINT1("It's us: %p\n", FileObject);
- }
-#endif
-
/* Setup Stack Data */
StackPtr = IoGetNextIrpStackLocation(Irp);
StackPtr->FileObject = FileObject;
_____
Modified: trunk/reactos/ntoskrnl/kdbg/kdb_symbols.c
--- trunk/reactos/ntoskrnl/kdbg/kdb_symbols.c 2005-05-09 01:06:39 UTC
(rev 15162)
+++ trunk/reactos/ntoskrnl/kdbg/kdb_symbols.c 2005-05-09 01:14:42 UTC
(rev 15163)
@@ -439,7 +439,7 @@
&ObjectAttributes,
&IoStatusBlock,
FILE_SHARE_READ|FILE_SHARE_WRITE,
-
FILE_SYNCHRONOUS_IO_NONALERT|FILE_NO_INTERMEDIATE_BUFFERING);
+ FILE_SYNCHRONOUS_IO_NONALERT);
if (!NT_SUCCESS(Status))
{
DPRINT("Could not open image file: %wZ\n", &FileName);
Show replies by date