All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jan Beulich" <jbeulich@novell.com>
To: Keir Fraser <keir.fraser@eu.citrix.com>,
	Guanqun Lu <guanqun.lu@intel.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: question about patch 13252
Date: Thu, 19 Mar 2009 14:58:08 +0000	[thread overview]
Message-ID: <49C26B90.76E4.0078.0@novell.com> (raw)
In-Reply-To: <C5E80C13.48B6%keir.fraser@eu.citrix.com>

>>> Keir Fraser <keir.fraser@eu.citrix.com> 19.03.09 15:49 >>>
>On 19/03/2009 14:34, "Lu, Guanqun" <guanqun.lu@intel.com> wrote:
>
>> Thanks for your reply.
>> 
>> It makes a little sense...
>> But the problem is that when we do S3,
>> we execute load_TR() again (in file arch/x86/acpi/suspend.c),
>> and this causes the bug.
>> 
>> Do we need to go back to non-compat gdt_table when it resumes, and
>> switch to compat_gdt_table again?

There must be code clearing the B bit in the non-compat GDT already,
otherwise loading of the LDTR would always have faulted.

>Ah, I see. There are a few options, the easiest of which is to leave the B
>bit clear in both descriptors. I'm not certain whether that actually matters
>for any reason, but I think for our purposes it does not.

No, that's not an option afaict: On an outgoing TSS (i.e. during a double
fault) the B bit must be set iirc.

>If Jan can counter my claim, then you can instead switch back to the
>non-compat GDT for the LTR, or you can decide which descriptor to set B in
>based on which GDT you're running on, or force the B bit in both descriptors
>after the LTR, or... You have a few options. :-)

Correct. I wonder why you're running on the compat GDT in the first place -
is your Dom0 32-bit? If that's the case, then the clearing of the bit that must
exist somewhere simply should be extended to touch the current GDT
rather than the default one.

Jan

  reply	other threads:[~2009-03-19 14:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-19 14:07 question about patch 13252 Lu, Guanqun
2009-03-19 14:20 ` Lu, Guanqun
2009-03-19 14:22 ` Keir Fraser
2009-03-19 14:34   ` Lu, Guanqun
2009-03-19 14:49     ` Keir Fraser
2009-03-19 14:58       ` Jan Beulich [this message]
2009-03-19 17:06         ` Keir Fraser
2009-03-20  5:34           ` Lu, Guanqun
2009-03-20  5:35           ` Lu, Guanqun
2009-03-19 14:53 ` Jan Beulich

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=49C26B90.76E4.0078.0@novell.com \
    --to=jbeulich@novell.com \
    --cc=guanqun.lu@intel.com \
    --cc=keir.fraser@eu.citrix.com \
    --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.