[PATCH 14/26] acpi: mcfg: make mcfg_size a ssize_t
Colin Ian King
colin.king at canonical.com
Mon Oct 15 08:14:42 UTC 2012
On 15/10/12 05:14, Alex Hung wrote:
> On 10/15/2012 04:32 AM, Colin King wrote:
>> From: Colin Ian King <colin.king at canonical.com>
>>
>> Make mcfg_size a ssize_t and use appropriate printf format
>> specifiers for this.
>>
>> Signed-off-by: Colin Ian King <colin.king at canonical.com>
>> ---
>> src/acpi/mcfg/mcfg.c | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/src/acpi/mcfg/mcfg.c b/src/acpi/mcfg/mcfg.c
>> index f4cd53c..1655d3b 100644
>> --- a/src/acpi/mcfg/mcfg.c
>> +++ b/src/acpi/mcfg/mcfg.c
>> @@ -118,7 +118,7 @@ static int mcfg_test1(fwts_framework *fw)
>> void *mapped_table_page;
>> struct mcfg_entry *table, firstentry;
>> int failed = 0;
>> - int mcfg_size;
>> + ssize_t mcfg_size;
>> const char *memory_map_name;
>> int page_size;
>>
>> @@ -148,9 +148,9 @@ static int mcfg_test1(fwts_framework *fw)
>> mcfg_size -= 36; /* general ACPI header */
>> mcfg_size -= 8; /* 8 bytes of padding */
>>
>> - if ((int)mcfg_size<0) {
>> + if (mcfg_size < 0) {
>> fwts_failed(fw, LOG_LEVEL_HIGH, "MCFGInvalidSize",
>> - "Invalid MCFG ACPI table size: got %d bytes expecting more",
>> + "Invalid MCFG ACPI table size: got %zd bytes expecting
>> more",
>> mcfg_size + 36 + 8);
>> fwts_tag_failed(fw, FWTS_TAG_ACPI_INVALID_TABLE);
>> fwts_advice(fw,
>> @@ -167,14 +167,14 @@ static int mcfg_test1(fwts_framework *fw)
>> return FWTS_ERROR;
>> }
>>
>> - if ((nr * sizeof(struct mcfg_entry)) != mcfg_size) {
>> + if (mcfg_size != (ssize_t)(nr * sizeof(struct mcfg_entry))) {
>> fwts_failed(fw, LOG_LEVEL_HIGH, "MCFGInvalidSize2",
>> "MCFG table is not a multiple of record size");
>> fwts_tag_failed(fw, FWTS_TAG_ACPI_INVALID_TABLE);
>> return FWTS_ERROR;
>> }
>>
>> - fwts_log_info(fw, "MCFG table found, size is %i bytes (excluding
>> header) (%i entries).",
>> + fwts_log_info(fw, "MCFG table found, size is %zd bytes (excluding
>> header) (%i entries).",
>> mcfg_size, nr);
>>
>> table_page = table_ptr = (const uint8_t *)mcfg_table->data;
>>
>
> Is there a reason ssize_t is more preferred than size_t?
Yep, because the following math on mcfg_size can possibly make it negative:
mcfg_size = mcfg_table->length;
mcfg_size -= 36; /* general ACPI header */
mcfg_size -= 8; /* 8 bytes of padding */
..and I'd like to be able to detect that easily.
Colin
>
> Cheers,
> Alex Hung
>
More information about the fwts-devel
mailing list