From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 963CC740038 for ; Mon, 4 Dec 2023 07:18:55 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=ZNNO3DpbDd12A3NLA8ZObyONb72rfzAggIvT49MsqUY=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1701674334; v=1; b=bY04f1Wv9u3x0OJYowPO2wOnXKC/DaeQbu+FmoQul5LxgbikNoOhhrUFubbIRD9SpLCD7cKh kCXC+ULKu6qtTu7p4WAjCzIQTMdAjbS+9NmV66RtCp1YysGMB0yxLkwrT4s6yn7wUW+UJTyBYLU DXaJWGeet12s4XEZyAIX6flY= X-Received: by 127.0.0.2 with SMTP id 9L8aYY7687511xFihqEk1CDT; Sun, 03 Dec 2023 23:18:54 -0800 X-Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.56]) by mx.groups.io with SMTP id smtpd.web11.63701.1701674333543575476 for ; Sun, 03 Dec 2023 23:18:53 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iJjfCode/LeT+MLqcfnH/9guWcyVcBmebwZ+1wz2yFt18XYIoGUkOE3PZ6VhRVljWrfk6dT7EDl8w+JakRY+gishrg6rSkO3BDOfln+q1tE8Pxubeid9RkHWRTvaX5IudcRZrnAmXZsEtWF+wQMLY/TK50B3q4dKLAbNDF0mz7Ey8QC7Y8yULQCl46BWPgYlCpwQ0VQDZ5hA/Y3pl4idFjrnuPZD55Pv77fYkXqGL+odxqtfdh4nFPhOGqjNXpM+P9CVWL4qHLP8BWubb1D8lbQTlI/bSxufHZfMmGOpn+r9sENiUd9gbzjNAidLkXNb+zTULop9I8hwUnJodHpHwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Rh4YZcZgZJdLl71NUNiZB8c+7FFiktnImQvz8PZ3S4I=; b=LdZ2hxzRv+udJ68NCuyxKj0rVrE56hhJkojt9wU/zewRy0z2rjfbOIwdUprvfl7wVWAqI6Z9+Ok2hIGKXLbe85dstMO2fgBexQSt//2I0aal9O24ddDk+MZtmkXRdN13AJArbJ+4i3knHgLM/WkF3ouEO9ZL2yP6MNq0NVP3If102z2MM3hhFYpcBdn/gYQXcAmRWvB+YwPOQq7rPAWCeF+W9WL586UcxPECcxpTF4DJxUQYZWjNwjHaY3dbRf3vp1sP9f5LOyGubcjjqPuzmPa0EAYhNUqat98PD7Kh+R3u26dHOE6kRVhqOJmT+p9NtOKV1Il9SwkhJfcRuV99rg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none X-Received: from MW4PR12MB7031.namprd12.prod.outlook.com (2603:10b6:303:1ef::6) by PH7PR12MB5688.namprd12.prod.outlook.com (2603:10b6:510:130::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.33; Mon, 4 Dec 2023 07:18:51 +0000 X-Received: from MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::a78e:602e:415c:4cb4]) by MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::a78e:602e:415c:4cb4%3]) with mapi id 15.20.7046.033; Mon, 4 Dec 2023 07:18:51 +0000 From: "Nickle Wang via groups.io" To: "abner.chang@amd.com" , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Mike Maslenkin Subject: Re: [edk2-devel] [PATCH V3 6/9] RedfishPkg/RedfishDiscovery: Refine SMBIOS 42h code Thread-Topic: [PATCH V3 6/9] RedfishPkg/RedfishDiscovery: Refine SMBIOS 42h code Thread-Index: AQHaIPMHeJjFSJbF8U6qImnMd3StwLCYwlag Date: Mon, 4 Dec 2023 07:18:50 +0000 Message-ID: References: <20231127053107.1686-1-abner.chang@amd.com> <20231127053107.1686-7-abner.chang@amd.com> In-Reply-To: <20231127053107.1686-7-abner.chang@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR12MB7031:EE_|PH7PR12MB5688:EE_ x-ms-office365-filtering-correlation-id: 6923665e-b19c-45fd-d533-08dbf49943ef x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: wbClW3j0ued56icrPkEX+qfsH9+KQ0okG5NJHxewupgDhcbLZ9kiLsAIcLgD6t4l+uD+2drNjdQHbKHxYj4oxW3KlzM8X6OGgW1EozdKRacN4YRj9r57PRVsla43g7zOv9T2Mu0vcgHa1i3gG9gJ/jd+xT2eEfBk9XUyqZ/zwwgA1Xv51XxkRCDB0634JfipmrqyiGtMULDcI42XDqogU4/HaW7BV39dERJSFb1TA/72oq7dlvoQ1mt6Atie1WFYuOCwutuxhjfvo5411lDcmgg7v6BU8gdWx0QczJtNCzoDST6k1CMnhtUs37CN5iW0acEpSX2zv4OAmRrpcmYxctGUiM476QiKT4kgKCQ6RdGMByv3xMz5V68PUnQC+1T9JrID4Z5g0+3heYasrgbWamS6YsmShWoEVw4bdNoud531ws+bj5sWsH2stGNYUN2cionnHificHPVZ78X7Cr5IcQmzAIbYOLAs1lrJ5UtwGTaLd1dVdBYpixvqm9rFebNs4rg/Y0XcoEH1/JtSyxgs9BcklkvaS4TD79zC5YiGjUdSv63/2v70wyu7OX0je+NkJTZS4onPOZHYOtEcYkeW4zTYNKH6JAwzPyo/8eOLbHxKqxn6vJZLW6dkO443RLTu4GcgA/fUkCc5Niu/cA6fCOdQiJhe9d08mUeG18JE5VxIWtydXbRigKTb/asX+Rb x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?KQYzXCP6eXVdUy2+HCbrr1i3sN8sT31D7fujDo19K6nNBZgpzRQYO3lR2clD?= =?us-ascii?Q?b2iZ55sAqvre8/Au9IUaisuZGA7wjX1Na290cy4IMcJmzquPdjZctpvLAK3t?= =?us-ascii?Q?ngeDria2hbLNcBZ0kBq8l5ihTxg4AXM6Znv7ZLz+faVsGQ8HV2XN6SLCfNpG?= =?us-ascii?Q?90dCGqSkMAE0smawXmeNA2MKXF55QvswV5WZ9Ng+A8PQyKiZZEo1xOaEfSNs?= =?us-ascii?Q?SbBidS6wvazHcN6LuCZGbkxZLisbLq1ihB8JxIhXAGVf0qjqogyHJG+4fJ8S?= =?us-ascii?Q?sbnYmlszbwKnycd7q8Z0E9RN7DJRIiHWDIIOCIpcLvR2/Y0reEDgLVZAkuHR?= =?us-ascii?Q?+ZAfh5WrOD7iOyR69nN5JEyI/JatHsP3AHSzwuk3ZMIjdtkU3xpzuT21cQOR?= =?us-ascii?Q?A0LFatKkaB8J0/MZlRxZDfPP+Z15lM7WAyWAywoG8S8eCsnv0rVJXf3z+YS4?= =?us-ascii?Q?61aYVmXX5YBneKPEQN/bpMbRmCO6yhmeXuXvqd5fSDHgxFFKSrhRzSZV+swL?= =?us-ascii?Q?XdmhOkLK3tfZXzXd21vxxgUPSzxQ/EGqOxtTE6z7H2s3KscLhN53QkZ/aWTm?= =?us-ascii?Q?a6jkhaDkku7uD1ioxWjY71IK7r4ChbkTl/1xtUt9Tt55WGi67V8PwzdORh8q?= =?us-ascii?Q?FtFH9SNJbX5ZOi3wHHP96M3LIJ8+3FmPHJXLB6ksHArHKSRwfYyJv4AoEtVc?= =?us-ascii?Q?8y3DlFzUV0jWX7fonHYGJYYX3KVAevY1FtSsWTSgeWR8wlscZCRGrVJWUYUI?= =?us-ascii?Q?GJmvZK0qD9BVUTpY8ohxRoe7WLXvpZPRRw/VewFPNZCLnyNlPV1KM8jm4+H8?= =?us-ascii?Q?Yg/emSGo+p3VnWlyVmS0sEL9Yk61ffiCt5CLdFN/1fauRq5ezFtL+wWUxpMs?= =?us-ascii?Q?8A+rCXcCZ0tMRxBkMgivUuegsEz/uvfuFUetMbPZKMD40RTa1eeNGHfc75zG?= =?us-ascii?Q?GWwUYW3IryBYvLflCeySnru0P1PiCLiDGjSqJsqleh0BUe81GLSL12MlD7eO?= =?us-ascii?Q?a9X7HW7fmMKsX1wg9blDcXol6ZkoDmdCb/VYg7saSeTiqRlodirbh3BDgnCj?= =?us-ascii?Q?mOZzc+yj+zv4DfxVdRW+dyGqoakLVr+7Ug18cjCIHza5sAS/eN0qOOIobQu5?= =?us-ascii?Q?5qfbA0ppRpoY0ZLufLOOiU77WKt88tVuJKk2dzI1bQP2JWr/nOw6bZxvbI1U?= =?us-ascii?Q?xeAddRoZ6FQvnj8fKRwmIitg0g6Cr+w9w2lyR+PAIVV2JQ6XnNulb7Wd207F?= =?us-ascii?Q?NrpXo66iigKC9iRKIvTzO4Kf6K9BJmpWz2D6nBD2wncLx/b6QUqcuBPfU+hu?= =?us-ascii?Q?yoiCPNlHh9zoWC/OSJqsESajjfL/y+jNea34Kghnxl3jJ1uk6sV6//Jn1YSv?= =?us-ascii?Q?waWlfQeaETlQDF0/yAs84V0g+RVo/DOss6qVUJBvbys3tPeT4uTOSIL8cRDp?= =?us-ascii?Q?EiwKacb8lvGGxKkg0QhzHqoze+9bY1aVmESOUvclQTo7ZvimUy5QBI5tKRxo?= =?us-ascii?Q?izzG/+ZK+KkjSkDRgEkLFBdIVO5upRUdJlXwArhySwXJ2RAvPl3ZlSgc3aat?= =?us-ascii?Q?uHqDg4tYdH78vRRb3aHMOf42XcPfWJM2HcZcb6JV3x3aUcgnh7jxbzqusHoH?= =?us-ascii?Q?fWY5FWfrgvicdvzWmFlvrR37RKmSKuyaQjUhwF9YFhdb?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7031.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6923665e-b19c-45fd-d533-08dbf49943ef X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2023 07:18:50.9535 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: A5pByE89jzsCdNEMOyoXIGeoZfiovO7QK9LLryJdAmVMuOMFNyrbIknnC9tmFED6qeH3KCgElOkvbjjk0ED1OQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5688 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,nicklew@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 0HSTsu4SPiV8dDaSEXsmTS7nx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=bY04f1Wv; dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") Reviewed-by: Nickle Wang Regards, Nickle > -----Original Message----- > From: abner.chang@amd.com > Sent: Monday, November 27, 2023 1:31 PM > To: devel@edk2.groups.io > Cc: Nickle Wang ; Igor Kulchytskyy ; > Mike Maslenkin > Subject: [PATCH V3 6/9] RedfishPkg/RedfishDiscovery: Refine SMBIOS 42h co= de >=20 > External email: Use caution opening links or attachments >=20 >=20 > From: Abner Chang >=20 > Refine SMBIOS 42h code add mode debug message for the error conditions. >=20 > Signed-off-by: Abner Chang > Cc: Nickle Wang > Cc: Igor Kulchytskyy > Cc: Mike Maslenkin > --- > .../RedfishDiscoverInternal.h | 2 ++ > .../RedfishSmbiosHostInterface.c | 20 +++++++++++++++++-- > 2 files changed, 20 insertions(+), 2 deletions(-) >=20 > diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h > b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h > index e27cfa76e39..de7faa4f975 100644 > --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h > +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverInternal.h > @@ -42,6 +42,8 @@ > #define MAC_COMPARE(This, Target) (CompareMem ((VOID *)&(This)- > >MacAddress, &(Target)->MacAddress, (This)->HwAddressSize) =3D=3D 0) > #define VALID_TCP6(Target, This) ((Target)->IsIpv6 && ((This)- > >NetworkProtocolType =3D=3D ProtocolTypeTcp6)) > #define VALID_TCP4(Target, This) (!(Target)->IsIpv6 && ((This)- > >NetworkProtocolType =3D=3D ProtocolTypeTcp4)) > +#define REDFISH_HI_ITERFACE_SPECIFIC_DATA_LENGTH_OFFSET > ((UINT16)(UINTN)(&((SMBIOS_TABLE_TYPE42 *)0)- > >InterfaceTypeSpecificDataLength)) > +#define REDFISH_HI_PROTOCOL_HOSTNAME_LENGTH_OFFSET > ((UINT16)(UINTN)(&((REDFISH_OVER_IP_PROTOCOL_DATA *)0)- > >RedfishServiceHostnameLength)) >=20 > // > // GUID definitions > diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishSmbiosHostInterface.c > b/RedfishPkg/RedfishDiscoverDxe/RedfishSmbiosHostInterface.c > index 0d6edc7dc35..57665f367be 100644 > --- a/RedfishPkg/RedfishDiscoverDxe/RedfishSmbiosHostInterface.c > +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishSmbiosHostInterface.c > @@ -56,7 +56,7 @@ RedfishGetHostInterfaceProtocolData ( > mType42Record =3D (SMBIOS_TABLE_TYPE42 *)Record; > if (mType42Record->InterfaceType =3D=3D > MCHostInterfaceTypeNetworkHostInterface) { > ASSERT (Record->Length >=3D 9); > - Offset =3D 5; > + Offset =3D REDFISH_HI_ITERFACE_SPECIFIC_DATA_LENGTH_OFFSET; > RecordTmp =3D (UINT8 *)Record + Offset; > // > // Get interface specific data length. > @@ -70,11 +70,13 @@ RedfishGetHostInterfaceProtocolData ( > // > if ((*RecordTmp =3D=3D > REDFISH_HOST_INTERFACE_DEVICE_TYPE_PCI_PCIE_V2) || (*RecordTmp =3D=3D > REDFISH_HOST_INTERFACE_DEVICE_TYPE_USB_V2)) { > if (*RecordTmp =3D=3D > REDFISH_HOST_INTERFACE_DEVICE_TYPE_PCI_PCIE_V2) { > + // According to Redfish Host Interface specification, add ad= ditional one > byte for Device Type field. > if (SpecificDataLen !=3D sizeof > (PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2) + 1) { > ASSERT (SpecificDataLen =3D=3D sizeof > (PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2) + 1); > return EFI_VOLUME_CORRUPTED; > } > } else { > + // According to Redfish Host Interface specification, add ad= ditional one > byte for Device Type field. > if (SpecificDataLen !=3D sizeof (USB_INTERFACE_DEVICE_DESCRI= PTOR_V2) > + 1) { > ASSERT (SpecificDataLen =3D=3D sizeof > (USB_INTERFACE_DEVICE_DESCRIPTOR_V2) + 1); > return EFI_VOLUME_CORRUPTED; @@ -105,7 +107,14 @@ > RedfishGetHostInterfaceProtocolData ( > // This SMBIOS record is invalid, if the length of protocol = specific data for > // Redfish Over IP protocol is wrong. > // > - if ((*(RecordTmp + 90) + sizeof (REDFISH_OVER_IP_PROTOCOL_DA= TA) - > 1) !=3D ProtocolLength) { > + if ((*(RecordTmp + > REDFISH_HI_PROTOCOL_HOSTNAME_LENGTH_OFFSET) + sizeof > (REDFISH_OVER_IP_PROTOCOL_DATA) - 1) !=3D ProtocolLength) { > + DEBUG (( > + DEBUG_ERROR, > + "%a: Length of protocol specific data is not match: %d != =3D > ProtocolLength(%d).\n", > + __func__, > + *(RecordTmp + > REDFISH_HI_PROTOCOL_HOSTNAME_LENGTH_OFFSET) + sizeof > (REDFISH_OVER_IP_PROTOCOL_DATA) - 1, > + ProtocolLength > + )); > return EFI_SECURITY_VIOLATION; > } >=20 > @@ -114,6 +123,13 @@ RedfishGetHostInterfaceProtocolData ( > // This SMBIOS record is invalid, if the length is smaller t= han the offset. > // > if (Offset > mType42Record->Hdr.Length) { > + DEBUG (( > + DEBUG_ERROR, > + "%a: Offset (%d) > mType42Record->Hdr.Length (%d).\n", > + __func__, > + Offset, > + mType42Record->Hdr.Length > + )); > return EFI_SECURITY_VIOLATION; > } >=20 > -- > 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112013): https://edk2.groups.io/g/devel/message/112013 Mute This Topic: https://groups.io/mt/102824323/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-