Re: [Xen-devel] Re: [PATCH] Modpost section mismatch fix

Raghavendra D Prabhu
2011-07-07T19:49:01Z

[-- Attachment #1: Type: text/plain, Size: 2841 bytes --]

* On Thu, Jul 07, 2011 at 12:24:54PM -0400, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>> Tested it. Works now.
>
>Ok, Stuck Tested-by on the patch. Hopefully Linus hasn't pulled it yet.
Ok.
>
>> Reviewed-by: Raghavendra Prabhu <rprabhu@wnohang.net>

>> Also,
>> The condition for acpi_gsi_to_irq can be removed since it always returns zero.
>
>The function might in the future return something that is non-zero
>and we should guard for it. Also you make 'irq' be unsigned which is not
>good as the IRQ 0 is a valid value - and with making it unsigned if it is
>set to -1 (the -1 is the invalid IRQ value) the check for 'irq != gsi'
>will be true and and we will pass in -1 casted to unsigned. That is a
>large value and not the right thing we want to pass to xen_register_gsi.

My rationale for the unsigned part was that acpi_gsi_to_irq always
assigns a positive value (>= 0) to the irq passed (as unsigned
argument). But even otherwise that shouldn't make much of difference I guess.

Also,
I had sent another change (oneline) for the file
arch/x86/xen/platform-pci-unplug.c for check_platform_magic, looks like that has not gone into
the pull request for Linus.
>
>
>> ============================================
>> diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
>> index f567965..3faa55b 100644
>> --- a/arch/x86/pci/xen.c
>> +++ b/arch/x86/pci/xen.c
>> @@ -405,7 +405,7 @@ static __init void xen_setup_acpi_sci(void)
>> int rc;
>> int trigger, polarity;
>> int gsi = acpi_sci_override_gsi;
>> - int irq = -1;
>> + unsigned int irq = 0u;
>> int gsi_override = -1;

>> if (!gsi)
>> @@ -435,11 +435,10 @@ static __init void xen_setup_acpi_sci(void)
>> * setup as we had setup IRQ 20 for it).
>> */
>> /* Check whether the GSI != IRQ */
>> - if (acpi_gsi_to_irq(gsi, &irq) == 0) {
>> - if (irq >= 0 && irq != gsi)
>> - /* Bugger, we MUST have that IRQ. */
>> - gsi_override = irq;
>> - }
>> + acpi_gsi_to_irq(gsi, &irq);
>> + if (irq != gsi)
>> + /* Bugger, we MUST have that IRQ. */
>> + gsi_override = irq;

>> gsi = xen_register_gsi(gsi, gsi_override, trigger, polarity);
>> printk(KERN_INFO "xen: acpi sci %d\n", gsi);

>> --------------------------
>> Raghavendra Prabhu
>> GPG Id : 0xD72BE977
>> Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
>> www: wnohang.net
>
>
>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xensource.com
>> http://lists.xensource.com/xen-devel
>
--------------------------
Raghavendra Prabhu
GPG Id : 0xD72BE977
Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
www: wnohang.net

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]