From nobody Sat May 18 18:27:52 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+97918+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+97918+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1672815156; cv=none; d=zohomail.com; s=zohoarc; b=jKJ2z3jeZuuTL6bQRVoKtqRRUXf07/xJfq/5npX7bOefuzEDZNmIuCGgD2bhI2aTK+Nq0663tOvz3Xl9gT3HPxAiZYdq/348VmRpbVTnJWfw792vXeJTjnwG8xXYjGtP37BRP7cS0PAo8XjwhRBVgcIIYrSIneWRz8Ft6bk6Yyg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672815156; h=Content-Type:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=BkuuqX000+3sEaW2QzDYMcPvMIrksr3Os2+ONJ1PmAw=; b=h7BNFQPoBjqRTop5LGZTKBGnND9mL3Ar8cOGBCdZQ28TnCyG3MiHxjr8De+uRBHrHgzxWcfOD+5EDVhsPTNnopAwRan8TxDlF/Qq8iKL0Ij4Gh4tqLJkUdYZqEoPiVjrKuJeXSZ1eaNfrCK6oQYh5BboTtpyiFTEuAJctlLrBAc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+97918+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1672815156983167.334814708208; Tue, 3 Jan 2023 22:52:36 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 7A4TYY1788612x0LHg8KIXrf; Tue, 03 Jan 2023 22:52:36 -0800 Subject: [edk2-devel] [PATCH] MdeModulePkg/Core/Dxe: Fix FORWARD_NULL Coverity issues To: devel@edk2.groups.io From: "Ranbir Singh via groups.io" X-Originating-Location: Bengaluru, Karnataka, IN (122.172.85.38) X-Originating-Platform: Windows Chrome 108 User-Agent: GROUPS.IO Web Poster MIME-Version: 1.0 Date: Tue, 03 Jan 2023 22:52:36 -0800 Message-ID: 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,Ranbir.Singh3@Dell.com X-Gm-Message-State: f88TLBWAeBdKxsKmcvHU6BbPx1787277AA= Content-Type: multipart/alternative; boundary="aqXSMrp1ewkJ0SQXIXlQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1672815156; bh=3ETZMe+Ry3hWxJOY538VyEXGQFzs/gKbqZ1U4W35ZiI=; h=Content-Type:Date:From:Reply-To:Subject:To; b=vQeAljKEmjdziR6PGPN6RyBq37G85WeXFIRIkRZ6k+j+Kw2Hoi475lhVG+ZaPNDBMrk IuH+wgbenfQv98qX876L629HrWty/RkbOt63mDOYuB1C91g5HGuJ06+qg60oASmRG00Fz liQ1pY5kJDsxISKRxo2SstjwxIqs3bYAXP4= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1672815158873100001 --aqXSMrp1ewkJ0SQXIXlQ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 The functions CoreConvertSpace and CoreAllocateSpace in MdeModulePkg/Core/Dxe/Gcd/Gcd.c has ASSERT (FALSE); at lines 755 and 1155 which gets hit when Operation neither include GCD_MEMORY_SPACE_OPERATION nor include GCD_IO_SPACE_OPERATION but this comes into play only in DEBUG mode. In Release mode, the code continues to proceed in this undesirable case with Map variable still set to NULL and hence dereferencing "Map" will lead to CRASH. It is safer to add a debug message in this scenario and return from the function with EFI_INVALID_PARAMETER; The existing ASSERT may be retained or may be deleted whatever is deemed more appropriate. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4219 Signed-off-by: Ranbir Singh --- MdeModulePkg/Core/Dxe/Gcd/Gcd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c b/MdeModulePkg/Core/Dxe/Gcd/Gc= d.c index 792cd2e0af..39fa2adf93 100644 --- a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c +++ b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c @@ -752,7 +752,9 @@ CoreConvertSpace ( CoreAcquireGcdIoLock (); Map =3D &mGcdIoSpaceMap; } else { +=C2=A0 =C2=A0 DEBUG ((DEBUG_GCD, "=C2=A0 Status =3D %r\n", EFI_INVALID_PAR= AMETER)); ASSERT (FALSE); +=C2=A0 =C2=A0 return EFI_INVALID_PARAMETER; } // @@ -1152,7 +1154,9 @@ CoreAllocateSpace ( CoreAcquireGcdIoLock (); Map =3D &mGcdIoSpaceMap; } else { +=C2=A0 =C2=A0 DEBUG ((DEBUG_GCD, "=C2=A0 Status =3D %r\n", EFI_INVALID_PAR= AMETER)); ASSERT (FALSE); +=C2=A0 =C2=A0 return EFI_INVALID_PARAMETER; } Found=C2=A0 =C2=A0 =C2=A0=3D FALSE; -- 2.36.1.windows.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 (#97918): https://edk2.groups.io/g/devel/message/97918 Mute This Topic: https://groups.io/mt/96046039/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- --aqXSMrp1ewkJ0SQXIXlQ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable
The functions CoreConvertSpace and CoreAllocateSpace in
 
    MdeModulePkg/Core/Dxe/Gcd/Gcd.c has
 
    ASSERT (FALSE); at lines 755 and 1155 which gets hit whe= n
 
Operation neither include GCD_MEMORY_SPACE_OPERATION nor include
GCD_IO_SPACE_OPERATION but this comes into play only in DEBUG mode.
In Release mode, the code continues to proceed in this undesirable
case with Map variable still set to NULL and hence dereferencing
"Map" will lead to CRASH.
 
It is safer to add a debug message in this scenario and return from
the function with EFI_INVALID_PARAMETER; The existing ASSERT may be
retained or may be deleted whatever is deemed more appropriate.
 
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4219
Signed-off-by: Ranbir Singh <Ranbir.Singh3@Dell.com>
---
 MdeModulePkg/Core/Dxe/Gcd/Gcd.c | 4 ++++
 1 file changed, 4 insertions(+)
 
diff --git a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c b/MdeModulePkg/Core/Dxe/G= cd/Gcd.c
index 792cd2e0af..39fa2adf93 100644
--- a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
+++ b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
@@ -752,7 +752,9 @@ CoreConvertSpace (
     CoreAcquireGcdIoLock ();
     Map =3D &mGcdIoSpaceMap;
   } else {
+    DEBUG ((DEBUG_GCD, "  Status =3D %r\n", EFI_INVALI= D_PARAMETER));
     ASSERT (FALSE);
+    return EFI_INVALID_PARAMETER;
   }
 
   //
@@ -1152,7 +1154,9 @@ CoreAllocateSpace (
     CoreAcquireGcdIoLock ();
     Map =3D &mGcdIoSpaceMap;
   } else {
+    DEBUG ((DEBUG_GCD, "  Status =3D %r\n", EFI_INVALI= D_PARAMETER));
     ASSERT (FALSE);
+    return EFI_INVALID_PARAMETER;
   }
 
   Found     =3D FALSE;
--
2.36.1.windows.1
_._,_._,_

Groups.io Links:

=20 You receive all messages sent to this group. =20 =20

= View/Reply Online (#97918) | =20 | Mute = This Topic | New Topic
Your Subscriptio= n | Contact Group Owner | Unsubscribe [importer@patchew.org]

_._,_._,_
--aqXSMrp1ewkJ0SQXIXlQ--