Will you submit a patch for this change? Thanks/Ray
> -----Original Message----- > From: Guo Heyi [mailto:heyi....@linaro.org] > Sent: Saturday, February 24, 2018 4:29 PM > To: Ni, Ruiyu <ruiyu...@intel.com> > Cc: Guo Heyi <heyi....@linaro.org>; edk2-devel@lists.01.org; Zeng, Star > <star.z...@intel.com>; Dong, Eric <eric.d...@intel.com> > Subject: Re: MdeModulePkg/UefiBootManagerLib: recursive call of > BmRepairAllControllers > > On Sat, Feb 24, 2018 at 04:20:52PM +0800, Ni, Ruiyu wrote: > > On 2/24/2018 2:23 PM, Guo Heyi wrote: > > >Hi folks, > > > > > >In BmDriverHealth.c, function BmRepairAllControllers may recursively > > >call itself if some driver health protocol returns > EfiDriverHealthStatusReconnectRequired. > > >However, if there is something wrong in some 3rd party driver (e.g. > > >PCI oprom), the driver health protocol of that driver may always > > >return such status even after one and another reconnect. The endless > > >iteration will cause stack overflow and then system exception, and it > > >may be not easy to find that the exception is actually caused by stack > overflow. > > > > yes. I agree. > > If a buggy PCI oprom always return ReconnectRequired, the stack > > overflow will happen. > > > > How about we choose maximum recursive call depth as 10 and continue to > > boot if call depth reaches 11? > > That's fine for me :) > > Thanks, > > Gary (Heyi Guo) > > > > > > > > >So does it make sense to set a maximum count of this recursive call > > >to avoid whole system hang even there is a buggy 3rd party driver? > > > > > >Thanks, > > > > > >Gary (Heyi Guo) > > > > > > > > > -- > > Thanks, > > Ray _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel