> -----Original Message----- > From: Ranbir Singh <rsi...@ventanamicro.com> > Sent: Monday, July 17, 2023 7:39 PM > To: devel@edk2.groups.io; rsi...@ventanamicro.com > Cc: Wu, Hao A <hao.a...@intel.com>; Ni, Ray <ray...@intel.com>; Veeresh > Sangolli <veeresh.sango...@dellteam.com> > Subject: [PATCH v1 1/2] MdeModulePkg/Bus/Pci/UhciDxe: Fix BAD_SHIFT > Coverity issue > > From: Ranbir Singh <ranbir.sin...@dell.com> > > The function UhciConvertPollRate has a check > > ASSERT (Interval != 0); > > but this comes into play only in DEBUG mode. In Release mode, there is > no handling if the Interval parameter value is ZERO. To avoid shifting > by a negative amount later in the code flow in this undesirable case, > it is better to handle it as well by simply returning ZERO. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4211 > > Cc: Hao A Wu <hao.a...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Co-authored-by: Veeresh Sangolli <veeresh.sango...@dellteam.com> > Signed-off-by: Ranbir Singh <ranbir.sin...@dell.com> > Signed-off-by: Ranbir Singh <rsi...@ventanamicro.com> > --- > MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c > b/MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c > index c08f9496969b..8ddef4b68ccf 100644 > --- a/MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c > +++ b/MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c > @@ -214,6 +214,10 @@ UhciConvertPollRate ( > > > ASSERT (Interval != 0); > > > > + if (Interval == 0) { > > + return 0;
Return 0 will cause further issues within UhciLinkQhToFrameList() & UhciUnlinkQhFromFrameList() where the returned value is being used in the below 'for' statement: for (Index = 0; Index < UHCI_FRAME_NUM; Index += Qh->Interval) { My thought is to return 1 (i.e. 1 << 0) as if the minimum allowed value for 'Interval' (which is 1) is being passed into this UhciConvertPollRate function. Best Regards, Hao Wu > > + } > > + > > // > > // Find the index (1 based) of the highest non-zero bit > > // > > -- > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107678): https://edk2.groups.io/g/devel/message/107678 Mute This Topic: https://groups.io/mt/100212109/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-