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 5991974003B for ; Tue, 18 Jul 2023 08:53:31 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=aDWsf2QhxFbAmAPh+CLRBiEJu4fD4Fs3+ksJqdT/hmg=; c=relaxed/simple; d=groups.io; h=X-Received:X-Received:X-Received:From:To:Cc:Subject:Date:Message-Id:MIME-Version:X-CM-TRANSID:X-Coremail-Antispam:X-Originating-IP:X-CM-SenderInfo:Precedence:List-Unsubscribe:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:X-Gm-Message-State:Content-Transfer-Encoding; s=20140610; t=1689670410; v=1; b=ukPD3l1jzIBEZWjdmVRykqHi89/f59+UOQXuAkOzhm5RGie07/VBJwG1ZQsfhNOxduwLx9qh 8OltogrCUnDajNNO39BE4VpcbgwvLzfKnpaoWfcQdEFecMq4OjauN3wpU7W8jxPebaoqxP5gqFF nbyKakSqdc3qiwn37rCYnKrg= X-Received: by 127.0.0.2 with SMTP id 0Rg7YY7687511xxOMc0e6B0M; Tue, 18 Jul 2023 01:53:30 -0700 X-Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.216]) by mx.groups.io with SMTP id smtpd.web10.2489.1689664046602854334 for ; Tue, 18 Jul 2023 00:07:28 -0700 X-Received: from localhost.localdomain (unknown [219.141.235.82]) by zwqz-smtp-mta-g0-4 (Coremail) with SMTP id _____wBXX4McOrZkKdGAAg--.20504S2; Tue, 18 Jul 2023 15:07:09 +0800 (CST) From: wangyzhaoz@163.com To: devel@edk2.groups.io Cc: Yang Wang , Michael D Kinney , Loh Tien Hock , Ooi Tzy Way , Ran Wang Subject: [edk2-devel] [PATCH] Silicon/Synopsys/DesignWare: DwEmacSnpDxe: Fix bug in EmacGetDmaStatus Date: Tue, 18 Jul 2023 15:07:07 +0800 Message-Id: <20230718070707.8819-1-wangyzhaoz@163.com> MIME-Version: 1.0 X-CM-TRANSID: _____wBXX4McOrZkKdGAAg--.20504S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxuF4kuF18Ww4rKF13Ary7Wrg_yoW5XrWxpa 4kAr42krWrGa13ZF13Aa4YgF15AFyIgrykCasFy3ZIqFnxJFW7u34fuFW3Ja4DWF1rtay3 GF9Yq34xCF1ayaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pE75oJUUUUU= X-Originating-IP: [219.141.235.82] X-CM-SenderInfo: 5zdqw5p2kd06i6rwjhhfrp/1tbiNR6wJWI0ems+dgAAsx Precedence: Bulk List-Unsubscribe: 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,wangyzhaoz@163.com X-Gm-Message-State: 6Epwjr5jvskZHPGvguWezKEsx7686176AA= 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=ukPD3l1j; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=163.com (policy=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 From: Yang Wang Check EmacGetDmaStatus input parameters IrqStat may be a null pointer. Cc: Michael D Kinney Cc: Loh Tien Hock Cc: Ooi Tzy Way Cc: Ran Wang Signed-off-by: Yang Wang --- .../Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c | 7 +++++-- .../Drivers/DwEmacSnpDxe/EmacDxeUtil.c | 16 ++++++++++++---- .../Drivers/DwEmacSnpDxe/EmacDxeUtil.h | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.= c b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c index 4cb3371d79..6805511a1d 100755 --- a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c +++ b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c @@ -847,9 +847,12 @@ SnpGetStatus ( }=0D =0D // Check DMA Irq status=0D - EmacGetDmaStatus (IrqStat, Snp->MacBase);=0D + Status =3D EmacGetDmaStatus (IrqStat, Snp->MacBase);=0D + if (EFI_ERROR(Status)) {=0D + DEBUG ((DEBUG_ERROR, "%a: error Status: %r\n", __func__, Status));=0D + }=0D =0D - return EFI_SUCCESS;=0D + return Status;=0D }=0D =0D =0D diff --git a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.c= b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.c index 3b982ce984..45b5a05f51 100755 --- a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.c +++ b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.c @@ -489,16 +489,22 @@ EmacDmaStart ( }=0D =0D =0D -VOID=0D +EFI_STATUS=0D EFIAPI=0D EmacGetDmaStatus (=0D OUT UINT32 *IrqStat OPTIONAL,=0D IN UINTN MacBaseAddress=0D )=0D {=0D - UINT32 DmaStatus;=0D - UINT32 ErrorBit;=0D - UINT32 Mask =3D 0;=0D + UINT32 DmaStatus;=0D + UINT32 ErrorBit;=0D + UINT32 Mask =3D 0;=0D + EFI_STATUS Status =3D EFI_SUCCESS;=0D +=0D + if (IrqStat =3D=3D NULL) {=0D + Status =3D EFI_INVALID_PARAMETER;=0D + goto EXIT;=0D + }=0D =0D DmaStatus =3D MmioRead32 (MacBaseAddress +=0D DW_EMAC_DMAGRP_STATUS_OFST);=0D @@ -602,6 +608,8 @@ EmacGetDmaStatus ( MmioOr32 (MacBaseAddress +=0D DW_EMAC_DMAGRP_STATUS_OFST,=0D Mask);=0D +EXIT:=0D + return Status;=0D }=0D =0D =0D diff --git a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.h= b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.h index c4c3653dc7..60f30ecd16 100755 --- a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.h +++ b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.h @@ -339,7 +339,7 @@ EmacDmaStart ( );=0D =0D =0D -VOID=0D +EFI_STATUS=0D EFIAPI=0D EmacGetDmaStatus (=0D OUT UINT32 *IrqStat OPTIONAL,=0D --=20 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106986): https://edk2.groups.io/g/devel/message/106986 Mute This Topic: https://groups.io/mt/100212047/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-