lkml.org 
[lkml]   [2017]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 81/84] ACPI: ioapic: Clear on-stack resource before using it
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Joerg Roedel <jroedel@suse.de>

    commit e3d5092b6756b9e0b08f94bbeafcc7afe19f0996 upstream.

    The on-stack resource-window 'win' in setup_res() is not
    properly initialized. This causes the pointers in the
    embedded 'struct resource' to contain stale addresses.

    These pointers (in my case the ->child pointer) later get
    propagated to the global iomem_resources list, causing a #GP
    exception when the list is traversed in
    iomem_map_sanity_check().

    Fixes: c183619b63ec (x86/irq, ACPI: Implement ACPI driver to support IOAPIC hotplug)
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/acpi/ioapic.c | 6 ++++++
    1 file changed, 6 insertions(+)

    --- a/drivers/acpi/ioapic.c
    +++ b/drivers/acpi/ioapic.c
    @@ -45,6 +45,12 @@ static acpi_status setup_res(struct acpi
    struct resource *res = data;
    struct resource_win win;

    + /*
    + * We might assign this to 'res' later, make sure all pointers are
    + * cleared before the resource is added to the global list
    + */
    + memset(&win, 0, sizeof(win));
    +
    res->flags = 0;
    if (acpi_dev_filter_resource_type(acpi_res, IORESOURCE_MEM))
    return AE_OK;

    \
     
     \ /
      Last update: 2017-08-28 10:43    [W:4.327 / U:0.156 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site