lkml.org 
[lkml]   [2008]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subjectacpi: bus: check once more for an empty list after locking it
    -stable review patch.  If anyone has any objections, please let us know.
    ---------------------

    From: Chuck Ebbert <cebbert@redhat.com>

    upstream commit: f0a37e008750ead1751b7d5e89d220a260a46147

    List could have become empty after the unlocked check that was made earlier,
    so check again inside the lock.

    Should fix https://bugzilla.redhat.com/show_bug.cgi?id=427765

    Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
    Cc: <stable@kernel.org>
    Cc: Len Brown <lenb@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    ---
    drivers/acpi/bus.c | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    --- a/drivers/acpi/bus.c
    +++ b/drivers/acpi/bus.c
    @@ -350,10 +350,11 @@ int acpi_bus_receive_event(struct acpi_b
    }

    spin_lock_irqsave(&acpi_bus_event_lock, flags);
    - entry =
    - list_entry(acpi_bus_event_list.next, struct acpi_bus_event, node);
    - if (entry)
    + if (!list_empty(&acpi_bus_event_list)) {
    + entry = list_entry(acpi_bus_event_list.next,
    + struct acpi_bus_event, node);
    list_del(&entry->node);
    + }
    spin_unlock_irqrestore(&acpi_bus_event_lock, flags);

    if (!entry)
    --


    \
     
     \ /
      Last update: 2008-04-17 03:13    [W:0.020 / U:2.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site