Re: [BUG] ACPI resource validation not working [Was: Re: ITE 8728F]

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

 



On Tue, Nov 29, 2011 at 2:48 AM, Lin Ming <ming.m.lin@xxxxxxxxx> wrote:
> On Tue, 2011-11-29 at 06:56 +0800, Moore, Robert wrote:
>> I'm going to let Lin Ming respond to this, since the functions in question appear to be Linux extensions to ACPICA.
[...]
> Yes, we should put the call back.

Great, are you going to push this patch yourself?

> diff --git a/drivers/acpi/acpica/dsargs.c b/drivers/acpi/acpica/dsargs.c
> index 8c7b997..42163d8 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, node->parent,
>                                           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);
>  }

thanks,
Luca
��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f



[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