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

xen-devel

[Top] [All Lists]

[Xen-devel] Re: [GIT PULL] Xen bugfixes

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Subject: [Xen-devel] Re: [GIT PULL] Xen bugfixes
From: Ingo Molnar <mingo@xxxxxxx>
Date: 2009年9月10日 07:16:48 +0200
Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, the arch/x86 maintainers <x86@xxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Tejun Heo <tj@xxxxxxxxxx>, Stable Kernel <stable@xxxxxxxxxx>
Delivery-date: 2009年9月09日 22:17:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4AA83F99.5040401@xxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4AA83F99.5040401@xxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.18 (2008年05月17日)
* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
> Hi,
>
> Here's 3 patches which fix two Xen PV spinlock bugs, and makes 
> CONFIG_CC_STACKPROTECTOR work on both 32- and 64-bit.
>
> The spinlock bugs are both rare races:
> - lock can briefly hold the lock while interrupts are enabled, allowing an 
> ISR to deadlock
> - unlock doesn't enforce CPU memory ordering between the actual unlock write 
> and the check
> to see if there are any pending waiters, so it can end up deciding there's 
> nobody to
> kick on unlock, leaving another CPU hanging. It needs a full mb() to 
> guarantee the correct
> ordering.
>
> The stack-protector fix bites the bullet and does a full GDT setup 
> early so that we can load %gs for the stack-protector canary 
> segment on i386. This also removes the assumption that the 
> initial percpu %fs segment has a zero base.
>
> x86-64 still just needs the GS_BASE MSR written, but that now 
> happens using the same code as i386 rather than being special 
> cased.
>
> Thanks,
> J
>
> The following changes since commit e07cccf4046978df10f2e13fe2b99b2f9b3a65db:
> Linus Torvalds (1):
> Linux 2.6.31-rc9
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git bugfix
>
> Jeremy Fitzhardinge (2):
> xen: make -fstack-protector work under Xen
> xen: only enable interrupts while actually blocking for spinlock
>
> Yang Xiaowei (1):
> xen: use stronger barrier after unlocking lock
>
> arch/x86/mm/Makefile | 4 ++
> arch/x86/xen/Makefile | 2 +
> arch/x86/xen/enlighten.c | 131 
> +++++++++++++++++++++++++++++++++++++++-------
> arch/x86/xen/smp.c | 1 +
> arch/x86/xen/spinlock.c | 28 ++++++----
> drivers/xen/Makefile | 3 +
> 6 files changed, 140 insertions(+), 29 deletions(-)
Pulled, thanks a lot Jeremy!
A few comments:
> +# Make sure __phys_addr has no stackprotector
> +nostackp := $(call cc-option, -fno-stack-protector)
> +CFLAGS_ioremap.o := $(nostackp)
> +
Sure we could move __phys_addr into its own file and thus avoid 
turning off stackprotector for the rest of ioremap.c?
> --- a/arch/x86/xen/Makefile
> +++ b/arch/x86/xen/Makefile
> @@ -8,6 +8,7 @@ endif
> # Make sure early boot has no stackprotector
> nostackp := $(call cc-option, -fno-stack-protector)
> CFLAGS_enlighten.o := $(nostackp)
> +CFLAGS_mmu.o := $(nostackp)
A similar argument could be made here - what proportion of mmu.c is 
affected?
Also, once the commits have hit upstream feel free bounce them to 
stable@xxxxxxxxxx - they dont have Cc: <stable@xxxxxxxxxx> tags for 
automatic back-merging requests. The fixes narrowly missed v2.6.31.
 Ingo
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
Previous by Date: Re: [Xen-devel] Size limit on extra argument to xm create; RETRACT , Mick Jordan
Next by Date: Re: [Xen-devel] Attempt to load 2.6.31-rc8 under Xen 3.4.1 on top of Ubuntu 9.04 Server+ Serial Log , Boris Derzhavets
Previous by Thread: [Xen-devel] [GIT PULL] Xen bugfixes , Jeremy Fitzhardinge
Next by Thread: [Xen-devel] Re: [GIT PULL] Xen bugfixes , Jeremy Fitzhardinge
Indexes: [Date] [Thread] [Top] [All Lists]

Copyright ©, Citrix Systems Inc. All rights reserved. Legal and Privacy
Citrix This site is hosted by Citrix

AltStyle によって変換されたページ (->オリジナル) /