From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: 2.6.32.22 (amd64) domU Kernel doesnt boot - kernel panic Date: Wed, 22 Sep 2010 15:48:57 -0700 Message-ID: <4C9A87D9.9050400@goop.org> References: <181628.18427.qm@web29720.mail.ird.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <181628.18427.qm@web29720.mail.ird.yahoo.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Giovanni Bellac Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 09/21/2010 03:02 AM, Giovanni Bellac wrote: > Hello > > I have used my 2.6.32.20 config and compiled now a 2.6.32.22 from > kernel.org. > 2.6.32.22 has the important security fix (local user can be root with > a exploit). Does this help? Thanks, J From: Jeremy Fitzhardinge Date: Wed, 22 Sep 2010 15:28:52 -0700 Subject: [PATCH] xen: set up IRQ before binding virq to evtchn Make sure the irq is set up before binding a virq event channel to it. Signed-off-by: Jeremy Fitzhardinge diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 3132a5e..cd17f86 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -426,6 +426,11 @@ static int bind_virq_to_irq(unsigned int virq, unsigned int cpu) irq = per_cpu(virq_to_irq, cpu)[virq]; if (irq == -1) { + irq = find_unbound_irq(); + + set_irq_chip_and_handler_name(irq, &xen_percpu_chip, + handle_percpu_irq, "virq"); + bind_virq.virq = virq; bind_virq.vcpu = cpu; if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq, @@ -433,11 +438,6 @@ static int bind_virq_to_irq(unsigned int virq, unsigned int cpu) BUG(); evtchn = bind_virq.port; - irq = find_unbound_irq(); - - set_irq_chip_and_handler_name(irq, &xen_percpu_chip, - handle_percpu_irq, "virq"); - evtchn_to_irq[evtchn] = irq; irq_info[irq] = mk_virq_info(evtchn, virq);