ACK: [PATCH] dmi: dmicheck: add more checks for invalid DMI fields (LP: #1262236)
IvanHu
ivan.hu at canonical.com
Thu Jan 9 06:16:07 UTC 2014
On 01/07/2014 06:59 PM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> There are a lot of weird and wonderful invalid DMI fields that
> should be checked for in the dmicheck. I've scanned thousands of
> bug reports for invalid fields and added them to the dmicheck tests.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/dmi/dmicheck/dmicheck.c | 103 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 103 insertions(+)
>
> diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
> index f73d6f6..c6a3151 100644
> --- a/src/dmi/dmicheck/dmicheck.c
> +++ b/src/dmi/dmicheck/dmicheck.c
> @@ -84,16 +84,119 @@ typedef struct {
> uint8_t offset;
> } fwts_dmi_used_by_kernel;
>
> +/*
> + * Table derived by scanning thousands of DMI table dumps from bug reports
> + */
> static const fwts_dmi_pattern dmi_patterns[] = {
> + { "DMISerialNumber", "Serial Number", "0000000" },
> + { "DMISerialNumber", "Serial Number", "00000000" },
> + { "DMISerialNumber", "Serial Number", "000000000" },
> + { "DMISerialNumber", "Serial Number", "0000000000" },
> + { "DMISerialNumber", "Serial Number", "0x00000000" },
> + { "DMISerialNumber", "Serial Number", "0x0000000000000000" },
> + { "DMISerialNumber", "Serial Number", "012345678" },
> { "DMISerialNumber", "Serial Number", "0123456789" },
> + { "DMISerialNumber", "Serial Number", "01234567890" },
> + { "DMISerialNumber", "Serial Number", "012345678900" },
> + { "DMISerialNumber", "Serial Number", "0123456789000" },
> { "DMISerialNumber", "Serial Number", "System Serial Number" },
> { "DMISerialNumber", "Serial Number", "MB-1234567890" },
> + { "DMISerialNumber", "Serial Number", "NB-1234567890" },
> + { "DMISerialNumber", "Serial Number", "NB-0123456789" },
> + { "DMISerialNumber", "Serial Number", "Base Board Serial Number" },
> + { "DMISerialNumber", "Serial Number", "Chassis Serial Number" },
> + { "DMISerialNumber", "Serial Number", "<cut out>" },
> + { "DMISerialNumber", "Serial Number", "Empty" },
> + { "DMISerialNumber", "Serial Number", "[Empty]" },
> + { "DMISerialNumber", "Serial Number", "NA" },
> + { "DMISerialNumber", "Serial Number", "N/A" },
> + { "DMISerialNumber", "Serial Number", "None" },
> + { "DMISerialNumber", "Serial Number", "None1" },
> + { "DMISerialNumber", "Serial Number", "Not Available" },
> + { "DMISerialNumber", "Serial Number", "Not Specified" },
> + { "DMISerialNumber", "Serial Number", "NotSupport" },
> + { "DMISerialNumber", "Serial Number", "Not Supported by CPU" },
> + { "DMISerialNumber", "Serial Number", "Not Supported" },
> + { "DMISerialNumber", "Serial Number", "OEM Chassis Serial Number" },
> + { "DMISerialNumber", "Serial Number", "OEM_Define1" },
> + { "DMISerialNumber", "Serial Number", "OEM_Define2" },
> + { "DMISerialNumber", "Serial Number", "OEM_Define3" },
> + { "DMISerialNumber", "Serial Number", "SerNum0" },
> + { "DMISerialNumber", "Serial Number", "SerNum00" },
> + { "DMISerialNumber", "Serial Number", "SerNum01" },
> + { "DMISerialNumber", "Serial Number", "SerNum02" },
> + { "DMISerialNumber", "Serial Number", "SerNum03" },
> + { "DMISerialNumber", "Serial Number", "SerNum1" },
> + { "DMISerialNumber", "Serial Number", "SerNum2" },
> + { "DMISerialNumber", "Serial Number", "SerNum3" },
> + { "DMISerialNumber", "Serial Number", "SerNum4" },
> + { "DMISerialNumber", "Serial Number", "TBD by ODM" },
> + { "DMISerialNumber", "Serial Number", "To Be Defined By O.E.M" },
> + { "DMISerialNumber", "Serial Number", "To be filled by O.E.M." },
> + { "DMISerialNumber", "Serial Number", "To Be Filled By O.E.M." },
> + { "DMISerialNumber", "Serial Number", "Unknow" },
> + { "DMISerialNumber", "Serial Number", "Unknown" },
> + { "DMISerialNumber", "Serial Number", "XXXXXXXXXXXX" },
> + { "DMISerialNumber", "Serial Number", "XXXXXXXXXXX" },
> + { "DMISerialNumber", "Serial Number", "XXXXXXXXXX" },
> + { "DMISerialNumber", "Serial Number", "XXXXXXXXX" },
> + { "DMISerialNumber", "Serial Number", "XXXXXXXX" },
> + { "DMISerialNumber", "Serial Number", "XXXXXX" },
> + { "DMISerialNumber", "Serial Number", "XXXXX" },
> { "DMISerialNumber", NULL, "Chassis Serial Number" },
> + { "DMIAssetTag", "Asset Tag", "0000000000" },
> + { "DMIAssetTag", "Asset Tag", "0x00000000" },
> { "DMIAssetTag", "Asset Tag", "1234567890" },
> + { "DMIAssetTag", "Asset Tag", "123456789000" },
> + { "DMIAssetTag", "Asset Tag", "9876543210" },
> + { "DMIAssetTag", "Asset Tag", "A1_AssetTagNum0" },
> + { "DMIAssetTag", "Asset Tag", "A1_AssetTagNum1" },
> + { "DMIAssetTag", "Asset Tag", "A1_AssetTagNum2" },
> + { "DMIAssetTag", "Asset Tag", "A1_AssetTagNum3" },
> + { "DMIAssetTag", "Asset Tag", "ABCDEFGHIJKLM" },
> { "DMIAssetTag", "Asset Tag", "Asset-1234567890" },
> + { "DMIAssetTag", "Asset Tag", "Asset Tag" },
> + { "DMIAssetTag", "Asset Tag", "Asset Tag:" },
> + { "DMIAssetTag", "Asset Tag", "AssetTagNum0" },
> + { "DMIAssetTag", "Asset Tag", "AssetTagNum1" },
> + { "DMIAssetTag", "Asset Tag", "AssetTagNum2" },
> + { "DMIAssetTag", "Asset Tag", "AssetTagNum3" },
> + { "DMIAssetTag", "Asset Tag", "AssetTagNum4" },
> + { "DMIAssetTag", "Asset Tag", "Asset tracking" },
> + { "DMIAssetTag", "Asset Tag", "ATN12345678901234567" },
> + { "DMIAssetTag", "Asset Tag", "Base Board Asset Tag#" },
> + { "DMIAssetTag", "Asset Tag", "Base Board Asset Tag" },
> + { "DMIAssetTag", "Asset Tag", "Chassis Asset Tag" },
> + { "DMIAssetTag", "Asset Tag", "<cut out>" },
> + { "DMIAssetTag", "Asset Tag", "Fill By OEM" },
> + { "DMIAssetTag", "Asset Tag", "N/A" },
> + { "DMIAssetTag", "Asset Tag", "No Asset Information" },
> + { "DMIAssetTag", "Asset Tag", "No Asset Tag" },
> + { "DMIAssetTag", "Asset Tag", "None" },
> + { "DMIAssetTag", "Asset Tag", "Not Available" },
> + { "DMIAssetTag", "Asset Tag", "Not Specified" },
> + { "DMIAssetTag", "Asset Tag", "OEM_Define0" },
> + { "DMIAssetTag", "Asset Tag", "OEM_Define1" },
> + { "DMIAssetTag", "Asset Tag", "OEM_Define2" },
> + { "DMIAssetTag", "Asset Tag", "OEM_Define3" },
> + { "DMIAssetTag", "Asset Tag", "OEM_Define4" },
> + { "DMIAssetTag", "Asset Tag", "TBD by ODM" },
> + { "DMIAssetTag", "Asset Tag", "To Be Defined By O.E.M" },
> + { "DMIAssetTag", "Asset Tag", "To be filled by O.E.M." },
> + { "DMIAssetTag", "Asset Tag", "To Be Filled By O.E.M." },
> + { "DMIAssetTag", "Asset Tag", "Unknown" },
> + { "DMIAssetTag", "Asset Tag", "XXXXXXXXXXXX" },
> + { "DMIAssetTag", "Asset Tag", "XXXXXXXXXXX" },
> + { "DMIAssetTag", "Asset Tag", "XXXXXXXXXX" },
> + { "DMIAssetTag", "Asset Tag", "XXXXXXXXX" },
> + { "DMIAssetTag", "Asset Tag", "XXXXXXXX" },
> + { "DMIAssetTag", "Asset Tag", "XXXXXXX" },
> + { "DMIAssetTag", "Asset Tag", "XXXXXX" },
> { "DMIChassisVendor", NULL, "Chassis Manufacture" },
> { "DMIChassisVersion", NULL, "Chassis Version" },
> { "DMIProductVersion", NULL, "System Version" },
> + { "DMIBadDefault", NULL, "To Be Defined By O.E.M" },
> + { "DMIBadDefault", NULL, "To be filled by O.E.M." },
> { "DMIBadDefault", NULL, "To Be Filled By O.E.M." },
> { NULL, NULL, NULL }
> };
>
Acked-by: Ivan Hu <ivan.hu at canonical.com>
More information about the fwts-devel
mailing list