Re: IDE locking problem

From: Manfred Spraul (manfred@colorfullife.com)
Date: Sun Aug 03 2003 - 09:13:24 EST


>
>
>Then, IDE could do something like:
>
> - set dead flag
> - wait for all pending requests to drain (easy: insert a barrier
> in the queue and wait on it, with a hack for the barrier insertion
> to bypass the dead flag... ugh... maybe a blk_terminate_queue()
> doing all that would be helpful ?)
> - unregister blkdev
> - then tear down the queue (leaving the "empty" queue with the dead
> flag set, not just memset(...,0,...), so that any bozo keeping a
> reference to it will be rejected trying to insert request instead
> of trying to tap an uninitalized queue object
>
>What do you think ?
>
>
The last step is bad - sooner or later the queue will be kfreed, and if
there are bozos around that still have references, they would access
random memory. It must be guaranteed that all references expired before
the tear down begins. Just leaving a dead flag set is not sufficient.

--
    Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 07 2003 - 22:00:21 EST