[PATCH] efi_loader: fix an IS_ERR() vs NULL check

Dan Carpenter dan.carpenter at linaro.org
Thu Jul 27 11:24:05 CEST 2023


On Thu, Jul 27, 2023 at 11:28:52AM +0300, Ilias Apalodimas wrote:
> Hi Dan, Heinrich
> 
> On Thu, 27 Jul 2023 at 11:25, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
> >
> > On 7/27/23 09:16, Dan Carpenter wrote:
> > > The efi_parse_pkcs7_header() function returns NULL on error so the check
> > > for IS_ERR() should be changed to a NULL check.
> > >
> > > Signed-off-by: Dan Carpenter <dan.carpenter at linaro.org>
> > > ---
> > >   lib/efi_loader/efi_capsule.c | 3 +--
> > >   1 file changed, 1 insertion(+), 2 deletions(-)
> > >
> > > diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
> > > index 7a6f195cbc02..c98cff812f10 100644
> > > --- a/lib/efi_loader/efi_capsule.c
> > > +++ b/lib/efi_loader/efi_capsule.c
> > > @@ -368,9 +368,8 @@ efi_status_t efi_capsule_authenticate(const void *capsule, efi_uintn_t capsule_s
> > >                                            auth_hdr->auth_info.hdr.dwLength
> > >                                            - sizeof(auth_hdr->auth_info),
> > >                                            &buf);
> > > -     if (IS_ERR(capsule_sig)) {
> > > +     if (!capsule_sig) {
> >
> > Thanks for addressing this bug.
> >
> > Can we get rid of all the IS_ERR() in efi_capsule_authenticate() and use
> > IS_ERR_OR_NULL() here?
> >
> > Best regards
> 
> Heinrich is right here.   This seems more fundamentally broken as
> efi_parse_pkcs7_header() can return an IS_ERR() or NULL...

No, it can only return NULL.  That's also how the function is
documented.

 * Return:      Pointer to pkcs7_message structure on success, NULL on error

regards,
dan carpenter



More information about the U-Boot mailing list