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 1550B780091 for ; Thu, 21 Sep 2023 02:20:26 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=/SAw1YGZjEj0vwnXLnqfd+Mhe0UJHv7zAQbJNwk2X+k=; 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:msip_labels: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=1695262825; v=1; b=HXEEDh5jsxwTfUT4Q64l1HrpDlGx6nwTI0EQTrwokNmPccxpPhne1I67k2KTaco68sYfsl2g Hgc1OQJt9/02zEjeoyr4t3JxOJOVdR+iUctDBmjTmr7ljtd74Mv3dj49mdtRPe76V3NwfWUYl6u Y+25+3Ag/0XL9C3bBkx5ahJ0= X-Received: by 127.0.0.2 with SMTP id dfKUYY7687511xLN06taJ9vL; Wed, 20 Sep 2023 19:20:25 -0700 X-Received: from NAM02-DM3-obe.outbound.protection.outlook.com (NAM02-DM3-obe.outbound.protection.outlook.com [40.107.95.65]) by mx.groups.io with SMTP id smtpd.web10.7348.1695262824918754460 for ; Wed, 20 Sep 2023 19:20:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cgGbCtuKosP7ATTy1BTp0yAv8cU9RPTQOz1i2KVAXQpT29txCOm05DE+shxiZRhyk9mAkqeyW/MOp5iBkTRXhl3ABSlfD2BPEW6TdqHKjo9vcz530QTgnwfutJYt0u/otT+dQxzVvB0jobKwwOIuT1IzrsDfMV2uBWmNB3xtU3gaVi4J3lIKMHoAqwDov0nXb2z/z5v2qUnjm0LYU1W2OjdCxQn/96YASb8k+BgtSsnfpOGPVfcaC9xUW8em8iVXOggPCsfAgOW/kffr42ERlsxRX8WcZoxVm0s/ZHXY2IOX00B45kbSW5PMjHL2tW4gv/hyTk9lGf/ms6juyD5+iw== 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=lcggcTLOI+DcPv8CoI7qX5dF/UxOhn6EV8egwdkWs4I=; b=NbuXmQUxmqZgssxjfAnNN+MkjZq1OtDgXbJ73xnP6dFYAACn1Mpy+bzfth6nmWyKC1xbpyju5Cm+7jrChuQzj/vROKRUb03LHSN9HVDAcOT+JrNWShyGKuRksJ8M59i3kXaFAzFA9FXyhaDddkrmXbotVTOdX05Nq+Jx6aotc/Ajo0rRw/5OcCmJUy9PnhUwnaoJKiKircrG6cbP5/okQV41k8UQHPbAEewb1kvJHKZhXA+MJn3muRH0h9kJdu87svQme+4Oxvyc4tqYIZHWWlf0zcRvX2QKnYj8XKxhU0k5L5N5LxISfdomNQBCUFxKL44Iw5jWKYa4Waqmpk1mpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by BL1PR12MB5754.namprd12.prod.outlook.com (2603:10b6:208:391::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Thu, 21 Sep 2023 02:20:22 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::2061:ca33:b659:2c02]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::2061:ca33:b659:2c02%4]) with mapi id 15.20.6792.026; Thu, 21 Sep 2023 02:20:22 +0000 From: "Chang, Abner via groups.io" To: Igor Kulchytskyy , Nickle Wang , "devel@edk2.groups.io" CC: Nick Ramirez Subject: Re: [edk2-devel] [PATCH] RedfishPkg/JsonLib: fix JsonObjectGetValue issue Thread-Topic: [EXTERNAL] [PATCH] RedfishPkg/JsonLib: fix JsonObjectGetValue issue Thread-Index: AQHZ6jFHejNNIJeUO0ugJzdrJV/n27Aj1y6AgAC3cKA= Date: Thu, 21 Sep 2023 02:20:22 +0000 Message-ID: References: <20230918130838.6137-1-nicklew@nvidia.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=62399b41-180f-4f95-a5e7-b41ad12f923a;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-09-21T02:15:34Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|BL1PR12MB5754:EE_ x-ms-office365-filtering-correlation-id: 7b571d15-0430-41b2-d219-08dbba494ef0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: PfSUi717I//GW7s24tYebMaaSyDjL664b8OEZBhDFw93fQOeXLNyr8urATmscP+8znRhu8yPDSbaYhykBeXYQo9j8AnknYF1jcUG/gnYcwmgzM4J2qPVJPA0p5xJNJdcu4gnp5gCIRILz2SflyaWSb/6sv+gvS0QpqpeXpJJTC4PUUoKqvzCccDwQFcRYFkZTNxuzL7EHrH9NspUFm21MnO0/krwxk1jsx81dAjFYDGEMhdEEtx1J7ErCYjdgyTsTwtrsXfIKd3/s7C1zPxwiKsIBKh+IqCASMKE7NihNo53+E0KjUIt6eoT0BRP61mqTEt4L0BP2V3K8jKGOknI1lXDa9Y4VsJIdCSjoFl7hECpCgaYVLPusT288+bYeroFvdtOyvBmwitLXH8XaGPtGTEEcOXTsdEw8McO8V6cmLE4TN4sa+EeyHEdx7/ykuXVgVY7Wu+ucZjmUd28ML7gprIoFPUBQpw1kGO+WK5F9weFEuGyef0IN+kcYIW3Z+8HvO8qaqy7TQHaqOX3qgUB2GXWrVZq9gTho+NigXNBdJluAuFu6rhaErBFqwnsnHOFKsj9cZdmY+mCdBdkyYayb7/2IziqbrjwY6THJdZ7ymocE2dTETR4Ka1xfCHnE4In x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?EIXR+AVEuB551Otov+iZmVnApl092ihEqlAIIDWiXL2C9r9sy0jBY7r66arD?= =?us-ascii?Q?yKB82Hd9ysL96viupvkJqAaAvU5I0jgjpX/OvIbetRLmDzvY1i1A1XZ8+QZc?= =?us-ascii?Q?OR/8rJ3LwFJuaE6sqP5so9eegQuSbEK/XItgfppa6FAYqvu8E6LJ+/uI3Ghy?= =?us-ascii?Q?z4jHF3DQppp7Diki0fMzyxbkpcWat5v/RT6rU36Jzh6FtNfRCnZjXYQ0JaA+?= =?us-ascii?Q?fVuSxX6X3TPVW5A2kzVNGDzmmbsQJReWFdLi39z7waRSxy2WfhjFWntKSL91?= =?us-ascii?Q?JAfljWSbC86kFGFnki/Sr+nYa5dgeRnR1eaizdqhMItE/KZcRZgn4UJRJlVW?= =?us-ascii?Q?QsYf8UtcoscGfk/nf+o6B78pyDpj0nqnZIDgyPSMuT7eIym2HVyB9FhMkMyB?= =?us-ascii?Q?iNyzVKE8YTLIA1jSBGgg1H8CYjJc1sOMdWZg4atkaq0ADhOqcJmJp2Oz1TMe?= =?us-ascii?Q?7I4gyCZArNkGGY9e2ywzabQFgF/xxwr5ffuVojTY2gRVOT4XoY8e27GtEC7X?= =?us-ascii?Q?euA220AQwCa1tUF8hXquk83C6DU7AouUKp9wMAtXan9izZCmaQrk0BcXAz3C?= =?us-ascii?Q?xUsCMwhM6QI+J0S4K495raLTk2TyiklEgGcigJbH0S0iNxX6qjz2eT/IlQG5?= =?us-ascii?Q?XLPA4n2spbDFsm1OENA4bKkckOQl7YQKC70axELSRQNQRtzZfnhWY4mYW4J0?= =?us-ascii?Q?j1wKRAdobSn3iLmdddUge9HRmANSm9J3yVhgS5GljsnAAeENFsZAJnkDZnOt?= =?us-ascii?Q?G5r23x9jVIp1KzBlWymO1WsId634QS5ljPW+j4qGRX0RzIr3HIPKqWe0tl75?= =?us-ascii?Q?5RN9ouGF5nfJ8KzTbIrT7ks7e1Xn3diZEqeMxLvnZZW4yNHUPPQpAVxsFdul?= =?us-ascii?Q?9X4ZMWf3fQIG9ZfzPLkG6TZMk8RmeY2/GXI80fGMocC2LtJviIhKCIIOn4Na?= =?us-ascii?Q?c7otY2dawa3Xrd+wxFjkfHlxH6XwUMvIYRJ+H7nhS2Lq7MEOfINsy3BXjqNn?= =?us-ascii?Q?gtiSwki6Nu0lMVmb9oUW7CL4EwuPYaqAoUT2B/oO/z9DvRBbSn02FO7Tryfu?= =?us-ascii?Q?YFJNDpZT7aFyY6N+qTi5y+LkIa3Gmw2tJh//T+OWTvUPsRNGvQBgKgLYNzjc?= =?us-ascii?Q?zjeNahCqTSq47LVnRBi2Ii+SXqthJWM0I5VlOhC5TJ0k7zY3UZ+c6ACmlOPG?= =?us-ascii?Q?QoldE/ovF1fMR5nU2isEy9C7+OQsOv50pfNPBh67km0RPddbg8rf2HpInTdt?= =?us-ascii?Q?grpDwDoC9paP4mZGh7qMQoEO89HpMqg10qj63tWi812ebdX0uFHTVh6EUgby?= =?us-ascii?Q?GWt/lMu8PJmFkNu0mfpp5X25MdlrZ5qJgEDuTX0K18J+jdl6EeE/qSGWpGhE?= =?us-ascii?Q?oBOWYKoTiEZcdiabjGio+dQqb9wjfvLPt2DPBrAe1XL/4ghMWQhrPBgW4lsV?= =?us-ascii?Q?fOIX1xezvUtXUyK2BG0QpxTXqd0libbWiI1SFJhsOuHBAIv7b8JWOEs/Ar0X?= =?us-ascii?Q?UIxKdUQWswm+fnHZ7AMCddwKytiljqPWnV4Fv0em1845o+Nfb8hQddc+NF9c?= =?us-ascii?Q?k0nrjzeGKiLbTAVowVc=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b571d15-0430-41b2-d219-08dbba494ef0 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Sep 2023 02:20:22.2229 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8wADL5b3m4tslWjTVFXR2wHQyQslhHXn0Tovd2VTyfTpw4GA8wMY3833Nm+JOxRzzxnGzVpR61UcbuUBlrgKgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5754 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,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 93h2WJ1URscKNy2f6sS5xdsex7686176AA= 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=HXEEDh5j; 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 [AMD Official Use Only - General] Hi Nickle, As we may use a protocol that provide the JSON interface for other packages= or drivers, could you please have a comment around the hardcoded number sa= ys the hardcoded number would be removed when we have a protocol on top of = jansson lib? People can still have the real hashtable seed if they use libr= ary directly. Thanks Abner > -----Original Message----- > From: Igor Kulchytskyy > Sent: Wednesday, September 20, 2023 11:19 PM > To: Nickle Wang ; devel@edk2.groups.io > Cc: Chang, Abner ; Nick Ramirez > > Subject: RE: [EXTERNAL] [PATCH] RedfishPkg/JsonLib: fix JsonObjectGetValu= e > issue > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > 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 > ; Nick Ramirez > Subject: [EXTERNAL] [PATCH] RedfishPkg/JsonLib: fix JsonObjectGetValue > issue > > > **CAUTION: The e-mail below is from an external source. Please exercise > caution 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/JsonLib/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 > UEFI_DRIVER > + CONSTRUCTOR =3D JsonLibConstructor > > # > # VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 > diff --git a/RedfishPkg/Library/JsonLib/JsonLib.c > b/RedfishPkg/Library/JsonLib/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 J= SON > 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 loade= d. > + // Due to above mechanism, hashtable_seed will be different in each > individual > + // UEFI driver. As the result, the hash of same key in different UEFI = driver > + // would be different. This breaks JsonObjectGetValue() because > + // JsonObjectGetValue() won't be able to find corresponding JSON value= if > + // this EDKII_JSON_VALUE is created by another UEFI driver. > + // > + // Initial the seed to a fixed magic value for JsonLib to be working i= n all > + // UEFI drivers. > + // > + hashtable_seed =3D 0xFDAE2143; > + > + return EFI_SUCCESS; > +} > -- > 2.17.1 > > -The information contained in this message may be confidential and > proprietary 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 > designee. If the reader of this message is not the intended recipient, yo= u are > on notice that any distribution of this message, in any form, is strictly > prohibited. Please promptly notify the sender by reply e-mail or by telep= hone > at 770-246-8600, and then delete or destroy all copies of the transmissio= n. -=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 (#108930): https://edk2.groups.io/g/devel/message/108930 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-