All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Knorr <kraxel@suse.de>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: xen-devel@lists.xensource.com
Subject: Re: [patch] pae: tlbflush linear page table updates
Date: Wed, 10 Aug 2005 12:22:22 +0200	[thread overview]
Message-ID: <20050810102222.GA32246@bytesex> (raw)
In-Reply-To: <1a49dd852a0effd5c1f02f13280274ba@cl.cam.ac.uk>

On Tue, Aug 09, 2005 at 05:14:14PM +0100, Keir Fraser wrote:
> 
> On 9 Aug 2005, at 16:44, Gerd Knorr wrote:
> 
> >Hmm, that happens when xen is build with debug=y only, without
> >that it crashes much earlier ...
> 
> Weird. The calls to create_pae_xen_mappings were definitely on the 
> error paths in mod_l3_entry(), which is obviously wrong. I'm surprised 
> that fixing it would make things worse, unless some other patch in the 
> meantime has screwed pae...

No, it's actually the changeset
6056:a1f7e01b0990a378584e718e6d48eac38824fdb9 which broke it.

The create_pae_xen_mappings() call in the error path is broken
indead.  That must have sneaked in somewhen, I'm pretty sure I
wrote that initially as something like

         if ( unlikely(!UPDATE_ENTRY(l3, pl3e, ol3e, nl3e)) ||
	      !create_pae_xen_mappings(pl3e) )
         {
             put_page_from_l3e(nl3e, pfn);
             return 0;
         }

so create_pae_xen_mappings() failure (due to the guest OS trying
illegal things) will *trigger* the error path.  Strange it never
showed up, maybe linux never ever updates l3 entries after
creating them.

BUG_ON(!create_pae_xen_mappings()) is a bad idea, it _can_ fail,
the failure should just be propagated up (so in the end the
hypercall running into this returns some errror) or the domain
should simply be killed ...

  Gerd

-- 
panic("it works"); /* avoid being flooded with debug messages */

  reply	other threads:[~2005-08-10 10:22 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-08 14:51 [patch] pae: tlbflush linear page table updates Gerd Knorr
2005-08-08 16:52 ` Keir Fraser
2005-08-09  7:54   ` Gerd Knorr
2005-08-09  8:06     ` Keir Fraser
2005-08-09 10:53       ` Keir Fraser
2005-08-09 13:52         ` Gerd Knorr
2005-08-09 15:44           ` Gerd Knorr
2005-08-09 16:14             ` Keir Fraser
2005-08-10 10:22               ` Gerd Knorr [this message]
2005-08-10 10:28                 ` Gerd Knorr
2005-08-10 10:54                   ` Keir Fraser
2005-08-10 12:33                     ` Gerd Knorr
2005-08-10 13:01                       ` Gerd Knorr
2005-08-10 13:11                         ` Keir Fraser
2005-08-10 13:57                           ` Gerd Knorr
2005-08-10 10:53                 ` Keir Fraser
  -- strict thread matches above, loose matches on Subject: below --
2005-08-12  9:02 Tian, Kevin
2005-08-12  9:17 ` Keir Fraser
2005-08-12  9:20   ` Andi Kleen
2005-08-12  9:49     ` Keir Fraser
2005-08-12  9:17 Tian, Kevin
2005-08-12  9:37 Tian, Kevin
2005-08-12  9:56 ` Andi Kleen
2005-08-12 10:18   ` Keir Fraser

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=20050810102222.GA32246@bytesex \
    --to=kraxel@suse.de \
    --cc=Keir.Fraser@cl.cam.ac.uk \
    --cc=xen-devel@lists.xensource.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 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.