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 4AD1F740032 for ; Fri, 22 Sep 2023 01:15:49 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=FqNi4WtHVNQ1QG7Bw+29FcGrzI6Dd0UUi47bdb5uYPM=; 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=1695345347; v=1; b=tso7WinC5QVoNniFRFQAUZc6Y3WHAG2X8ohGTVs664KA6TuJ6w4huowUwJySEiDZsgrnjcdr zvstkHNiNSPRiYLimzDBSRzv/F9dxgdFy0A3jsHzTXfvG7IijsGH2/r3SXRGHtXkyAKeInM5kFS /F0aNRQn8kiOtk5Evdj67clI= X-Received: by 127.0.0.2 with SMTP id 45nfYY7687511x20TrwQW9w9; Thu, 21 Sep 2023 18:15:47 -0700 X-Received: from NAM04-MW2-obe.outbound.protection.outlook.com (NAM04-MW2-obe.outbound.protection.outlook.com [40.107.101.89]) by mx.groups.io with SMTP id smtpd.web11.12258.1695345346927867379 for ; Thu, 21 Sep 2023 18:15:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XsPQhNcZpxtkJgbMdSD7TVfRoWPxjPj7iCz7qVgQByhbhjEPD0lstpySGVS8Rf99h1LRVm0cXRIeGz2rEQJ2DsmU8tYd8AjwpJ+ulHOkV8vpxkZrQfzztztzPzQiKq0PsavLQ8rbLzshrSeaWG0GhkqZOdHhlldvLAWUkBJzT3ZxmPx1t6ZRoLrb5/m/atejxS+IX94Oki4h/wWTHzv7yhzfrW53B1k5mweyW48wfaCCD1p5nL7pkh+s6Nt101YR7eAQ37mIcBPEwmCaLlrCcEzEnBB0BMdlIXnWrIRhg+teDUKK60YQDCBxNBrIlbwu95oTo/DQmumzYNegx9ifcQ== 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=ENOHwKs//cRUNwftiMXSvF0VhMncfdrD29/rvI8HYlE=; b=Fz4zzXsgWviNUAu+8WV+EFOC+DO5cXeiwe+ehW1v1mlipyPXsVfRyML9MNSh6SAS2WXKKuhRpeo+mU/CL54s3Bm0w40F+AMXO7aUlQ4M3VC//nQXXarl0SEpdB8oDJZHWkiqJGoSuR5I+HrDBEyRel6YP427Zeu8rBVuI7pjW0k09ZV8L55C9xYjrsm+Bd+yeZUjUZAekB4UZGBbHWq0t5juBw6rXn9hK3l96+y9qLDU4ZsthKSHoe4DxaN9MIyTs889XpQh7WvgutBdffDdWvD78jeuPMlLP8tjPXehvn1WiGvdocMAjS86l8eBns/s4O8fZPS7apQ0IGD/8MLQeQ== 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 DS7PR12MB8083.namprd12.prod.outlook.com (2603:10b6:8:e4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20; Fri, 22 Sep 2023 01:15:44 +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%5]) with mapi id 15.20.6792.026; Fri, 22 Sep 2023 01:15:44 +0000 From: "Chang, Abner via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [PATCH v2] RedfishPkg/JsonLib: fix JsonObjectGetValue issue Thread-Topic: [PATCH v2] RedfishPkg/JsonLib: fix JsonObjectGetValue issue Thread-Index: AQHZ7IsVRruRhj6POkG8VHn3X+ogtrAmC1+w Date: Fri, 22 Sep 2023 01:15:44 +0000 Message-ID: References: <20230921125625.2629-1-nicklew@nvidia.com> In-Reply-To: <20230921125625.2629-1-nicklew@nvidia.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=ba78b347-6141-4791-b0c3-e9f739bc0278;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-22T01:15:09Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|DS7PR12MB8083:EE_ x-ms-office365-filtering-correlation-id: 32159444-1e6a-4421-0a0d-08dbbb0971fb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: tGAAKVPKhG4PsWiRVHot9iGVwmywSOn4VqUeubz2+/Q1ld/lK/5QqfEiXr4YTc+OCHFQCt/6u7d6yDCKoyeCCWF8M+EAAzaKKWyezfATeH8nQvWQ3/i1nS1cx2ICq+SmNiVIesJqf88zXWirRcq9iEwpiVvQo8lkm5FVc+QAYNJv4NVk04lt6bt7j9n0joR0k0n1Cp+1V52lzjr7Azljpc5zr1uuIWD4M+rq/xwMkdqhOUOGNJnPi9/aOg1Wxu/EG7e7m13JIWfN8A6WveBtjyLvZ7z0N3NhbzO32y5OiA/nqH/vNvAumYfvsU+ifFYa7w8rKzGxgKVCyS6Gg+OBKw/o5OpEujCRzxtAuAExykEQgOqAATNsQbcFpFMmHDiogKEHaloX3U1Oo6/euIJD80Ptv6s8i71uJ35oAnHl/I0LCv9Go7idepspbKVfnIw/1GOLJ+DwWNhbgxBNprm3Is2GgMafhJbRbhUnLAWYiZW2hWWWbXOZv78kxEMMx2Ke6Q2WfK5rBfT2UvaVtRwZXi+AY24W+sWJNlxT0DBxFWHxE0ZtYHyHMpKl0dxoR+D8oRYGxwD0sRfkEq2OqkPuxi7tqsW29nQ1t22lidWXE10RM2t8oB0JxFzXajli3HUR x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?BrQH7jRRbMpE+9Xs+oRpqNcwGpfvlZtVUp+1/7JSc0LQi+an/Mzn/LfEv9zW?= =?us-ascii?Q?aoKGbb2KZuikSzZSvbLYE71H1of070XosCO163sKPjC1U0D6VckHw0QbYSUF?= =?us-ascii?Q?xw40lORW3SYfvrR/tBkYceZWWFpnSV/renITkZogX4Pp0SGCMjX/j6Fjr979?= =?us-ascii?Q?jBVsbm3HTYeHN5I/wLmWTaV2GTDiULP0eq2kPLNPVT3ycqebuFIbtaW0pUug?= =?us-ascii?Q?5hWhZLl9t+ecFwyY/OBMED4EprCg0H9of9Ojab7+gHaH3OXnCtncOgBJ8nMo?= =?us-ascii?Q?UQe7oW4UFxHianDT8B5aEADMdIV/F80t3lR8vcNNHQWadRrQrWvrLDn4YA8H?= =?us-ascii?Q?cWrBHbIxN1sQbNLyEt+sZsjM93+n8C7IfeXNVu02SL2FhKxocuO39Fch1FyC?= =?us-ascii?Q?RT+YeLqoJsT+hjwxQnikr+qQudyeylCGE8sGKoj/62E2WfkD9i8jMoBKMI1Y?= =?us-ascii?Q?noOSLD7MeWZ2PZtdgyxkRhGr7747AEGBtupy4faiS7WkQHwzuXOAiw+GuWEE?= =?us-ascii?Q?HfkemsaDJHjXh0TxT8417IKhOQncErdWpgE7z0RtgSc7VPpT0AW1/rtk5R/m?= =?us-ascii?Q?04xLkkZr9R1ZaV+I8hKqDHQispkjDCRNHcGDTOHJOr2o32SGQkjcqAhNsyk6?= =?us-ascii?Q?NA2bCm+wB+W4UKhZYeKUyBizuF3xWG9F6JQcN9OyeEbMbOMKcKqv1uhTyzQH?= =?us-ascii?Q?/HnF838rEzdmM3f5peH/6J7atgAyaoQkfGWsI3SAdFbnl8XA3CBUt9nQ5QW9?= =?us-ascii?Q?pPh8fzQZKPHn4ITZ1OCvw9ZqqGw7bSZbnLWU/ub+ZJKSYtJPLpKXu2gsD30q?= =?us-ascii?Q?FLFg9tXahNnlG5hqUKR3IkorwoDFHJrLa8dEXaixDQuOsQo9Jn2zli3zHWLX?= =?us-ascii?Q?5kDESwOqUITfREX/EmSFGEsSxhJT/4zWT+U/Kq2Z0xGB8EA/qMKl9yAp6Lbz?= =?us-ascii?Q?WAVMoy/gqnXq32vlskTpc3XVBCr7ledPlfTrsn39R89XvXZtbDo4wAR7NfB8?= =?us-ascii?Q?t5E/OAAY35jeVgPy5qXUJw/jkB1uWaesTC8MLwYZvEQwtDMN9yMwGEF1KL1z?= =?us-ascii?Q?Mp8hTZmV1nZoa9MYcWpy6f5Cee0pR/cA5Z6Km1F0+qZh59z+qcSpGISzhIYS?= =?us-ascii?Q?tknKoezwGVFHORV6uOItfxc5WaPHwJS2fn7d72bPUYOdz7EESHm9zesuGnWk?= =?us-ascii?Q?7U7AJUcaBx12Nv4Vd3vGuha+A7dhTyXU2hAUsdMF/UM9c69kaIwsPSzGfxta?= =?us-ascii?Q?Hs7TZCz4aBkjdSFY5ZsMQuNEAEwUCL58N0B9l0vG94apuGF2Ob5X6+5H8c2z?= =?us-ascii?Q?NbwTk2aXmnXT9UiIEoMbc0MSLK5EYdtt2pEQFaO5rYUFV2grHCosEPKq3PDb?= =?us-ascii?Q?BgEVWc/rSUY+arCZRqB5qNsTYHJjAN0lkJpqNzVRyaGOPnQBTddeTpdVSHcr?= =?us-ascii?Q?9lCZT9xxXmd8h3kUlGcrR3Rpp7g1PgFCobQEYmIqMa//6EE9dfA5wHZ+N0D1?= =?us-ascii?Q?x6BjGNarH2gXF9dEu8PHO2tFGVGxHnhuDMAFYsaQ7PVVmOR320oj31ghDkFs?= =?us-ascii?Q?y0FLZqknv2hWqDHgVb4=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: 32159444-1e6a-4421-0a0d-08dbbb0971fb X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Sep 2023 01:15:44.3942 (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: RTz5Zn7v9hrXN47/PxXj7MWyoWQT/FT/WfKBrJ+eDrJCw6xknSLuCTXMXZEG+y5UviZNHHVstDuQrRLbDz+XBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8083 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: 6a8nL8AiA3XIwobbNEtPJWQmx7686176AA= 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=tso7WinC; 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}") [AMD Official Use Only - General] Reviewed-by: Abner Chang > -----Original Message----- > From: Nickle Wang > Sent: Thursday, September 21, 2023 8:56 PM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Igor Kulchytskyy > ; Nick Ramirez > Subject: [PATCH v2] RedfishPkg/JsonLib: fix JsonObjectGetValue issue > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > 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 | 35 > ++++++++++++++++++++++++++ > 2 files changed, 36 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..6c3373d205c3 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,36 @@ 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. This fixed number will be removed after the protocol = version > + // of JsonLib is implemented in the future. > + // > + hashtable_seed =3D 0xFDAE2143; > + > + return EFI_SUCCESS; > +} > -- > 2.17.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 (#108973): https://edk2.groups.io/g/devel/message/108973 Mute This Topic: https://groups.io/mt/101499238/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-