ACK: [PATCH 1/4] dmi: dmicheck: check pci(e) slot and segment, bus and dev/func

ivanhu ivan.hu at canonical.com
Tue May 23 07:42:10 UTC 2017



On 05/12/2017 10:06 AM, Alex Hung wrote:
> Slot types in type 9 other than PCI, AGP, PCI-X, or PCI-Express
> should have segment, bus and dev/func to set to 0xff.
>
> Signed-off-by: Alex Hung <alex.hung at canonical.com>
> ---
>   src/dmi/dmicheck/dmicheck.c | 25 +++++++++++++++++++++++++
>   1 file changed, 25 insertions(+)
>
> diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
> index e8e8f13..5a09ea4 100644
> --- a/src/dmi/dmicheck/dmicheck.c
> +++ b/src/dmi/dmicheck/dmicheck.c
> @@ -1304,6 +1304,31 @@ static void dmicheck_entry(fwts_framework *fw,
>   					"0x%8.8" PRIx32 ", field '%s', offset 0x%2.2x",
>   					data[0xc],
>   					table, addr, "Slot Characteristics 2", 0xc);
> +			if (hdr->length < 0x11)
> +				break;
> +			if (!((data[0x5] == 0x06) ||
> +			      ((data[0x5] >= 0x0e) && (data[0x5] <= 0x23)) ||
> +			      ((data[0x5] >= 0xa0) && (data[0x5] <= 0xb6)))) {
> +				if (GET_UINT16(data + 0xd) != 0xffff)
> +					fwts_failed(fw, LOG_LEVEL_MEDIUM, DMI_VALUE_OUT_OF_RANGE,
> +						"Invalid value 0x%4.4" PRIx16 " was used and 0xffff"
> +						"should be used for non-PCI(e) while accessing entry '%s' @ "
> +						"0x%8.8" PRIx32 ", field '%s', offset 0x%2.2x",
> +						GET_UINT16(data + 0x0d), table, addr, "Segment Group Number", 0xd);
> +				if (data[0xf] != 0xff)
> +					fwts_failed(fw, LOG_LEVEL_MEDIUM, DMI_VALUE_OUT_OF_RANGE,
> +						"Invalid value 0x%2.2" PRIx8 " was used and 0xff"
> +						"should be used for non-PCI(e) while accessing entry '%s' @ "
> +						"0x%8.8" PRIx32 ", field '%s', offset 0x%2.2x",
> +						data[0xf], table, addr, "Bus Number", 0xf);
> +				if (data[0x10] != 0xff)
> +					fwts_failed(fw, LOG_LEVEL_MEDIUM, DMI_VALUE_OUT_OF_RANGE,
> +						"Invalid value 0x%2.2" PRIx8 " was used and 0xff"
> +						"should be used for non-PCI(e) while accessing entry '%s' @ "
> +						"0x%8.8" PRIx32 ", field '%s', offset 0x%2.2x",
> +						data[0x10], table, addr, "Device/Function Number", 0x10);
> +			}
> +
>   			break;
>   
>   		case 10: /* 7.11 (Type 10 is obsolete) */


Acked-by: Ivan Hu <ivan.hu at canonical.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/fwts-devel/attachments/20170523/4561aa5f/attachment-0001.html>


More information about the fwts-devel mailing list