Re: IoSkipCurrentIrpStackLocation() design flaw?



On Thu, 21 Sep 2006 06:37:08 +0400, "Maxim S. Shatskih"
<maxim@xxxxxxxxxxxxxxxx> wrote:

-- For instance, the basic problem with my original question about
IoSkipCurrentIrpStackLocation() was a race that if not handled with
both an outer reference and an inner remove lock could cause arbitrary
code to be executed or an IRP to be lost and never completed. --

Such races the the headache of the originator of the IRP, not of the drivers
below which execute this IRP.

What also annoys me is that this is the issue for which I started this
thread and about which I've already stated the same conclusion over
and over in different ways without hearing any disagreement, until now
when I was only using the original problem and solution as an abstract
example to try to ask for a better explanation about this idle
detection issue I keep hearing about. I'm about done. If a thread
can go on this long without there being a straight answer, then f***
it. I used to think it was all prejudice, but when I see some of the
ugliness inside, I start to understand why people make fun of Windows
for being unstable. I hope a future Windows driver model does better
IRP and device usage tracking so driver writers aren't given the
opportunity to get them wrong.

.



Relevant Pages

  • Re: IoSkipCurrentIrpStackLocation() design flaw?
    ... IoSkipCurrentIrpStackLocationwas a race that if not handled with ... both an outer reference and an inner remove lock could cause arbitrary ... Such races the the headache of the originator of the IRP, ... below which execute this IRP. ...
    (microsoft.public.development.device.drivers)
  • Re: IoSkipCurrentIrpStackLocation() design flaw?
    ... should the driver automatically power up whenever it receives new I/O? ... racing subjects - a) IO b) idle detection timer c) system powerdown IRP. ... I'm missing the basic problem caused by this race you mention. ... Are you worried about the driver getting stuck in a low power state at ...
    (microsoft.public.development.device.drivers)
  • Re: IOSetCompletion Routine?
    ... Pix_IrpCompletionRoutine function will be executed only when lower driver ... IoCopyCurrentIrpStackLocationToNext(Irp); ... It will execute immediately after IOCallDriver or it will wait ...
    (microsoft.public.development.device.drivers)
  • Re: OT: down the stretch they come
    ... Why is it that, in a car race, the driver ... In a car race, the driver, the car, the sponsors, and the racing team ... What good is being an executive if you never get to execute anyone? ...
    (alt.fan.letterman)
  • Re: drive present detection?
    ... the free space of all online drives. ... If the underlying device driver determines that the media has not ... changed, the driver should complete the IRP, returning the IoStatus ...
    (microsoft.public.win32.programmer.kernel)