diff options
| author | Huang Ying <ying.huang@intel.com> | 2013-04-02 11:02:30 +0200 |
|---|---|---|
| committer | Jan Beulich <jbeulich@suse.com> | 2013-04-02 11:02:30 +0200 |
| commit | 2328ed01762e4f2023bddda3de323de5311c813c (patch) | |
| tree | 7c1ce306bb6e541ac1fb2dca21a52d6ae49692ff /tools/lib/sys_string.h | |
| parent | f51b14d1f25c96fba290882f0a80fc7baf0fe28e (diff) | |
| download | xen-2328ed01762e4f2023bddda3de323de5311c813c.tar.gz xen-2328ed01762e4f2023bddda3de323de5311c813c.tar.bz2 xen-2328ed01762e4f2023bddda3de323de5311c813c.zip | |
ACPI: fix APEI related table size checking
On Huang Ying's machine:
erst_tab->header_length == sizeof(struct acpi_table_einj)
but Yinghai reported that on his machine,
erst_tab->header_length == sizeof(struct acpi_table_einj) -
sizeof(struct acpi_table_header)
To make erst table size checking code works on all systems, both
testing are treated as PASS.
Same situation applies to einj_tab->header_length, so corresponding
table size checking is changed in similar way too.
Originally-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Huang Ying <ying.huang@intel.com>
- use switch() for better readability
- add comment explaining why a formally invalid size it also being
accepted
- check erst_tab->header.length before even looking at
erst_tab->header_length
- prefer sizeof(*erst_tab) over sizeof(struct acpi_table_erst)
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
master changeset: 915ef37d7cc8fcac5b37eb0b40c693754fcd12ab
master date: 2012-10-16 17:26:36 +0200
Diffstat (limited to 'tools/lib/sys_string.h')
0 files changed, 0 insertions, 0 deletions
