Re: [PATCH] Fix potential oops in dock driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Applied.

thanks,
-Len

On Wednesday 18 July 2007 01:10, Dmitry Torokhov wrote:
> [PATCH] Fix potential oops in dock driver
> From: 
> Dmitry Torokhov <dtor@xxxxxxxxxxxxx>
>   To: 
> linux-acpi@xxxxxxxxxxxxxxx
>   CC: 
> Kristen Carlson Accardi <kristen.c.accardi@xxxxxxxxx>, Len Brown <len.brown@xxxxxxxxx>
>   Date: 
> Today 01:10:24 am
>    
>   Spam Status: Spamassassin 0% probability of being spam.
> 
> Full report:
> No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FORGED_RCVD_HELO autolearn=ham version=3.1.9  
> Possible needed for -stable as well.
> 
> -- 
> Dmitry
> 
> ACPI: dock - fix an oops when _DCK evaluation fails
> 
> Data returned by acpi_get_name in acpi_buffer is not acpi_object and
> therefore should not be cast to it, otherwise we'll get an nice oops
> trying to print error message.
> 
> Also print name of the ACPI object corresponding to the docking station
> and elevate severity of the message printed when _DCK fails to KERN_ERR.
> 
> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>
> ---
>  drivers/acpi/dock.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> Index: linux/drivers/acpi/dock.c
> ===================================================================
> --- linux.orig/drivers/acpi/dock.c
> +++ linux/drivers/acpi/dock.c
> @@ -380,12 +380,11 @@ static void handle_dock(struct dock_stat
>         union acpi_object arg;
>         struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
>         struct acpi_buffer name_buffer = { ACPI_ALLOCATE_BUFFER, NULL };
> -       union acpi_object *obj;
>  
>         acpi_get_name(ds->handle, ACPI_FULL_PATHNAME, &name_buffer);
> -       obj = name_buffer.pointer;
>  
> -       printk(KERN_INFO PREFIX "%s\n", dock ? "docking" : "undocking");
> +       printk(KERN_INFO PREFIX "%s - %s\n",
> +               (char *)name_buffer.pointer, dock ? "docking" : "undocking");
>  
>         /* _DCK method has one argument */
>         arg_list.count = 1;
> @@ -394,7 +393,8 @@ static void handle_dock(struct dock_stat
>         arg.integer.value = dock;
>         status = acpi_evaluate_object(ds->handle, "_DCK", &arg_list, &buffer);
>         if (ACPI_FAILURE(status))
> -               pr_debug("%s: failed to execute _DCK\n", obj->string.pointer);
> +               printk(KERN_ERR PREFIX "%s - failed to execute _DCK\n",
> +                        (char *)name_buffer.pointer);
>         kfree(buffer.pointer);
>         kfree(name_buffer.pointer);
>  }
> -
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux