mirror of https://github.com/acidanthera/audk.git
MdeModulePkg SmbiosMeasurementDxe: Add NominalSpeed in Type 27 to black list
Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
parent
0b6dc68dc3
commit
b8922094f6
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
This driver measures SMBIOS table to TPM.
|
This driver measures SMBIOS table to TPM.
|
||||||
|
|
||||||
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -84,6 +84,9 @@ SMBIOS_FILTER_TABLE mSmbiosFilterType22BlackList[] = {
|
||||||
SMBIOS_FILTER_TABLE mSmbiosFilterType23BlackList[] = {
|
SMBIOS_FILTER_TABLE mSmbiosFilterType23BlackList[] = {
|
||||||
{0x17, OFFSET_OF(SMBIOS_TABLE_TYPE23, ResetCount), FIELD_SIZE_OF(SMBIOS_TABLE_TYPE23, ResetCount), 0},
|
{0x17, OFFSET_OF(SMBIOS_TABLE_TYPE23, ResetCount), FIELD_SIZE_OF(SMBIOS_TABLE_TYPE23, ResetCount), 0},
|
||||||
};
|
};
|
||||||
|
SMBIOS_FILTER_TABLE mSmbiosFilterType27BlackList[] = {
|
||||||
|
{0x1B, OFFSET_OF(SMBIOS_TABLE_TYPE27, NominalSpeed), FIELD_SIZE_OF(SMBIOS_TABLE_TYPE27, NominalSpeed), 0},
|
||||||
|
};
|
||||||
SMBIOS_FILTER_TABLE mSmbiosFilterType39BlackList[] = {
|
SMBIOS_FILTER_TABLE mSmbiosFilterType39BlackList[] = {
|
||||||
{0x27, OFFSET_OF(SMBIOS_TABLE_TYPE39, SerialNumber), FIELD_SIZE_OF(SMBIOS_TABLE_TYPE39, SerialNumber), SMBIOS_FILTER_TABLE_FLAG_IS_STRING},
|
{0x27, OFFSET_OF(SMBIOS_TABLE_TYPE39, SerialNumber), FIELD_SIZE_OF(SMBIOS_TABLE_TYPE39, SerialNumber), SMBIOS_FILTER_TABLE_FLAG_IS_STRING},
|
||||||
{0x27, OFFSET_OF(SMBIOS_TABLE_TYPE39, AssetTagNumber), FIELD_SIZE_OF(SMBIOS_TABLE_TYPE39, AssetTagNumber), SMBIOS_FILTER_TABLE_FLAG_IS_STRING},
|
{0x27, OFFSET_OF(SMBIOS_TABLE_TYPE39, AssetTagNumber), FIELD_SIZE_OF(SMBIOS_TABLE_TYPE39, AssetTagNumber), SMBIOS_FILTER_TABLE_FLAG_IS_STRING},
|
||||||
|
@ -101,6 +104,7 @@ SMBIOS_FILTER_STRUCT mSmbiosFilterStandardTableBlackList[] = {
|
||||||
{0x12, NULL, 0},
|
{0x12, NULL, 0},
|
||||||
{0x16, mSmbiosFilterType22BlackList, sizeof(mSmbiosFilterType22BlackList)/sizeof(mSmbiosFilterType22BlackList[0])},
|
{0x16, mSmbiosFilterType22BlackList, sizeof(mSmbiosFilterType22BlackList)/sizeof(mSmbiosFilterType22BlackList[0])},
|
||||||
{0x17, mSmbiosFilterType23BlackList, sizeof(mSmbiosFilterType23BlackList)/sizeof(mSmbiosFilterType23BlackList[0])},
|
{0x17, mSmbiosFilterType23BlackList, sizeof(mSmbiosFilterType23BlackList)/sizeof(mSmbiosFilterType23BlackList[0])},
|
||||||
|
{0x1B, mSmbiosFilterType27BlackList, sizeof(mSmbiosFilterType27BlackList)/sizeof(mSmbiosFilterType27BlackList[0])},
|
||||||
{0x1F, NULL, 0},
|
{0x1F, NULL, 0},
|
||||||
{0x21, NULL, 0},
|
{0x21, NULL, 0},
|
||||||
{0x27, mSmbiosFilterType39BlackList, sizeof(mSmbiosFilterType39BlackList)/sizeof(mSmbiosFilterType39BlackList[0])},
|
{0x27, mSmbiosFilterType39BlackList, sizeof(mSmbiosFilterType39BlackList)/sizeof(mSmbiosFilterType39BlackList[0])},
|
||||||
|
@ -281,18 +285,23 @@ FilterSmbiosEntry (
|
||||||
} else {
|
} else {
|
||||||
Filter = FilterStruct->Filter;
|
Filter = FilterStruct->Filter;
|
||||||
for (Index = 0; Index < FilterStruct->FilterCount; Index++) {
|
for (Index = 0; Index < FilterStruct->FilterCount; Index++) {
|
||||||
if ((Filter[Index].Flags & SMBIOS_FILTER_TABLE_FLAG_IS_STRING) != 0) {
|
if (((SMBIOS_STRUCTURE *) TableEntry)->Length >= (Filter[Index].Offset + Filter[Index].Size)) {
|
||||||
CopyMem (&StringId, (UINT8 *)TableEntry + Filter[Index].Offset, sizeof(StringId));
|
//
|
||||||
if (StringId != 0) {
|
// The field is present in the SMBIOS entry.
|
||||||
// set ' ' for string field
|
//
|
||||||
String = GetSmbiosStringById (TableEntry, StringId, &StringLen);
|
if ((Filter[Index].Flags & SMBIOS_FILTER_TABLE_FLAG_IS_STRING) != 0) {
|
||||||
ASSERT (String != NULL);
|
CopyMem (&StringId, (UINT8 *)TableEntry + Filter[Index].Offset, sizeof(StringId));
|
||||||
//DEBUG ((EFI_D_INFO,"StrId(0x%x)-%a(%d)\n", StringId, String, StringLen));
|
if (StringId != 0) {
|
||||||
SetMem (String, StringLen, ' ');
|
// set ' ' for string field
|
||||||
|
String = GetSmbiosStringById (TableEntry, StringId, &StringLen);
|
||||||
|
ASSERT (String != NULL);
|
||||||
|
//DEBUG ((EFI_D_INFO,"StrId(0x%x)-%a(%d)\n", StringId, String, StringLen));
|
||||||
|
SetMem (String, StringLen, ' ');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
// zero non-string field
|
||||||
|
ZeroMem ((UINT8 *)TableEntry + Filter[Index].Offset, Filter[Index].Size);
|
||||||
}
|
}
|
||||||
// zero non-string field
|
|
||||||
ZeroMem ((UINT8 *)TableEntry + Filter[Index].Offset, Filter[Index].Size);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue