WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit Xen

To: Ingo Molnar <mingo@xxxxxxx>
Subject: [Xen-devel] Re: [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit Xen support
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Thu, 26 Jun 2008 07:28:51 -0700
Cc: Nick Piggin <npiggin@xxxxxxx>, Mark McLoughlin <markmc@xxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Eduardo Habkost <ehabkost@xxxxxxxxxx>, Vegard Nossum <vegard.nossum@xxxxxxxxx>, Stephen Tweedie <sct@xxxxxxxxxx>, x86@xxxxxxxxxx, LKML <linux-kernel@xxxxxxxxxxxxxxx>, Yinghai Lu <yhlu.kernel@xxxxxxxxx>
Delivery-date: Thu, 26 Jun 2008 07:29:28 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20080626105722.GA12640@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <patchbomb.1214367536@localhost> <20080625084253.GA11524@xxxxxxx> <20080625152212.GA3442@xxxxxxx> <4862A6A9.1030109@xxxxxxxx> <20080626105722.GA12640@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.14 (X11/20080501)
Ingo Molnar wrote:
* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

It quickly broke the build in testing:

 include/asm/pgalloc.h: In function ‘paravirt_pgd_free':
 include/asm/pgalloc.h:14: error: parameter name omitted
arch/x86/kernel/entry_64.S: In file included from arch/x86/kernel/traps_64.c:51:include/asm/pgalloc.h: In function ‘paravirt_pgd_free':
 include/asm/pgalloc.h:14: error: parameter name omitted
No, looks like my fault. The non-PARAVIRT version of paravirt_pgd_free() is:

static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *) {}

but C doesn't like missing parameter names, even if unused.

This should fix it:

that fixed the build but now we've got a boot crash with this config:

 time.c: Detected 2010.304 MHz processor.
 spurious 8259A interrupt: IRQ7.
 BUG: unable to handle kernel NULL pointer dereference at  0000000000000000
 IP: [<0000000000000000>]
 PGD 0
 Thread overran stack, or stack corrupted
 Oops: 0010 [1] SMP
 CPU 0

with:

  http://redhat.com/~mingo/misc/config-Thu_Jun_26_12_46_46_CEST_2008.bad

Blerg, a contextless NULL rip. Have you done any bisection on it? Could you try again with the same config, but with "CONFIG_PARAVIRT_DEBUG" enabled as well? That will BUG if it turns out to be trying to call a NULL paravirt-op

I'll try to repro here anyway.

i've pushed out the current tip/xen-64bit branch, so that you can see how things look like at the moment, but i cannot put it into tip/master yet.

Yeah, I was expecting things to break somewhere with this lot :/

Could you add this patch? I don't think it will help this case, but it's a bugfix.

   J

Subject: x86_64: use SWAPGS_UNSAFE_STACK in ia32entry.S

Use SWAPGS_UNSAFE_STACK in ia32entry.S in the places where the active
stack is the usermode stack.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
---
arch/x86/ia32/ia32entry.S |    4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

===================================================================
--- a/arch/x86/ia32/ia32entry.S
+++ b/arch/x86/ia32/ia32entry.S
@@ -98,7 +98,7 @@
        CFI_SIGNAL_FRAME
        CFI_DEF_CFA     rsp,0
        CFI_REGISTER    rsp,rbp
-       SWAPGS
+       SWAPGS_UNSAFE_STACK
        movq    %gs:pda_kernelstack, %rsp
        addq    $(PDA_STACKOFFSET),%rsp 
        /*
@@ -210,7 +210,7 @@
        CFI_DEF_CFA     rsp,PDA_STACKOFFSET
        CFI_REGISTER    rip,rcx
        /*CFI_REGISTER  rflags,r11*/
-       SWAPGS
+       SWAPGS_UNSAFE_STACK
        movl    %esp,%r8d
        CFI_REGISTER    rsp,r8
        movq    %gs:pda_kernelstack,%rsp



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>