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 24ED5AC0D9A for ; Wed, 20 Sep 2023 15:19:05 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=46Mp8VPvveTpu69/1ijOiOnjviqAInSHmIRFeBDnfKU=; 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=1695223144; v=1; b=AIJ0WOuZQVb/va7kOTUkr+Qr7bj2oOYFP4InxbvZJi+hnuRI40dVooyZcjmHfuY+M9jDxcCR Qz4sV6Iuv8AAORbEnvQPauX3TNXj0/6iW0+jDqrjSrBWIWeSnxj/axtuKZgBO3wDT1gq2ZKSuWK RtdkvOQhB3AF4bEdRsPuxhYg= X-Received: by 127.0.0.2 with SMTP id wxJXYY7687511x2BrpABorei; Wed, 20 Sep 2023 08:19:04 -0700 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.68]) by mx.groups.io with SMTP id smtpd.web10.42611.1695223143607100618 for ; Wed, 20 Sep 2023 08:19:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KnkYKH/72U1/90Lh8rypDfrPRRRzMq9WZKim7p8111ZUWs4dHHDoEDcTbafYJWQaakNAQrju07iMr0Bx39lbl2OiIDOSnZLikSyth5K2fRi+FDXHoNDMy00/WDIaL234VUAd+4Nlwno96UkEVZWAtq/b51Bm0Uc68ig243QBO6OZeLh0J9BUwT4b4CA24zLe2eXbgrLxV/VF2BnuLpz9LLGh7+DvVSbOUafHuzgSCvBJ0jf6PfW7lj18qO0ULIGZKG1TOG48+Wilq6/CRigihMEFcEzPvAEo4vSKjRFwFNmCwU91xgZBq2/JO6aT2XaHMSvT7M/DLJXAU6piwS5UfA== 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=zmnklbPBNZV0FL2uZOUaNGevJY1vd5arrTJSlSaO7P4=; b=R53fDiawxa/l6LgJckUp62eC+7+1zsVCZR1GSqksl12JnuUNjPYNVU+/CIqCWoSu136so7den8iijSlSUPjKKtyzCa+mG8KsS0v6dL5Sd38k0rwr981xKwOIQTmxvvNiZH/4VZLnwVEqDWT2uvRerKVrKi+/pgvKqce/rsfmJ/FvhEWGq6fOqtAV8/iKz60nqoOfz9biNBMnSVdcgvBGA1tmphC32/XyDm3DoWGSDV86gF0lm0xb8qrzG0F8SaL/rxYsGOKbEaUIp0IUdEXgfodwmhlVrY4O1QiUcsYGbF3UWAoZaKzUceK/j9ye5ApTvEd2VAnNtm6XaSII94DNsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ami.com; dmarc=pass action=none header.from=ami.com; dkim=pass header.d=ami.com; arc=none X-Received: from BLAPR10MB5185.namprd10.prod.outlook.com (2603:10b6:208:328::16) by CH0PR10MB5164.namprd10.prod.outlook.com (2603:10b6:610:da::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20; Wed, 20 Sep 2023 15:19:01 +0000 X-Received: from BLAPR10MB5185.namprd10.prod.outlook.com ([fe80::dc2c:50e8:b23e:d010]) by BLAPR10MB5185.namprd10.prod.outlook.com ([fe80::dc2c:50e8:b23e:d010%7]) with mapi id 15.20.6813.017; Wed, 20 Sep 2023 15:19:01 +0000 From: "Igor Kulchytskyy via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Abner Chang , Nick Ramirez Subject: Re: [edk2-devel] [PATCH] RedfishPkg/JsonLib: fix JsonObjectGetValue issue Thread-Topic: [EXTERNAL] [PATCH] RedfishPkg/JsonLib: fix JsonObjectGetValue issue Thread-Index: AQHZ6jFHjj/iUZHxa0mPmFXo0d/sgrAj1wSA Date: Wed, 20 Sep 2023 15:19:01 +0000 Message-ID: References: <20230918130838.6137-1-nicklew@nvidia.com> In-Reply-To: <20230918130838.6137-1-nicklew@nvidia.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BLAPR10MB5185:EE_|CH0PR10MB5164:EE_ x-ms-office365-filtering-correlation-id: d9bc3401-e24d-48fe-4cb2-08dbb9eceb45 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: zFGnlpJYU67mF/WVzI1gok54JGya7ilDN3STL966MJoXbUuAD0CyaYFE71agh2SdP8zRCt/127Xiv7q58ASNSWQTRzKDeYjQe5d8G2S7vJWmY4l4G1bJQOTJ4V32WrNf3tdwWbnJq7vDvnabercHJxVh2A8wX1v0iMILm1UdFJGLfIxll+5WLICMWnnLRg+X8rzfsMKw0JKNW2kLSJxXbt9uw8eOHayRM8rQUJe+msENXRHGFQlCzDa6n1PnbcEBRe6ZC61GEX3pZnizK4Tx3cK5PAXh4AftQxAbNVjNjfcxDp+5Vi9IGj4LldRNhIpaOvEJiALpV9Ftn5fEiSbNgt09dc8/upmriOs9AADP7q2NjTeyJC8kTcDTaS8395MKZWMxrAVf/77feneDFVyLDTSFLGR2AcmGjjzw603b8+9TcnEqFRY+Jaku1WYX6V2helOeZSU/6rY+4ccEyAm1BsULxMxYrfIbxv0kTv9/votlJ3eJrSL4A3Btm455Ut2AtcUc2KOykCqlPIFLBZp4wNRIiUSX8RdeMBh5nCjT8N3DygO7NouNXWsoGFXYsS1Z4hP/vBMOA9TnLoquDZdrPlw6nPSO9YyGdOy2yapNEYNJ44iGmrPV5vJX1vbznjHE x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?hiIorTEB9yuI6MKh3pYckN3rBqhSIsRCeNdk7LiIEck7FDsMvISUf0Lc50Zl?= =?us-ascii?Q?/2/8K+w0d3Rp0Ju8KQnDb0SN32pwSQ1JEhW+A7HmE7Q7hF+Vl4rQT4wh6jBp?= =?us-ascii?Q?D8uvltQ+ELqxER8jO8SM8sGqLpx9yDyUwMg2TYcH/SHNQAtC0lFoe/NlmRPj?= =?us-ascii?Q?eaealcwCq8DMzsldi4FGc6cqQpvdoRZ14sESQyUcEu2bP6y3TzD3Zqygmmpm?= =?us-ascii?Q?FYWWHNxJLhb+6y32cuF6Wo7yZsZJ7hSGrRquoB2KzqzzAlK6v7ssImtpprD4?= =?us-ascii?Q?j+XQeBVjRpQISP5AX6wIjUYZu2QFUdSTEFUbLabENtZ80B75lUW0jM8h3WnI?= =?us-ascii?Q?ENOwdPO9Z2k3055TyAffQc2OhmBMAxcwYUu+OlrsJSV0SMLw09fBqSJEnier?= =?us-ascii?Q?OYKPCwlmnvr1Z9w8TTsm3Da3OTsjCKfhRqEAJ+ZSZYq8f0t3aqt88viIjf44?= =?us-ascii?Q?L1w5eKMk7MUHkGySrqPDdPFV81P4SQsx47Xd+MQE0TqvzzPdvuLnqTC7e3Tm?= =?us-ascii?Q?lSQELuk8fRcBjQj0JRSV7aWRFwNWGJ1s2lXC8XEraBZiTdWF5uFSfxhA70/d?= =?us-ascii?Q?68bihLU4Hwd57YlAsuy2AvPrAErkDidKzpTJuuQtWKyJlrQnAJHvJ16vrKhc?= =?us-ascii?Q?6C4wXbHY4EB5NhTrfza7waalshNjRrnH97fX05Z/8LYxlZPHmHWnuinpn4R6?= =?us-ascii?Q?DiHaS9Sqdz68UqV0TgKN+vDSPFEMZPRYIHJZ2oaM+etPO6Ficpkd5/j5JePP?= =?us-ascii?Q?CtdIpUoAtRHg5U09+i2BIhNtMwdtLUFmLQCyc01ioVm9YLcEUatYJ07/Ej3E?= =?us-ascii?Q?gH+JrBHTkJL3a2j94npBsRN6IexDFiRg100Yhr+18Sw/fGVOllDN7v0iyuDs?= =?us-ascii?Q?E4xmUyqFAT9bsaq5zZg4AQi2Mnc5XqHJx6MDUcZqILNtTW3aFnX1GnxMNWFt?= =?us-ascii?Q?ytgWU/GamdIg/EUiHLUG0jKtmifyp56ElwG41LM7SlCLNooxXeo3ekCSEVTe?= =?us-ascii?Q?/p7Kv2Y2AkA9vWLVkakT4owhqFwe42iwuDp19K2k9kdJ2RSytPbjNV8vZ4BJ?= =?us-ascii?Q?3QiSss5M2sFO10nMTs4/FJmFmTcmm9+HknrzbCP6QpxYfp57kXRwszB9F1+J?= =?us-ascii?Q?sMaXjrL9luaQaaC2BnmyjtUr0ukwxP6Mant5nk2SCapimv+l5+9M7V2BV2w1?= =?us-ascii?Q?pXQkz2V4rkhD5pVtDGpLsGfSRc6BSix2XEeHEwnRqkcgU/2jRn0mBf9Ggq+g?= =?us-ascii?Q?3RQMyyGfg1lK4ozGFJbmqEMC2txGiLEMNrRd+ZXJfAvcXNtdg64tTqajcFp2?= =?us-ascii?Q?gqZw5Gv0YGxlqlOcdHYgmD+4dnealt1RRJZSkHXp9kDv+QFtGeNwEDgHwlhQ?= =?us-ascii?Q?SWyAsV1xnWJRolyXxNIHzQSNqUCiIcOGRX/YKS6uFIz0tlHIk6OJYdXLpquO?= =?us-ascii?Q?HmP8ltwHt8qIlwnKghfkJ5/XAaAAzmmLBwUZJavizQvHKrVks861Ep/+uF0W?= =?us-ascii?Q?LK0wrxfOeqOWH8BoyMoHqJh8VSt31woxnjTIM9CHeqesUC+Xg1KDyEthgvyu?= =?us-ascii?Q?EaFSZHA4n98WqKmk6f4=3D?= MIME-Version: 1.0 X-OriginatorOrg: ami.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5185.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d9bc3401-e24d-48fe-4cb2-08dbb9eceb45 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2023 15:19:01.2797 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 27e97857-e15f-486c-b58e-86c2b3040f93 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jorTXgyvjnGWxFqX0bLGkW/36CJ6geZo90dCZUx+kr/zSZn6vg+R/tP11PSY228i X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5164 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,igork@ami.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: FI2kJpqHN1225qndrpfb3Kxvx7686176AA= 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=AIJ0WOuZ; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); 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 Reviewed-by: Igor Kulchytskyy Regards, Igor -----Original Message----- From: Nickle Wang Sent: Monday, September 18, 2023 9:09 AM To: devel@edk2.groups.io Cc: Abner Chang ; Igor Kulchytskyy ; Ni= ck Ramirez Subject: [EXTERNAL] [PATCH] RedfishPkg/JsonLib: fix JsonObjectGetValue issu= e **CAUTION: The e-mail below is from an external source. Please exercise cau= tion before opening attachments, clicking links, or following guidance.** JsonObjectGetValue() cannot find corresponding JSON value when the EDKII_JSON_VALUE object is created by another UEFI driver. This is because "hashtable_seed" is initialized by current time while JsonLib is loaded. So, "hashtable_seed" will be different in each individual UEFI driver. Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy Cc: Nick Ramirez --- RedfishPkg/Library/JsonLib/JsonLib.inf | 1 + RedfishPkg/Library/JsonLib/JsonLib.c | 34 ++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/RedfishPkg/Library/JsonLib/JsonLib.inf b/RedfishPkg/Library/Js= onLib/JsonLib.inf index 9d52a622e13a..b0d1bcac7cb3 100644 --- a/RedfishPkg/Library/JsonLib/JsonLib.inf +++ b/RedfishPkg/Library/JsonLib/JsonLib.inf @@ -15,6 +15,7 @@ MODULE_TYPE =3D DXE_DRIVER VERSION_STRING =3D 1.0 LIBRARY_CLASS =3D JsonLib|DXE_DRIVER UEFI_APPLICATION U= EFI_DRIVER + CONSTRUCTOR =3D JsonLibConstructor # # VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 diff --git a/RedfishPkg/Library/JsonLib/JsonLib.c b/RedfishPkg/Library/Json= Lib/JsonLib.c index 9b758b940293..a7ec2ab217a6 100644 --- a/RedfishPkg/Library/JsonLib/JsonLib.c +++ b/RedfishPkg/Library/JsonLib/JsonLib.c @@ -19,6 +19,8 @@ #include "jansson.h" +extern volatile UINT32 hashtable_seed; + /** The function is used to initialize a JSON value which contains a new JSO= N array, or NULL on error. Initially, the array is empty. @@ -1138,3 +1140,35 @@ JsonGetType ( { return (EDKII_JSON_TYPE)(((json_t *)JsonValue)->type); } + +/** + JSON Library constructor. + + @param ImageHandle The image handle. + @param SystemTable The system table. + + @retval EFI_SUCCESS Protocol listener is registered successfully. + +**/ +EFI_STATUS +EFIAPI +JsonLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + // + // hashtable_seed is initalized by current time while JsonLib is loaded. + // Due to above mechanism, hashtable_seed will be different in each indi= vidual + // UEFI driver. As the result, the hash of same key in different UEFI dr= iver + // would be different. This breaks JsonObjectGetValue() because + // JsonObjectGetValue() won't be able to find corresponding JSON value i= f + // this EDKII_JSON_VALUE is created by another UEFI driver. + // + // Initial the seed to a fixed magic value for JsonLib to be working in = all + // UEFI drivers. + // + hashtable_seed =3D 0xFDAE2143; + + return EFI_SUCCESS; +} -- 2.17.1 -The information contained in this message may be confidential and propriet= ary to American Megatrends (AMI). This communication is intended to be read= only by the individual or entity to whom it is addressed or by their desig= nee. If the reader of this message is not the intended recipient, you are o= n notice that any distribution of this message, in any form, is strictly pr= ohibited. Please promptly notify the sender by reply e-mail or by telephone= at 770-246-8600, and then delete or destroy all copies of the transmission= . -=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 (#108918): https://edk2.groups.io/g/devel/message/108918 Mute This Topic: https://groups.io/mt/101432663/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-