Re: Linux 2.6.28-rc5

From: Bruno PrÃmont
Date: Sun Nov 16 2008 - 12:50:35 EST


On Sun, 16 November 2008 Linus Torvalds wrote:
> On Sun, 16 Nov 2008, Bruno PrÃmont wrote:
> >
> > The following change is guilty on my machine (though I could not
> > find the matching commit on git.kernel.org :( )
>
> It's commit 0794469da3f7b2093575cbdfc1108308dd3641ce: "ACPI: struct
> device
> - replace bus_id with dev_name(), dev_set_name()", and yes, it seems
> totally buggy. It replaced a test for "dev->bus" with
> "dev_name(dev)", which makes no sense.

Looks like the reason I couldn't find it was old cache on
git.kernel.org or something like that as the matching commit
now shows up.

> > Reverting the change below makes the error go away.
>
> Does this smaller patch just make it go away?
Yes, that smaller patch fixes it as well

> That said, that whole function looks potentially buggy. Len - why is
> it safe to do "list_for_each_safe()" when you drop the
> acpi_device_lock in the middle? The "next" pointer that we look up
> may go away while the lock is dropped, I think.
>
> Linus
>
> ---
> drivers/acpi/sleep/proc.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/acpi/sleep/proc.c b/drivers/acpi/sleep/proc.c
> index 64e591b..4dbc227 100644
> --- a/drivers/acpi/sleep/proc.c
> +++ b/drivers/acpi/sleep/proc.c
> @@ -366,7 +366,7 @@ acpi_system_wakeup_device_seq_show(struct
> seq_file *seq, void *offset) dev->wakeup.state.enabled ? "enabled" :
> "disabled"); if (ldev)
> seq_printf(seq, "%s:%s",
> - dev_name(ldev) ?
> ldev->bus->name : "no-bus",
> + ldev->bus ? ldev->bus->name :
> "no-bus", dev_name(ldev));
> seq_printf(seq, "\n");
> put_device(ldev);
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/