Re: [added to the 3.18 stable tree] firmware: dmi_scan: Fix dmi scan to handle "End of Table" structure

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

 



Ivan,

>From what I can tell the SMBIOS v3 support patch was added in 3.18, and
that what the commit message says that this patch fixes.

What am I missing?


Thanks,
Sasha

On 03/18/2015 05:17 AM, Ivan Khoronzhuk wrote:
> Sasha,
> 
> It improves dmi_table scan in 3.18 but not fix.
> It fixes beginning from 3.19 only.
> 
> On 18.03.15 05:14, Sasha Levin wrote:
>> From: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx>
>>
>> This patch has been added to the 3.18 stable tree. If you have any
>> objections, please let us know.
>>
>> ===============
>>
>> [ Upstream commit ce204e9a4bd82e9e6e7479bca8057e45aaac5c42 ]
>>
>> The dmi-sysfs should create "End of Table" entry, that is type 127. But
>> after adding initial SMBIOS v3 support fc43026278b2 ("dmi: add support
>> for SMBIOS 3.0 64-bit entry point") the 127-0 entry is not handled any
>> more, as result it's not created in dmi sysfs for instance. This is
>> important because the size of whole DMI table must correspond to sum of
>> all DMI entry sizes.
>>
>> So move the end-of-table check after it's handled by dmi_table.
>>
>> Reviewed-by: Ard Biesheuvel <ard@xxxxxxxxxx>
>> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx>
>> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
>> Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
>> ---
>>   drivers/firmware/dmi_scan.c | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
>> index 84bc2a5..3a53c36 100644
>> --- a/drivers/firmware/dmi_scan.c
>> +++ b/drivers/firmware/dmi_scan.c
>> @@ -102,6 +102,13 @@ static void dmi_table(u8 *buf, u32 len, int num,
>>               data++;
>>           if (data - buf < len - 1)
>>               decode(dm, private_data);
>> +
>> +        /*
>> +         * 7.45 End-of-Table (Type 127) [SMBIOS reference spec v3.0.0]
>> +         */
>> +        if (dm->type == DMI_ENTRY_END_OF_TABLE)
>> +            break;
>> +
>>           data += 2;
>>           i++;
>>       }
> 

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]