[PATCH v3 25/62] acpi/table: Introduce acpi_get_entry to get specified entry
Shannon Zhao
zhaoshenglong at huawei.com
Mon Nov 23 23:48:56 PST 2015
On 2015/11/24 15:22, Jan Beulich wrote:
>>>> On 24.11.15 at 04:08, <zhaoshenglong at huawei.com> wrote:
>> On 2015/11/24 0:59, Jan Beulich wrote:
>>>>>> On 17.11.15 at 10:40, <shannon.zhao at linaro.org> wrote:
>>>> + if ( !table_header )
>>>> + {
>>>> + printk("Table header not present\n");
>>>> + return NULL;
>>>> + }
>>>> +
>>>> + table_end = (unsigned long)table_header + table_header->length;
>>>
>>> So here you use ->length, ...
>>>
>>>> + /* Parse all entries looking for a match. */
>>>> + entry = (struct acpi_subtable_header *)
>>>> + ((unsigned long)table_header + table_size);
>>>
>>> ... but here table_size. Why?
>>>
>> Here it just skips the main table size at the beginning. Then it could
>> point to the start of sub-table.
>> For example, to MADT table, the table_size is sizeof(struct
>> acpi_table_madt).
>
> Well, but for one then the parameter name is kind of wrong, and
> second - is it really reasonable for the caller to tell the function?
>
I think the caller knows which table it wants to parse and could
calculate the size. But within this function, there is no clue to get
the main table size.
Thanks,
--
Shannon
More information about the linux-arm-kernel
mailing list