]> git.baikalelectronics.ru Git - kernel.git/commit
firmware: dmi_scan: Look for SMBIOS 3 entry point first
authorJean Delvare <jdelvare@suse.de>
Thu, 15 Jun 2017 11:46:00 +0000 (13:46 +0200)
committerJean Delvare <jdelvare@suse.de>
Thu, 15 Jun 2017 11:46:00 +0000 (13:46 +0200)
commit7cdaceb8df2e503da49b9fa87f1b98f6d4add41a
tree980a76f0254ae4740ee568b58241443e8957207f
parente9e02ea9c2ec5186bb77a8d5bc3b7bee407a45bb
firmware: dmi_scan: Look for SMBIOS 3 entry point first

Since version 3.0.0 of the SMBIOS specification, there can be
multiple entry points in memory, pointing to one or two DMI tables.
If both a 32-bit ("_SM_") entry point and a 64-bit ("_SM3_") entry
point are present, the specification requires that the latter points
to a table which is a super-set of the table pointed to by the
former. Therefore we should give preference to the 64-bit ("_SM3_")
entry point.

However, currently the code is picking the first valid entry point
it finds. Per specification, we should look for a 64-bit ("_SM3_")
entry point first, and if we can't find any, look for a 32-bit
("_SM_" or "_DMI_") entry point. Modify the code to do that.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
drivers/firmware/dmi_scan.c