Re: patch: highmem zero-bounce

From: Jens Axboe (axboe@suse.de)
Date: Wed Jun 27 2001 - 12:12:29 EST


On Wed, Jun 27 2001, Andrea Arcangeli wrote:
> On Wed, Jun 27, 2001 at 06:49:08PM +0200, Jens Axboe wrote:
> > On Wed, Jun 27 2001, Jens Axboe wrote:
> > > > I can see one mm corruption race condition in the patch, you missed
> > > > nested irq in the for kmap_irq_bh (PIO). You must _always_
> > > > __cli/__save_flags before accessing the KMAP_IRQ_BH slot, in case the
> > > > remapping is required (so _only_ when the page is in the highmem zone).
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > > Otherwise memory corruption will happen when the race triggers (for
> > > > example two ide disks in PIO mode doing I/O at the same time connected
> > > > to different irq sources).
> > >
> > > Ah yes, my bad. This requires some moving around, I'll post an updated
> > > patch later tonight. Thanks!
> >
> > A prelim and untested fix just whipped up
>
> Thanks!
>
> I'd prefer if the __cli;__save_flags is embedded in the bh_kmap_irq in
> the slow path case where the remap is really required. We can avoid the
> cli for all the memory below 1G. This way it should also be harder to
> forget to cli ;). During PIO the irq should be enabled otherwise it
> means either the driver or the hardware is silly.

Humm yes, I agree. I'll redo it tonight and send an updated
incremental. Hopefully I'll be able to upload a new full version too.

> Plus adding a _fat_ warning in the bh_kmap_irq that nobody should
> re-enable interupt in the middle.

Agree :)

-- 
Jens Axboe

- 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 : Sat Jun 30 2001 - 21:00:17 EST