Messages in this thread | | | From | Johannes Weiner <> | Subject | Re: [BUG ?] kmalloc() with GFP_KERNEL while holding spinlock ? | Date | Thu, 29 May 2008 05:59:03 +0200 |
| |
Hi,
Li Zefan <lizf@cn.fujitsu.com> writes:
> I noticed the following issue in the code: > > in drivers/ata/libata-acpi.c: > > static void ata_acpi_handle_hotplug(struct ata_port *ap, struct ata_device *dev, > u32 event) > { > ... > spin_lock_irqsave(ap->lock, flags); > ... > > if (dev) { > if (dev->sdev) > kobj = &dev->sdev->sdev_gendev.kobj; > } else > kobj = &ap->dev->kobj; > > if (kobj) { > sprintf(event_string, "BAY_EVENT=%d", event); > kobject_uevent_env(kobj, KOBJ_CHANGE, envp); > } > > spin_unlock_irqrestore(ap->lock, flags); > ... > } > > and kobject_uevent_env() calls kzalloc(..., GFP_KERNEL);
Fixed by commit ae6c23c4e1ec9720b99e1e6850fe47c6c7fddbb3 "Fixups to ATA ACPI hotplug" by Matthew Garrett.
Hannes
| |