* [PATCH v5 0/3] Fix IS_ERR() vs NULL check for drm
@ 2023-07-24 14:00 ` Gaosheng Cui
0 siblings, 0 replies; 10+ messages in thread
From: Gaosheng Cui @ 2023-07-24 14:00 UTC (permalink / raw)
To: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong, sam,
quic_eberman, a39.skl, quic_gurus, cuigaosheng1,
angelogioacchino.delregno, james.qian.wang
Cc: dri-devel, linux-arm-msm, freedreno
v5:
- Update the third patch, change IS_ERR to IS_ERR_OR_NULL.
Thanks!
v4:
- 1. Update the second patch's commit messages.
2. Update the first patch, use dev_err_probe() instead of dev_err().
Thanks!
v3:
- Update the second patch:
1. change IS_ERR to IS_ERR_OR_NULL
2. add Dmitry's R-b in this revision:
link: https://patchwork.freedesktop.org/patch/511035/?series=110745&rev=1
Thanks!
v2:
- I'm sorry I missed some emails, these patches were submitted last year,
now let me resend it with the following changes:
1. remove the patch: "drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in msm_icc_get()"
2. remove the patch: "drm/vc4: kms: Fix IS_ERR() vs NULL check for vc4_kms"
3. add "Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>" to the second patch.
Thanks!
v1:
- This series contains a few fixup patches, to fix IS_ERR() vs NULL check
for drm, and avoid a potential null-ptr-defer issue, too. Thanks!
Gaosheng Cui (3):
drm/panel: Fix IS_ERR() vs NULL check in nt35950_probe()
drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
drm/komeda: Fix IS_ERR_OR_NULL() vs NULL check in
komeda_component_get_avail_scaler()
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | 2 +-
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 2 +-
drivers/gpu/drm/panel/panel-novatek-nt35950.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v5 0/3] Fix IS_ERR() vs NULL check for drm
@ 2023-07-24 14:00 ` Gaosheng Cui
0 siblings, 0 replies; 10+ messages in thread
From: Gaosheng Cui @ 2023-07-24 14:00 UTC (permalink / raw)
To: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong, sam,
quic_eberman, a39.skl, quic_gurus, cuigaosheng1,
angelogioacchino.delregno, james.qian.wang
Cc: linux-arm-msm, freedreno, dri-devel
v5:
- Update the third patch, change IS_ERR to IS_ERR_OR_NULL.
Thanks!
v4:
- 1. Update the second patch's commit messages.
2. Update the first patch, use dev_err_probe() instead of dev_err().
Thanks!
v3:
- Update the second patch:
1. change IS_ERR to IS_ERR_OR_NULL
2. add Dmitry's R-b in this revision:
link: https://patchwork.freedesktop.org/patch/511035/?series=110745&rev=1
Thanks!
v2:
- I'm sorry I missed some emails, these patches were submitted last year,
now let me resend it with the following changes:
1. remove the patch: "drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in msm_icc_get()"
2. remove the patch: "drm/vc4: kms: Fix IS_ERR() vs NULL check for vc4_kms"
3. add "Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>" to the second patch.
Thanks!
v1:
- This series contains a few fixup patches, to fix IS_ERR() vs NULL check
for drm, and avoid a potential null-ptr-defer issue, too. Thanks!
Gaosheng Cui (3):
drm/panel: Fix IS_ERR() vs NULL check in nt35950_probe()
drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
drm/komeda: Fix IS_ERR_OR_NULL() vs NULL check in
komeda_component_get_avail_scaler()
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | 2 +-
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 2 +-
drivers/gpu/drm/panel/panel-novatek-nt35950.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v5 1/3] drm/panel: Fix IS_ERR() vs NULL check in nt35950_probe()
2023-07-24 14:00 ` Gaosheng Cui
@ 2023-07-24 14:00 ` Gaosheng Cui
-1 siblings, 0 replies; 10+ messages in thread
From: Gaosheng Cui @ 2023-07-24 14:00 UTC (permalink / raw)
To: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong, sam,
quic_eberman, a39.skl, quic_gurus, cuigaosheng1,
angelogioacchino.delregno, james.qian.wang
Cc: dri-devel, linux-arm-msm, freedreno
The mipi_dsi_device_register_full() returns an ERR_PTR() on failure,
we should use IS_ERR() to check the return value.
By the way, use dev_err_probe instead of dev_err to print the error code.
Fixes: 623a3531e9cf ("drm/panel: Add driver for Novatek NT35950 DSI DriverIC panels")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
---
drivers/gpu/drm/panel/panel-novatek-nt35950.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35950.c b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
index 8b108ac80b55..2731ce02ce53 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35950.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
@@ -571,8 +571,8 @@ static int nt35950_probe(struct mipi_dsi_device *dsi)
}
nt->dsi[1] = mipi_dsi_device_register_full(dsi_r_host, info);
- if (!nt->dsi[1]) {
- dev_err(dev, "Cannot get secondary DSI node\n");
+ if (IS_ERR(nt->dsi[1])) {
+ dev_err_probe(dev, PTR_ERR(nt->dsi[1]), "Cannot get secondary DSI node\n");
return -ENODEV;
}
num_dsis++;
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v5 1/3] drm/panel: Fix IS_ERR() vs NULL check in nt35950_probe()
@ 2023-07-24 14:00 ` Gaosheng Cui
0 siblings, 0 replies; 10+ messages in thread
From: Gaosheng Cui @ 2023-07-24 14:00 UTC (permalink / raw)
To: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong, sam,
quic_eberman, a39.skl, quic_gurus, cuigaosheng1,
angelogioacchino.delregno, james.qian.wang
Cc: linux-arm-msm, freedreno, dri-devel
The mipi_dsi_device_register_full() returns an ERR_PTR() on failure,
we should use IS_ERR() to check the return value.
By the way, use dev_err_probe instead of dev_err to print the error code.
Fixes: 623a3531e9cf ("drm/panel: Add driver for Novatek NT35950 DSI DriverIC panels")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
---
drivers/gpu/drm/panel/panel-novatek-nt35950.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35950.c b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
index 8b108ac80b55..2731ce02ce53 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35950.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
@@ -571,8 +571,8 @@ static int nt35950_probe(struct mipi_dsi_device *dsi)
}
nt->dsi[1] = mipi_dsi_device_register_full(dsi_r_host, info);
- if (!nt->dsi[1]) {
- dev_err(dev, "Cannot get secondary DSI node\n");
+ if (IS_ERR(nt->dsi[1])) {
+ dev_err_probe(dev, PTR_ERR(nt->dsi[1]), "Cannot get secondary DSI node\n");
return -ENODEV;
}
num_dsis++;
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v5 2/3] drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
2023-07-24 14:00 ` Gaosheng Cui
@ 2023-07-24 14:00 ` Gaosheng Cui
-1 siblings, 0 replies; 10+ messages in thread
From: Gaosheng Cui @ 2023-07-24 14:00 UTC (permalink / raw)
To: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong, sam,
quic_eberman, a39.skl, quic_gurus, cuigaosheng1,
angelogioacchino.delregno, james.qian.wang
Cc: dri-devel, linux-arm-msm, freedreno
The msm_gem_get_vaddr() returns an ERR_PTR() on failure, and a null
is catastrophic here, so we should use IS_ERR_OR_NULL() to check
the return value.
Fixes: 6a8bd08d0465 ("drm/msm: add sudo flag to submit ioctl")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Reviewed-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
---
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
index a99310b68793..bbb1bf33f98e 100644
--- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
@@ -89,7 +89,7 @@ static void a5xx_submit_in_rb(struct msm_gpu *gpu, struct msm_gem_submit *submit
* since we've already mapped it once in
* submit_reloc()
*/
- if (WARN_ON(!ptr))
+ if (WARN_ON(IS_ERR_OR_NULL(ptr)))
return;
for (i = 0; i < dwords; i++) {
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v5 2/3] drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
@ 2023-07-24 14:00 ` Gaosheng Cui
0 siblings, 0 replies; 10+ messages in thread
From: Gaosheng Cui @ 2023-07-24 14:00 UTC (permalink / raw)
To: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong, sam,
quic_eberman, a39.skl, quic_gurus, cuigaosheng1,
angelogioacchino.delregno, james.qian.wang
Cc: linux-arm-msm, freedreno, dri-devel
The msm_gem_get_vaddr() returns an ERR_PTR() on failure, and a null
is catastrophic here, so we should use IS_ERR_OR_NULL() to check
the return value.
Fixes: 6a8bd08d0465 ("drm/msm: add sudo flag to submit ioctl")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Reviewed-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
---
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
index a99310b68793..bbb1bf33f98e 100644
--- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
@@ -89,7 +89,7 @@ static void a5xx_submit_in_rb(struct msm_gpu *gpu, struct msm_gem_submit *submit
* since we've already mapped it once in
* submit_reloc()
*/
- if (WARN_ON(!ptr))
+ if (WARN_ON(IS_ERR_OR_NULL(ptr)))
return;
for (i = 0; i < dwords; i++) {
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v5 3/3] drm/komeda: Fix IS_ERR_OR_NULL() vs NULL check in komeda_component_get_avail_scaler()
2023-07-24 14:00 ` Gaosheng Cui
@ 2023-07-24 14:00 ` Gaosheng Cui
-1 siblings, 0 replies; 10+ messages in thread
From: Gaosheng Cui @ 2023-07-24 14:00 UTC (permalink / raw)
To: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong, sam,
quic_eberman, a39.skl, quic_gurus, cuigaosheng1,
angelogioacchino.delregno, james.qian.wang
Cc: dri-devel, linux-arm-msm, freedreno
The komeda_pipeline_get_state() returns an ERR_PTR() on failure,
and a null is catastrophic here we should use IS_ERR_OR_NULL()
to check the return value.
Fixes: 502932a03fce ("drm/komeda: Add the initial scaler support for CORE")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
---
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
index 3276a3e82c62..f7281dd99727 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
@@ -259,7 +259,7 @@ komeda_component_get_avail_scaler(struct komeda_component *c,
u32 avail_scalers;
pipe_st = komeda_pipeline_get_state(c->pipeline, state);
- if (!pipe_st)
+ if (IS_ERR_OR_NULL(pipe_st))
return NULL;
avail_scalers = (pipe_st->active_comps & KOMEDA_PIPELINE_SCALERS) ^
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v5 3/3] drm/komeda: Fix IS_ERR_OR_NULL() vs NULL check in komeda_component_get_avail_scaler()
@ 2023-07-24 14:00 ` Gaosheng Cui
0 siblings, 0 replies; 10+ messages in thread
From: Gaosheng Cui @ 2023-07-24 14:00 UTC (permalink / raw)
To: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong, sam,
quic_eberman, a39.skl, quic_gurus, cuigaosheng1,
angelogioacchino.delregno, james.qian.wang
Cc: linux-arm-msm, freedreno, dri-devel
The komeda_pipeline_get_state() returns an ERR_PTR() on failure,
and a null is catastrophic here we should use IS_ERR_OR_NULL()
to check the return value.
Fixes: 502932a03fce ("drm/komeda: Add the initial scaler support for CORE")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
---
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
index 3276a3e82c62..f7281dd99727 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
@@ -259,7 +259,7 @@ komeda_component_get_avail_scaler(struct komeda_component *c,
u32 avail_scalers;
pipe_st = komeda_pipeline_get_state(c->pipeline, state);
- if (!pipe_st)
+ if (IS_ERR_OR_NULL(pipe_st))
return NULL;
avail_scalers = (pipe_st->active_comps & KOMEDA_PIPELINE_SCALERS) ^
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v5 1/3] drm/panel: Fix IS_ERR() vs NULL check in nt35950_probe()
2023-07-24 14:00 ` Gaosheng Cui
@ 2023-07-24 17:14 ` Sam Ravnborg
-1 siblings, 0 replies; 10+ messages in thread
From: Sam Ravnborg @ 2023-07-24 17:14 UTC (permalink / raw)
To: Gaosheng Cui
Cc: neil.armstrong, quic_eberman, quic_gurus, sean, linux-arm-msm,
a39.skl, liviu.dudau, quic_abhinavk, dri-devel, james.qian.wang,
angelogioacchino.delregno, dmitry.baryshkov, marijn.suijten,
freedreno
Hi Gaosheng,
On Mon, Jul 24, 2023 at 10:00:34PM +0800, Gaosheng Cui wrote:
> The mipi_dsi_device_register_full() returns an ERR_PTR() on failure,
> we should use IS_ERR() to check the return value.
>
> By the way, use dev_err_probe instead of dev_err to print the error code.
>
> Fixes: 623a3531e9cf ("drm/panel: Add driver for Novatek NT35950 DSI DriverIC panels")
> Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
> ---
> drivers/gpu/drm/panel/panel-novatek-nt35950.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35950.c b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
> index 8b108ac80b55..2731ce02ce53 100644
> --- a/drivers/gpu/drm/panel/panel-novatek-nt35950.c
> +++ b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
> @@ -571,8 +571,8 @@ static int nt35950_probe(struct mipi_dsi_device *dsi)
> }
>
> nt->dsi[1] = mipi_dsi_device_register_full(dsi_r_host, info);
> - if (!nt->dsi[1]) {
> - dev_err(dev, "Cannot get secondary DSI node\n");
> + if (IS_ERR(nt->dsi[1])) {
> + dev_err_probe(dev, PTR_ERR(nt->dsi[1]), "Cannot get secondary DSI node\n");
> return -ENODEV;
This code should return the error code we get from
mipi_dsi_device_register_full().
To do so use:
return dev_err_probe(...);
Please fix and sorry for not noticing before.
Sam
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v5 1/3] drm/panel: Fix IS_ERR() vs NULL check in nt35950_probe()
@ 2023-07-24 17:14 ` Sam Ravnborg
0 siblings, 0 replies; 10+ messages in thread
From: Sam Ravnborg @ 2023-07-24 17:14 UTC (permalink / raw)
To: Gaosheng Cui
Cc: liviu.dudau, airlied, daniel, robdclark, quic_abhinavk,
dmitry.baryshkov, sean, marijn.suijten, neil.armstrong,
quic_eberman, a39.skl, quic_gurus, angelogioacchino.delregno,
james.qian.wang, dri-devel, linux-arm-msm, freedreno
Hi Gaosheng,
On Mon, Jul 24, 2023 at 10:00:34PM +0800, Gaosheng Cui wrote:
> The mipi_dsi_device_register_full() returns an ERR_PTR() on failure,
> we should use IS_ERR() to check the return value.
>
> By the way, use dev_err_probe instead of dev_err to print the error code.
>
> Fixes: 623a3531e9cf ("drm/panel: Add driver for Novatek NT35950 DSI DriverIC panels")
> Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
> ---
> drivers/gpu/drm/panel/panel-novatek-nt35950.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35950.c b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
> index 8b108ac80b55..2731ce02ce53 100644
> --- a/drivers/gpu/drm/panel/panel-novatek-nt35950.c
> +++ b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
> @@ -571,8 +571,8 @@ static int nt35950_probe(struct mipi_dsi_device *dsi)
> }
>
> nt->dsi[1] = mipi_dsi_device_register_full(dsi_r_host, info);
> - if (!nt->dsi[1]) {
> - dev_err(dev, "Cannot get secondary DSI node\n");
> + if (IS_ERR(nt->dsi[1])) {
> + dev_err_probe(dev, PTR_ERR(nt->dsi[1]), "Cannot get secondary DSI node\n");
> return -ENODEV;
This code should return the error code we get from
mipi_dsi_device_register_full().
To do so use:
return dev_err_probe(...);
Please fix and sorry for not noticing before.
Sam
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-07-24 17:30 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-24 14:00 [PATCH v5 0/3] Fix IS_ERR() vs NULL check for drm Gaosheng Cui
2023-07-24 14:00 ` Gaosheng Cui
2023-07-24 14:00 ` [PATCH v5 1/3] drm/panel: Fix IS_ERR() vs NULL check in nt35950_probe() Gaosheng Cui
2023-07-24 14:00 ` Gaosheng Cui
2023-07-24 17:14 ` Sam Ravnborg
2023-07-24 17:14 ` Sam Ravnborg
2023-07-24 14:00 ` [PATCH v5 2/3] drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb() Gaosheng Cui
2023-07-24 14:00 ` Gaosheng Cui
2023-07-24 14:00 ` [PATCH v5 3/3] drm/komeda: Fix IS_ERR_OR_NULL() vs NULL check in komeda_component_get_avail_scaler() Gaosheng Cui
2023-07-24 14:00 ` Gaosheng Cui
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.