Message ID | 20211118111314.GB1147@kili (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks | expand |
On Thu, 18 Nov 2021 at 21:13, Dan Carpenter <dan.carpenter@oracle.com> wrote: > > The nvkm_acr_lsfw_add() function never returns NULL. It returns error > pointers on error. > > Fixes: 22dcda45a3d1 ("drm/nouveau/acr: implement new subdev to replace "secure boot"") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Ben Skeggs <bskeggs@redhat.com> > --- > drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c | 6 ++++-- > drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c | 6 ++++-- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c > index cdb1ead26d84..82b4c8e1457c 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c > @@ -207,11 +207,13 @@ int > gm200_acr_wpr_parse(struct nvkm_acr *acr) > { > const struct wpr_header *hdr = (void *)acr->wpr_fw->data; > + struct nvkm_acr_lsfw *lsfw; > > while (hdr->falcon_id != WPR_HEADER_V0_FALCON_ID_INVALID) { > wpr_header_dump(&acr->subdev, hdr); > - if (!nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id)) > - return -ENOMEM; > + lsfw = nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id); > + if (IS_ERR(lsfw)) > + return PTR_ERR(lsfw); > } > > return 0; > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c > index fb9132a39bb1..fd97a935a380 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c > @@ -161,11 +161,13 @@ int > gp102_acr_wpr_parse(struct nvkm_acr *acr) > { > const struct wpr_header_v1 *hdr = (void *)acr->wpr_fw->data; > + struct nvkm_acr_lsfw *lsfw; > > while (hdr->falcon_id != WPR_HEADER_V1_FALCON_ID_INVALID) { > wpr_header_v1_dump(&acr->subdev, hdr); > - if (!nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id)) > - return -ENOMEM; > + lsfw = nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id); > + if (IS_ERR(lsfw)) > + return PTR_ERR(lsfw); > } > > return 0; > -- > 2.20.1 >
Reviewed-by: Lyude Paul <lyude@redhat.com> Will push this to drm-misc in a bit On Thu, 2021-11-18 at 14:13 +0300, Dan Carpenter wrote: > The nvkm_acr_lsfw_add() function never returns NULL. It returns error > pointers on error. > > Fixes: 22dcda45a3d1 ("drm/nouveau/acr: implement new subdev to replace > "secure boot"") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > --- > drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c | 6 ++++-- > drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c | 6 ++++-- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c > b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c > index cdb1ead26d84..82b4c8e1457c 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c > @@ -207,11 +207,13 @@ int > gm200_acr_wpr_parse(struct nvkm_acr *acr) > { > const struct wpr_header *hdr = (void *)acr->wpr_fw->data; > + struct nvkm_acr_lsfw *lsfw; > > while (hdr->falcon_id != WPR_HEADER_V0_FALCON_ID_INVALID) { > wpr_header_dump(&acr->subdev, hdr); > - if (!nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id)) > - return -ENOMEM; > + lsfw = nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)- > >falcon_id); > + if (IS_ERR(lsfw)) > + return PTR_ERR(lsfw); > } > > return 0; > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c > b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c > index fb9132a39bb1..fd97a935a380 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c > @@ -161,11 +161,13 @@ int > gp102_acr_wpr_parse(struct nvkm_acr *acr) > { > const struct wpr_header_v1 *hdr = (void *)acr->wpr_fw->data; > + struct nvkm_acr_lsfw *lsfw; > > while (hdr->falcon_id != WPR_HEADER_V1_FALCON_ID_INVALID) { > wpr_header_v1_dump(&acr->subdev, hdr); > - if (!nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id)) > - return -ENOMEM; > + lsfw = nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)- > >falcon_id); > + if (IS_ERR(lsfw)) > + return PTR_ERR(lsfw); > } > > return 0;
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c index cdb1ead26d84..82b4c8e1457c 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c @@ -207,11 +207,13 @@ int gm200_acr_wpr_parse(struct nvkm_acr *acr) { const struct wpr_header *hdr = (void *)acr->wpr_fw->data; + struct nvkm_acr_lsfw *lsfw; while (hdr->falcon_id != WPR_HEADER_V0_FALCON_ID_INVALID) { wpr_header_dump(&acr->subdev, hdr); - if (!nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id)) - return -ENOMEM; + lsfw = nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id); + if (IS_ERR(lsfw)) + return PTR_ERR(lsfw); } return 0; diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c index fb9132a39bb1..fd97a935a380 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c @@ -161,11 +161,13 @@ int gp102_acr_wpr_parse(struct nvkm_acr *acr) { const struct wpr_header_v1 *hdr = (void *)acr->wpr_fw->data; + struct nvkm_acr_lsfw *lsfw; while (hdr->falcon_id != WPR_HEADER_V1_FALCON_ID_INVALID) { wpr_header_v1_dump(&acr->subdev, hdr); - if (!nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id)) - return -ENOMEM; + lsfw = nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->falcon_id); + if (IS_ERR(lsfw)) + return PTR_ERR(lsfw); } return 0;
The nvkm_acr_lsfw_add() function never returns NULL. It returns error pointers on error. Fixes: 22dcda45a3d1 ("drm/nouveau/acr: implement new subdev to replace "secure boot"") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.c | 6 ++++-- drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-)