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);