From: Andrew Jones <drjones@redhat.com>
To: Prarit Bhargava <prarit@redhat.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
linux-kernel@vger.kernel.org, suresh.b.siddha@intel.com,
x86@kernel.org, clalance@redhat.com
Subject: Re: [LKML] [PATCH] Fix NULL pointer for Xen guests
Date: Tue, 27 Apr 2010 19:59:17 +0200 [thread overview]
Message-ID: <4BD725F5.1040100@redhat.com> (raw)
In-Reply-To: <4BD71A2D.6050309@redhat.com>
On 04/27/2010 07:09 PM, Prarit Bhargava wrote:
>
>
> On 04/27/2010 12:58 PM, Konrad Rzeszutek Wilk wrote:
>> On Tue, Apr 27, 2010 at 11:24:42AM -0400, Prarit Bhargava wrote:
>>
>>> Upstream PV guests fail to boot because of a NULL pointer. It is
>>> possible that
>>> xen guests have irq_desc->chip_data = NULL.
>>>
>> Can you provide a short example of test scenario? As in what I should do
>> to reproduce this problem?
>>
>
> Take the latest upstream (well ... to be honest, a bit older than that
> because of some other bugs) -- take 2.6.33 and try to boot it as a PV
> guest. I'm using a RHEL5 Xen HV fwiw ...
>
> P.
Another ingredient is to boot the guest with a configuration where its
maxvcpus is greater than its vcpus. If you have RHEL 5.5 userspace then
you can create a config with lines like this
maxvcpus = 4
vcpus = 2
with that you'll crash on boot. Then you can check that
irq_force_complete_move is on the stack if you have "preserve" for
on_crash and use xenctx to look at the state of the vcpus.
If the Xen you're using doesn't support the maxvcpus var, then I believe
you can do the same principle, but in a different way, using the
vcpus_avail var. Or, you can boot with > 1 vcpus and then attempt to
remove one with 'xm vcpu-set'.
Andrew
>
>>> Test for NULL chip_data pointer before attempting to complete an irq
>>> move.
>>>
>>> Signed-off-by: Prarit Bhargava<prarit@redhat.com>
>>> Acked-by: Suresh Siddha<suresh.b.siddha@intel.com>
>>>
>>> diff --git a/arch/x86/kernel/apic/io_apic.c
>>> b/arch/x86/kernel/apic/io_apic.c
>>> index 127b871..eb2789c 100644
>>> --- a/arch/x86/kernel/apic/io_apic.c
>>> +++ b/arch/x86/kernel/apic/io_apic.c
>>> @@ -2545,6 +2545,9 @@ void irq_force_complete_move(int irq)
>>> struct irq_desc *desc = irq_to_desc(irq);
>>> struct irq_cfg *cfg = desc->chip_data;
>>>
>>> + if (!cfg)
>>> + return;
>>> +
>>> __irq_complete_move(&desc, cfg->vector);
>>> }
>>> #else
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe
>>> linux-kernel" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at http://www.tux.org/lkml/
>>>
next prev parent reply other threads:[~2010-04-27 18:00 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-27 15:24 [PATCH] Fix NULL pointer for Xen guests Prarit Bhargava
2010-04-27 16:58 ` [LKML] " Konrad Rzeszutek Wilk
2010-04-27 17:09 ` Prarit Bhargava
2010-04-27 17:59 ` Andrew Jones [this message]
2010-04-27 18:34 ` Konrad Rzeszutek Wilk
2010-04-27 18:47 ` Prarit Bhargava
2010-05-03 19:16 ` Konrad Rzeszutek Wilk
2010-05-03 19:56 ` Prarit Bhargava
2010-05-04 15:02 ` [LKML] " Konrad Rzeszutek Wilk
2010-05-04 15:21 ` Prarit Bhargava
2010-04-28 18:26 ` Andrew Morton
2010-04-28 18:29 ` Prarit Bhargava
2010-04-28 18:42 ` Suresh Siddha
2010-04-28 18:50 ` Andrew Morton
2010-04-28 19:15 ` [stable] " Greg KH
2010-04-30 20:55 ` H. Peter Anvin
2010-04-30 21:33 ` H. Peter Anvin
2010-04-30 22:01 ` Prarit Bhargava
2010-04-30 21:36 ` [tip:x86/urgent] x86: Fix NULL pointer access in irq_force_complete_move() " tip-bot for Prarit Bhargava
2010-05-04 15:02 ` [LKML] " Konrad Rzeszutek Wilk
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=4BD725F5.1040100@redhat.com \
--to=drjones@redhat.com \
--cc=clalance@redhat.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=prarit@redhat.com \
--cc=suresh.b.siddha@intel.com \
--cc=x86@kernel.org \
/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.