public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG ?] kmalloc() with GFP_KERNEL while holding spinlock ?
@ 2008-05-29  3:21 Li Zefan
  2008-05-29  3:59 ` Johannes Weiner
  0 siblings, 1 reply; 3+ messages in thread
From: Li Zefan @ 2008-05-29  3:21 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Tejun Heo, LKML, linux-ide

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);

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [BUG ?] kmalloc() with GFP_KERNEL while holding spinlock ?
  2008-05-29  3:21 [BUG ?] kmalloc() with GFP_KERNEL while holding spinlock ? Li Zefan
@ 2008-05-29  3:59 ` Johannes Weiner
  2008-05-29  4:29   ` Li Zefan
  0 siblings, 1 reply; 3+ messages in thread
From: Johannes Weiner @ 2008-05-29  3:59 UTC (permalink / raw)
  To: Li Zefan; +Cc: Jeff Garzik, Tejun Heo, LKML, linux-ide

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [BUG ?] kmalloc() with GFP_KERNEL while holding spinlock ?
  2008-05-29  3:59 ` Johannes Weiner
@ 2008-05-29  4:29   ` Li Zefan
  0 siblings, 0 replies; 3+ messages in thread
From: Li Zefan @ 2008-05-29  4:29 UTC (permalink / raw)
  To: Johannes Weiner; +Cc: Jeff Garzik, Tejun Heo, LKML, linux-ide

Johannes Weiner wrote:
> Fixed by commit ae6c23c4e1ec9720b99e1e6850fe47c6c7fddbb3 "Fixups to ATA
> ACPI hotplug" by Matthew Garrett.
> 

Thanks. The code I was reading is 2.6.26-rc2-mm1. I should have checked the
latest kernel.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-05-29  4:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-29  3:21 [BUG ?] kmalloc() with GFP_KERNEL while holding spinlock ? Li Zefan
2008-05-29  3:59 ` Johannes Weiner
2008-05-29  4:29   ` Li Zefan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox