Re: [PATCH] ACPICA: Put back the call to acpi_os_validate_address

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

 



On Tue, Nov 29, 2011 at 10:13 PM, Lin Ming <ming.m.lin@xxxxxxxxx> wrote:
> The call to acpi_os_validate_address in acpi_ds_get_region_arguments was
> removed by mistake in commit 9ad19ac(ACPICA: Split large dsopcode and
> dsload.c files).
>
> Put it back.
>
> Reported-and-bisected-by: Luca Tettamanti <kronos.it@xxxxxxxxx>
> Signed-off-by: Lin Ming <ming.m.lin@xxxxxxxxx>

Hi Len,

Could you take this patch?

(CC stable@xxxxxxxxxx)

For stable kernel 2.6.39, 3.0, 3.1.

Thanks,
Lin Ming

> ---
>
> Len,
>
> Could you apply this patch?
> And it should be ported to stable kernel since v2.6.39.
>
>  drivers/acpi/acpica/dsargs.c |   24 ++++++++++++++++++++++++
>  1 files changed, 24 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/acpi/acpica/dsargs.c b/drivers/acpi/acpica/dsargs.c
> index 634f5b2..d69e4a5 100644
> --- a/drivers/acpi/acpica/dsargs.c
> +++ b/drivers/acpi/acpica/dsargs.c
> @@ -387,5 +387,29 @@ acpi_status acpi_ds_get_region_arguments(union acpi_operand_object *obj_desc)
>        status = acpi_ds_execute_arguments(node, extra_desc->extra.scope_node,
>                                           extra_desc->extra.aml_length,
>                                           extra_desc->extra.aml_start);
> +       if (ACPI_FAILURE(status)) {
> +               return_ACPI_STATUS(status);
> +       }
> +
> +       /* Validate the region address/length via the host OS */
> +
> +       status = acpi_os_validate_address(obj_desc->region.space_id,
> +                                         obj_desc->region.address,
> +                                         (acpi_size) obj_desc->region.length,
> +                                         acpi_ut_get_node_name(node));
> +
> +       if (ACPI_FAILURE(status)) {
> +               /*
> +                * Invalid address/length. We will emit an error message and mark
> +                * the region as invalid, so that it will cause an additional error if
> +                * it is ever used. Then return AE_OK.
> +                */
> +               ACPI_EXCEPTION((AE_INFO, status,
> +                               "During address validation of OpRegion [%4.4s]",
> +                               node->name.ascii));
> +               obj_desc->common.flags |= AOPOBJ_INVALID;
> +               status = AE_OK;
> +       }
> +
>        return_ACPI_STATUS(status);
>  }
> --
> 1.7.2.5
>
>
>
> --
> 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