linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
	linux-mm@kvack.org,
	"ZINKEVICIUS,MATT (HP-Loveland,ex1)" <matt_zinkevicius@hp.com>
Subject: Re: patch: highmem zero-bounce
Date: Wed, 27 Jun 2001 19:12:29 +0200	[thread overview]
Message-ID: <20010627191229.G17905@suse.de> (raw)
In-Reply-To: <20010627190626.E24623@athlon.random>

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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

  reply	other threads:[~2001-06-27 17:12 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-06-26 16:22 Jens Axboe
2001-06-27  9:41 ` Andrea Arcangeli
2001-06-27 16:27   ` Jens Axboe
2001-06-27 16:49     ` Jens Axboe
2001-06-27 17:06       ` Andrea Arcangeli
2001-06-27 17:12         ` Jens Axboe [this message]
2001-07-06 13:41           ` Andrea Arcangeli
2001-07-06 13:45             ` Jens Axboe
2001-07-06 13:58               ` Andrea Arcangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010627191229.G17905@suse.de \
    --to=axboe@suse.de \
    --cc=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=matt_zinkevicius@hp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox