X-Git-Url: https://git.jankratochvil.net/?a=blobdiff_plain;ds=sidebyside;f=src%2FTraceFS%2FTraceFS-W32%2FTraceFS.c;fp=src%2FTraceFS%2FTraceFS-W32%2FTraceFS.c;h=438c5e614422ef3fcf77ec593118f55362cc65b8;hb=f5c6ced1a7f3cf4313a241165a070985d9f46c59;hp=72cb138cb91be846ff21d3f1fbca5655262e2d6a;hpb=e00f4b5eb689806748c6e6aa5ae9170c77a4eecd;p=captive.git diff --git a/src/TraceFS/TraceFS-W32/TraceFS.c b/src/TraceFS/TraceFS-W32/TraceFS.c index 72cb138..438c5e6 100644 --- a/src/TraceFS/TraceFS-W32/TraceFS.c +++ b/src/TraceFS/TraceFS-W32/TraceFS.c @@ -296,7 +296,7 @@ static void dump_FileObject(FILE_OBJECT *FileObject) SectionObjectPointer_set(FileObject); } -static void dump_irp_mj(struct _DEVICE_OBJECT *DeviceObject,struct _IRP *Irp) +static void dump_irp_mj(struct _DEVICE_OBJECT *DeviceObject,struct _IRP *Irp,BOOLEAN restricted) { IO_STACK_LOCATION *IoStackLocation; @@ -310,6 +310,9 @@ IO_STACK_LOCATION *IoStackLocation; return; } dump_FileObject(IoStackLocation->FileObject); + + if (restricted) + return; switch (IoStackLocation->MajorFunction) { case IRP_MJ_READ: @@ -390,13 +393,14 @@ NTSTATUS r; \ int locked; \ \ DBGSINGLEENTER0( #irp_mj_name ); \ - dump_irp_mj(DeviceObject,Irp); \ + dump_irp_mj(DeviceObject,Irp,FALSE); \ /* Prevent deadlock during display of File Explorer directory listing. \ * Needed at least for IRP_MJ_DIRECTORY_CONTROL and IRP_MJ_CLOSE. \ */ \ locked=unlock_full(); \ r=(*tracefs_major_##irp_mj_name##_orig)(DeviceObject,Irp); \ lock_full(locked); \ + dump_irp_mj(DeviceObject,Irp,TRUE); \ DBGSINGLELEAVE1( #irp_mj_name ": r=0x%lX",(long)r); \ return r; \ }