From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.58]) by mx.groups.io with SMTP id smtpd.web11.139276.1671122864066304144 for ; Thu, 15 Dec 2022 08:47:44 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=G2z6l/SO; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.92.58, mailfrom: jiangang.he@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TeorLS9Z4gX2I6KW9yzAjGTgaaC2zoW2DluZxvNtVdILb+iAXXm8p+c63qll9SILXHIwvtQTl6kmpp9pi0MY+0zuG8wgA2d3lMm79QEeEruJ0ETcNzlskOEVQPDo/zdRpfrHRUmW3T3xgOjkpyntvofwIxSFjmn1rZJOZjwGUmiA2BbluFTqSfaQHuSXzXHbuhdhIqg8H0V6QxA+eoec0u+sU+MBaVQx4zZVQ92GUsJ0mbTD7iXkAui3DXjTvckysq/eCvSC9auc6ecIQUViB9Qe3G8YBBCoC5P89gsaWslpLQS1DFa0poFl56UvAkRFdrJIkf+nsPSnGz1U3pXtZQ== 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=K07GXsQaz9csfNNgIU1PeQ2XukwWazNXT+rWXsnrucg=; b=WuCEnA89sv4zhCN+hReFgvO8YI9Mdh/0MZkrnaILYf4g/RWy2Ig4XYq3nIEBCF6Ke+Plt+PMoOrQYowhM4rJZn+/UrZxYDdtxyDWF6k/P+G3kV5eRgpd8opxBZIsZtE4Jid1dLVnEBo9mU8tloIDMaWSCmtreO+16YIC/YkiapARGJFrxkJp/Z5Ip7O/ob4VeY0m37M1nrj2z01fjvVVg62hrxx65oscqNmwnDQaH/vuAMc8ohWMUqGFLGc2CKusbpDm3YbRf5PCmSOvbJ+jKAySYFBVT4EOmF7vadFnNBH6A28PCRMEzmaJdOpd7ikxc0v9j0zbGH60YRxqR05ojA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K07GXsQaz9csfNNgIU1PeQ2XukwWazNXT+rWXsnrucg=; b=G2z6l/SOhqUztgdPaP7d8rCeCtWrX/b9af8lUCTLH7fDjwk76t+ead312t3v5z3zkmDG6ztyfuIGTgftY5Yx4e9gVAKcAJ4s9I8KkJR02Ox5A1+c0wcrjBLlVEW2ZUHQ7dOlmrCQBlGFeO6EiTdCdmmKhR7gTV3MMkZd500kTeI= Received: from MN2PR12MB3421.namprd12.prod.outlook.com (2603:10b6:208:cd::24) by DM6PR12MB4863.namprd12.prod.outlook.com (2603:10b6:5:1b9::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec 2022 16:47:41 +0000 Received: from MN2PR12MB3421.namprd12.prod.outlook.com ([fe80::528d:f20:ddc3:2bd9]) by MN2PR12MB3421.namprd12.prod.outlook.com ([fe80::528d:f20:ddc3:2bd9%5]) with mapi id 15.20.5880.019; Thu, 15 Dec 2022 16:47:40 +0000 From: "He, Jiangang" To: "Chang, Abner" , "Wu, Hao A" , "devel@edk2.groups.io" CC: "Lin, Kuei-Hung (Timothy)" , "Ni, Ray" , "Zeng, Star" , "Sun, Zhikai" , "Kirkendall, Garrett" Subject: Re: [PATCH V2] MdeModulePkg/XhciPei: Unlinked XhciPei memory block Thread-Topic: [PATCH V2] MdeModulePkg/XhciPei: Unlinked XhciPei memory block Thread-Index: AQHZDKno0DYnXuJIl0m31zK+lceR8a5pmfcAgASf6dCAAPSyIA== Date: Thu, 15 Dec 2022 16:47:40 +0000 Message-ID: References: <20221210151240.1548-1-abner.chang@amd.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=13d80729-4da6-44d7-bcc8-e332e37b7689;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=2022-12-15T02:11:41Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3421:EE_|DM6PR12MB4863:EE_ x-ms-office365-filtering-correlation-id: e422461b-a3ac-4107-07d6-08dadebc1496 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0D8L3a6GvzfYA+fpsmuQksrmOF+qGOt473AIj21Pdq+J8Gja9Hw7pI7TW3M4lVIjK2M5SMgJ6w82ExvxC2csq9rVy/xftNIJ11+5EPTIKQVvIzCwBTBYTkjc+3Lf9pRgGm5fOz0dWc8w9ZFnpYtutuIUSr1gRH5wtuIgw39AygQg/F9TmB5PnLEsNmQPfXY7+f6gb9fOIJbKa2sW494EsNg6FbsgGDUeLKMe+6iuDT8aAR7ijwENFmClsVLdx0MR/ooyMqb1S5BXDnFo3KJQwHa/o3eHRf0USVRQMSQsT1u2tGSvrCFBU5AdrVlnIEHQ69tG9WltLdPqSFGhvH2KKUhL+upXVOLmoyK+Iag6eDDO+JvVCa7VhIoGiC7XK2u5MCADQh9CNCBPdAW0iDO9blW7ehfCzmhn06WZwLbBHm/qY+NAmF+qAlGJGMcshmPpwh8lGubl6U88jQD6MdSFwE5YZthaDIg2hDjVUxiJYLRwjUblZOe9GCZQoxYzYZLR/+zfQ4dLywf/T5pINvSeawuXGNBwzM57Abm/Dlkc7DHEp6NECR82mpGXksRt5bqHUWwjAb/3td1uwotCXZwpN2kXauc4sMmHVPOz99mW9EPMGtNt9IIxvdq83RxQ7CjJ1WvyL4GcncXu4ynCoTAgUKfhuT4eqR7hX0YklWh0paMmBRUU+EpZIhCVzX3vjpcDrixSSmln7WLEn3BWwuLcrw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3421.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(39860400002)(376002)(136003)(366004)(451199015)(478600001)(86362001)(7696005)(38100700002)(966005)(71200400001)(6506007)(53546011)(9686003)(45080400002)(186003)(122000001)(8936002)(41300700001)(54906003)(110136005)(52536014)(83380400001)(316002)(19627235002)(38070700005)(2906002)(66446008)(8676002)(66476007)(4326008)(76116006)(66946007)(64756008)(66556008)(5660300002)(55016003)(33656002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?/R2Qix4ebLHbiR0XUyFvY5NqlvuR5QzOEXDQIIw9Z4NPnKP5/LFUq3jq7srR?= =?us-ascii?Q?GDWpE4tfRDrDpxSYhiEELrYmGH0b0E2s8zhveCSM8/laFuxPxyZaXaoPfaoF?= =?us-ascii?Q?zoS4u9X9GY6X5HanyPw6Xx/Ki/WtFFy/FgnxMdqXjrIj2/WldNLKC+biF2vi?= =?us-ascii?Q?ayzYEV7WLqphWfSf5x1iNeBz2l3R+mPIr8RO6+DShx7wVApIIeBhgdoHgZOm?= =?us-ascii?Q?vb8Q+zwoOjfsM9OqX3snDyi4Vnstn+mfrpZiO39Ow2rwWu+GN0p7zAEoYwrQ?= =?us-ascii?Q?O9UlPR/zpsy9JkSTouL1YuXCOaM960fn3fw/RNuQG27VY4dXrzVPmna1riqR?= =?us-ascii?Q?VHaoBC3JxVyem/HLUujPCHKBI7xiD9ZfAl90aO1uJbc0mNOxfgFFTIF4R/yx?= =?us-ascii?Q?eApygtMdDRtLLSFflPmneeQIxmlVvVjjDoFnfn2DE1zx0xztn3yaitIk0QmQ?= =?us-ascii?Q?ciKPdUHTeE3r6rif2jnpjiIfWk61lNZszQ4eHDq8HPY7dWaG67ssTm4+xjWj?= =?us-ascii?Q?cVGapH1YVN8L4dKxN6YixMq61Ymgub81j5bCgNh/mPQy/VIw9WpTn7KeRgAV?= =?us-ascii?Q?OEgWZt4kWVgQVDKHRBe0EjIp1iq1XnLb6IRN0WY1Pzq9sMBYvWfc3GzveO/0?= =?us-ascii?Q?4aAYfPMXLg6SjXFwFfMa7lIdqr059AMn21THHf8S8b5nCf3IRLeuc07HoRd6?= =?us-ascii?Q?sDMZYEwm4NFmYvQDvH1h1XiOicw1e+xIfvfo09mD840LIz3yXjJz1Wt8cAuH?= =?us-ascii?Q?sK6FWpDX2Zr/lA/kPfkk5OjkuhIiVS77hH6vrAOJ83UBpm8iGz0TxlGZY6/N?= =?us-ascii?Q?s4tFcnCdqLMB6VqJiL6Cq4IydsAt2apXKreBFaS+Gfj2AepORqXlnBhJWqBS?= =?us-ascii?Q?izycAoYs/m+yxVgLI/WCbM/UbjOwBSOD9+SOXsaW4dpvnIKZUTaX4zYvIfiE?= =?us-ascii?Q?6c+oPau7cIoPoxHfMe9GYo0nupNolfqRKD6WxHyJcv4eh3F755nnSwQ7GfFH?= =?us-ascii?Q?Cm4WojIkfq9YWroAnVOmwyBl/i1SUzIoY2gyYtirjbPe0F/H+RpVUSzkPwxG?= =?us-ascii?Q?HG5SjMSaeQhiT308xmE6FB45YB/Q1H/TZHWrrhmTWyoE+e8j00v6N42QIT90?= =?us-ascii?Q?d6jO00yTT1gi3Ja8HhsiiYGMlxsOuZ8aBIyEbfC87bXXjzZ1M89DGJ806kgY?= =?us-ascii?Q?2v+KBuOOhA1PKwhGVlanwNmzv5qWgA50ya2uroi2E+zgIBbR9F6SciXlvJ0I?= =?us-ascii?Q?TMkDq9QcTTS287vrjVN8mdXiV07uvNN/TuLMihuDyyAr0NaF7hYWwpJpZL0u?= =?us-ascii?Q?xFPDSyygvXwl+qgj0Ftaf65xXxEiIW9L/A6C3fhnYuU+kEit91yA9amyxhXB?= =?us-ascii?Q?ku90TiVwYCexfvirI05Biq2De6vgb9qBdW4SFYD/trdDz8DEixwoZM1VEhsy?= =?us-ascii?Q?Jrqnd7FgFdUKrPGiQGWMGFGUQrN4u6HZQugGnSGmKlzu2DfdC9esy1SoQLEm?= =?us-ascii?Q?2iy0W3RS1g3fiyFP0+wwmSARC+x5HzL5vDj6XRjJeeY9U9chcDUtU5RkhZHJ?= =?us-ascii?Q?AJeUEK+2fT/Tj+9Dv7qDyaZ1d8oHBOK8AR4dHSqL/lt16zz1r0b+zZDVUfa7?= =?us-ascii?Q?0YUAnqxETJy1GXf+fCDy0DTS8BIkw+/syW6Abs+F8w+B?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3421.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e422461b-a3ac-4107-07d6-08dadebc1496 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2022 16:47:40.6784 (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: LuFAWA3TmcXr4O8trAPdB4eGt2sRLBvnTQjZz7PyE0ro+KxPR8R1g/cL0OMqtBv/+e0sxuC2tFjSjg5H1JkHiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4863 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Yes, it is the same issue discussed in https://edk2.groups.io/g/devel/topic= /92833071#92165 MdeModulePkg\Bus\Pci\XhciPei\UsbHcMem.c for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D Pool->Head->N= ext) { // UsbHcUnlinkMemBlock (Pool->Head, Block); UsbHcFreeMemBlock (Pool, Block); } Block =3D Pool->Head->Next never change without calling UsbHcUnlinkMemBlock= (Pool->Head, Block), therefore dead loop. Our proposed fix came from dxe version of the equivalent file MdeModulePkg\= Bus\Pci\XhciDxe\UsbHcMem.c but swapped two routine call order (Now I think = it is incorrect as clarified below). for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D Pool->Head->N= ext) { UsbHcFreeMemBlock (Pool, Block); UsbHcUnlinkMemBlock (Pool->Head, Block); } https://edk2.groups.io/g/devel/topic/92833071#92165 proposed fix: for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D Block ->Next)= { // UsbHcUnlinkMemBlock (Pool->Head, Block); UsbHcFreeMemBlock (Pool, Block); } I think it again, both proposals have problem of reading memory content in = the buffer that has just been freed. for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D Pool->Head->N= ext) { UsbHcUnlinkMemBlock (Pool->Head, Block); UsbHcFreeMemBlock (Pool, Block); } is right solution and matches dxe version of UsbHcMem.c. Thanks, Jiangang -----Original Message----- From: Chang, Abner Sent: Wednesday, December 14, 2022 8:12 PM To: Wu, Hao A ; devel@edk2.groups.io Cc: Lin, Kuei-Hung (Timothy) ; Ni, Ray ; Zeng, Star ; Sun, Zhikai = ; Kirkendall, Garrett ; He, Jiangang Subject: RE: [PATCH V2] MdeModulePkg/XhciPei: Unlinked XhciPei memory block [AMD Official Use Only - General] Hi Jiangang, Could you please provide the context of this patch? Thanks Abner > -----Original Message----- > From: Wu, Hao A > Sent: Monday, December 12, 2022 11:27 AM > To: Chang, Abner ; devel@edk2.groups.io > Cc: Lin, Kuei-Hung (Timothy) ; Ni, Ray > ; Zeng, Star ; Sun, Zhikai > ; Kirkendall, Garrett > > Subject: RE: [PATCH V2] MdeModulePkg/XhciPei: Unlinked XhciPei memory > block > > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > Sorry for a question, may I know what issue was met that leads to the > proposed patch? > Could you help to check if it is related with the topic discussed in > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fedk2 > .gr > oups.io%2Fg%2Fdevel%2Ftopic%2F92833071%2392165&data=3D05%7C01%7 > Cabner.chang%40amd.com%7Ccac49c2820e741b8c48a08dadbf0cc24%7C3dd8 > 961fe4884e608e11a82d994e183d%7C0%7C0%7C638064124512265992%7CUnk > nown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1h > aWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3Dz1Q7NRxN4GMA%2 > FBxYd2D7Gnkc3aTD23mRnwNF3H5wE0k%3D&reserved=3D0? Thanks in advance. > > Best Regards, > Hao Wu > > > -----Original Message----- > > From: abner.chang@amd.com > > Sent: Saturday, December 10, 2022 11:13 PM > > To: devel@edk2.groups.io > > Cc: Kuei-Hung.Lin@amd.com; Wu, Hao A ; Ni, Ray > > ; Garrett Kirkendall ; > > Abner Chang > > Subject: [PATCH V2] MdeModulePkg/XhciPei: Unlinked XhciPei memory > > block > > > > From: Abner Chang > > > > In V2: Add AMD copyright. > > > > Unlink the XhciPei memory block when it has been freed. > > > > Signed-off-by: Kuei-Hung Lin > > Cc: Hao A Wu > > Cc: Ray Ni > > Cc: Garrett Kirkendall > > Cc: Abner Chang > > --- > > MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c | 29 > > ++++++++++++++++++++++++- > > 1 file changed, 28 insertions(+), 1 deletion(-) > > > > diff --git a/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > b/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > index c64b38fcfc8..39ba31b0913 100644 > > --- a/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > +++ b/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > @@ -3,6 +3,7 @@ PEIM to produce gPeiUsb2HostControllerPpiGuid based > > on gPeiUsbControllerPpiGuid which is used to enable recovery > > function from USB Drivers. > > > > Copyright (c) 2014 - 2016, Intel Corporation. All rights > > reserved.
> > +Copyright (C) 2022 Advanced Micro Devices, Inc. All rights > > +reserved.
> > > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > @@ -365,6 +366,32 @@ UsbHcInitMemPool ( > > return Pool; > > } > > > > +/** > > + Unlink the memory block from the pool's list. > > + > > + @param Head The block list head of the memory's pool. > > + @param BlockToUnlink The memory block to unlink. > > + > > +**/ > > +VOID > > +UsbHcUnlinkMemBlock ( > > + IN USBHC_MEM_BLOCK *Head, > > + IN USBHC_MEM_BLOCK *BlockToUnlink > > + ) > > +{ > > + USBHC_MEM_BLOCK *Block; > > + > > + ASSERT ((Head !=3D NULL) && (BlockToUnlink !=3D NULL)); > > + > > + for (Block =3D Head; Block !=3D NULL; Block =3D Block->Next) { > > + if (Block->Next =3D=3D BlockToUnlink) { > > + Block->Next =3D BlockToUnlink->Next; > > + BlockToUnlink->Next =3D NULL; > > + break; > > + } > > + } > > +} > > + > > /** > > Release the memory management pool. > > > > @@ -386,8 +413,8 @@ UsbHcFreeMemPool ( > > // first block. > > // > > for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D > > Pool->Head->Next) { > > - // UsbHcUnlinkMemBlock (Pool->Head, Block); > > UsbHcFreeMemBlock (Pool, Block); > > + UsbHcUnlinkMemBlock (Pool->Head, Block); > > } > > > > UsbHcFreeMemBlock (Pool, Pool->Head); > > -- > > 2.37.1.windows.1