All of lore.kernel.org
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: mm: ensure TTBR0 is restored when changing ASID on rollover
Date: Wed, 8 Jun 2011 21:36:15 +0100	[thread overview]
Message-ID: <20110608203615.GB13151@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20110608202323.GA4430@e102144-lin.cambridge.arm.com>

On Wed, Jun 08, 2011 at 09:23:23PM +0100, Will Deacon wrote:
> On Wed, Jun 08, 2011 at 09:01:06PM +0100, Russell King - ARM Linux wrote:
> > However, these patches are introducing a brand new race between the
> > switch_mm code and the reset_context code.
> > 
> > With the new switch_mm() code, we switch TTBR0 to be the same as TTBR1.
> > If we then receive an IPI for reset_context(), we will change TTBR0
> > to point at a set of page tables which don't contain just global mappings.
> > 
> > After returning from reset_context(), we will resume switch_mm(), and
> > change the ASID value with the page tables pointing to non-global
> > mappings, violating the whole reason for the switch_mm() change.
> 
> Whilst this is a new race condition, it is analagous to the one we have
> already and could be fixed at the same time.

Ok, I think we should revert the original patches then.  They were rushed
in during the merge window, and as can be seen, rushing in patches because
we _think_ they're right is never the correct thing to do - we've ended
up with a completely broken situation as stuff now stands.

Let's take out these changes and sort it out properly - not only do we
need to sort out these problems but we should also get rid of the
__ARCH_WANT_INTERRUPTS_ON_CTXSW thing completely.  I have a patch which
I've only tested on SA-1110 which does this so far, but it needs a little
more work to clean up some stuff.

So, we're weren't - and still aren't - ready for any of these changes.

  reply	other threads:[~2011-06-08 20:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-07 10:38 [PATCH] ARM: mm: ensure TTBR0 is restored when changing ASID on rollover Will Deacon
2011-06-08 13:04 ` Catalin Marinas
2011-06-08 20:01 ` Russell King - ARM Linux
2011-06-08 20:23   ` Will Deacon
2011-06-08 20:36     ` Russell King - ARM Linux [this message]
2011-06-08 20:49       ` Will Deacon
2011-06-08 20:55         ` Russell King - ARM Linux
2011-11-23  3:46           ` Stephen Boyd
2011-06-08 21:12       ` Catalin Marinas
2011-06-08 21:49         ` Russell King - ARM Linux
  -- strict thread matches above, loose matches on Subject: below --
2011-05-31 15:39 Will Deacon

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=20110608203615.GB13151@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.