drivers/gpu/drm/gud/gud_connector.c | 8 ++++---- drivers/gpu/drm/gud/gud_pipe.c | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-)
GUD is a drm driver, and therefore should use the drm versions of
WARN_ON and WARN_ON_ONCE. This patch replaces all instances of WARN_ON
and WARN_ON_ONCE with drm_WARN_ON and drm_WARN_ON_ONCE.
Signed-off-by: Ruben Wauters <rubenru09@aol.com>
---
drivers/gpu/drm/gud/gud_connector.c | 8 ++++----
drivers/gpu/drm/gud/gud_pipe.c | 10 +++++-----
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/gud/gud_connector.c b/drivers/gpu/drm/gud/gud_connector.c
index 4a15695fa933..62e349b06dbe 100644
--- a/drivers/gpu/drm/gud/gud_connector.c
+++ b/drivers/gpu/drm/gud/gud_connector.c
@@ -561,11 +561,11 @@ static int gud_connector_add_properties(struct gud_device *gdrm, struct gud_conn
continue; /* not a DRM property */
property = gud_connector_property_lookup(connector, prop);
- if (WARN_ON(IS_ERR(property)))
+ if (drm_WARN_ON(drm, IS_ERR(property)))
continue;
state_val = gud_connector_tv_state_val(prop, &gconn->initial_tv_state);
- if (WARN_ON(IS_ERR(state_val)))
+ if (drm_WARN_ON(drm, IS_ERR(state_val)))
continue;
*state_val = val;
@@ -593,7 +593,7 @@ int gud_connector_fill_properties(struct drm_connector_state *connector_state,
unsigned int *state_val;
state_val = gud_connector_tv_state_val(prop, &connector_state->tv);
- if (WARN_ON_ONCE(IS_ERR(state_val)))
+ if (drm_WARN_ON_ONCE(connector_state->connector->dev, state_val))
return PTR_ERR(state_val);
val = *state_val;
@@ -667,7 +667,7 @@ static int gud_connector_create(struct gud_device *gdrm, unsigned int index,
return ret;
}
- if (WARN_ON(connector->index != index))
+ if (drm_WARN_ON(drm, connector->index != index))
return -EINVAL;
if (flags & GUD_CONNECTOR_FLAGS_POLL_STATUS)
diff --git a/drivers/gpu/drm/gud/gud_pipe.c b/drivers/gpu/drm/gud/gud_pipe.c
index 54d9aa9998e5..3a208e956dff 100644
--- a/drivers/gpu/drm/gud/gud_pipe.c
+++ b/drivers/gpu/drm/gud/gud_pipe.c
@@ -61,7 +61,7 @@ static size_t gud_xrgb8888_to_r124(u8 *dst, const struct drm_format_info *format
size_t len;
void *buf;
- WARN_ON_ONCE(format->char_per_block[0] != 1);
+ drm_WARN_ON_ONCE(fb->dev, format->char_per_block[0] != 1);
/* Start on a byte boundary */
rect->x1 = ALIGN_DOWN(rect->x1, block_width);
@@ -138,7 +138,7 @@ static size_t gud_xrgb8888_to_color(u8 *dst, const struct drm_format_info *forma
pix = ((r >> 7) << 2) | ((g >> 7) << 1) | (b >> 7);
break;
default:
- WARN_ON_ONCE(1);
+ drm_WARN_ON_ONCE(fb->dev, 1);
return len;
}
@@ -527,7 +527,7 @@ int gud_plane_atomic_check(struct drm_plane *plane,
drm_connector_list_iter_end(&conn_iter);
}
- if (WARN_ON_ONCE(!connector_state))
+ if (drm_WARN_ON_ONCE(plane->dev, !connector_state))
return -ENOENT;
len = struct_size(req, properties,
@@ -539,7 +539,7 @@ int gud_plane_atomic_check(struct drm_plane *plane,
gud_from_display_mode(&req->mode, mode);
req->format = gud_from_fourcc(format->format);
- if (WARN_ON_ONCE(!req->format)) {
+ if (drm_WARN_ON_ONCE(plane->dev, !req->format)) {
ret = -EINVAL;
goto out;
}
@@ -561,7 +561,7 @@ int gud_plane_atomic_check(struct drm_plane *plane,
val = new_plane_state->rotation;
break;
default:
- WARN_ON_ONCE(1);
+ drm_WARN_ON_ONCE(plane->dev, 1);
ret = -EINVAL;
goto out;
}
--
2.49.1
Hi Ruben, kernel test robot noticed the following build warnings: https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Ruben-Wauters/drm-gud-replace-WARN_ON-WARN_ON_ONCE-with-drm-versions/20250914-235627 base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next patch link: https://lore.kernel.org/r/20250914155308.2144-1-rubenru09%40aol.com patch subject: [PATCH] drm: gud: replace WARN_ON/WARN_ON_ONCE with drm versions config: x86_64-randconfig-161-20250921 (https://download.01.org/0day-ci/archive/20250921/202509212215.c8v3RKmL-lkp@intel.com/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Reported-by: Dan Carpenter <dan.carpenter@linaro.org> | Closes: https://lore.kernel.org/r/202509212215.c8v3RKmL-lkp@intel.com/ smatch warnings: drivers/gpu/drm/gud/gud_connector.c:597 gud_connector_fill_properties() warn: passing a valid pointer to 'PTR_ERR' vim +/PTR_ERR +597 drivers/gpu/drm/gud/gud_connector.c 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 580 int gud_connector_fill_properties(struct drm_connector_state *connector_state, 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 581 struct gud_property_req *properties) 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 582 { 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 583 struct gud_connector *gconn = to_gud_connector(connector_state->connector); 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 584 unsigned int i; 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 585 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 586 for (i = 0; i < gconn->num_properties; i++) { 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 587 u16 prop = gconn->properties[i]; 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 588 u64 val; 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 589 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 590 if (prop == GUD_PROPERTY_BACKLIGHT_BRIGHTNESS) { 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 591 val = connector_state->tv.brightness; 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 592 } else { 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 593 unsigned int *state_val; 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 594 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 595 state_val = gud_connector_tv_state_val(prop, &connector_state->tv); d00e57106c0d0c Ruben Wauters 2025-09-14 596 if (drm_WARN_ON_ONCE(connector_state->connector->dev, state_val)) You accidentally deleted the IS_ERR() check so now this function is badly broken. if (drm_WARN_ON_ONCE(connector_state->connector->dev, IS_ERR(state_val))) 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 @597 return PTR_ERR(state_val); 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 598 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 599 val = *state_val; 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 600 } 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 601 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 602 properties[i].prop = cpu_to_le16(prop); 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 603 properties[i].val = cpu_to_le64(val); 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 604 } 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 605 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 606 return gconn->num_properties; 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 607 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
On Mon, 2025-09-22 at 08:47 +0300, Dan Carpenter wrote: > Hi Ruben, > > kernel test robot noticed the following build warnings: > > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: > https://github.com/intel-lab-lkp/linux/commits/Ruben-Wauters/drm-gud-replace-WARN_ON-WARN_ON_ONCE-with-drm-versions/20250914-235627 > base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next > patch link: > https://lore.kernel.org/r/20250914155308.2144-1-rubenru09%40aol.com > patch subject: [PATCH] drm: gud: replace WARN_ON/WARN_ON_ONCE with > drm versions > config: x86_64-randconfig-161-20250921 > (https://download.01.org/0day-ci/archive/20250921/202509212215.c8v3RK > mL-lkp@intel.com/config) > compiler: clang version 20.1.8 > (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b5 > 05e9c7261) Hi, Thank you for catching this, I completely missed it. Since the patch has already been applied to drm-misc-next I will send another patch to fix this issue. > If you fix the issue in a separate patch/commit (i.e. not just a new > version of > the same patch/commit), kindly add following tags > > Reported-by: kernel test robot <lkp@intel.com> > > Reported-by: Dan Carpenter <dan.carpenter@linaro.org> > > Closes: > > https://lore.kernel.org/r/202509212215.c8v3RKmL-lkp@intel.com/ > > smatch warnings: > drivers/gpu/drm/gud/gud_connector.c:597 > gud_connector_fill_properties() warn: passing a valid pointer to > 'PTR_ERR' > > vim +/PTR_ERR +597 drivers/gpu/drm/gud/gud_connector.c > > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 580 int > gud_connector_fill_properties(struct drm_connector_state > *connector_state, > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 > 581 struct gud_property_req *properties) > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 582 { > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 583 struct gud_connector > *gconn = to_gud_connector(connector_state->connector); > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 584 unsigned int i; > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 585 > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 586 for (i = 0; i < > gconn->num_properties; i++) { > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 587 u16 prop = > gconn->properties[i]; > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 588 u64 val; > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 589 > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 590 if (prop == > GUD_PROPERTY_BACKLIGHT_BRIGHTNESS) { > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 591 val > = connector_state->tv.brightness; > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 592 } else { > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 > 593 unsigned int *state_val; > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 594 > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 > 595 state_val = gud_connector_tv_state_val(prop, &connector_state->tv); > d00e57106c0d0c Ruben Wauters 2025-09-14 596 if > (drm_WARN_ON_ONCE(connector_state->connector->dev, state_val)) > > You accidentally deleted the IS_ERR() check so now this function is > badly broken. What I think happened was that on replacing WARN_ON_ONCE with drm_WARN_ON_ONCE I had to find a drm device for the first parameter. Since there was not one readily available I believe I ended up re- writing this line, and accidentally left out the IS_ERR(). I will fix this. > if (drm_WARN_ON_ONCE(connector_state->connector->dev, > IS_ERR(state_val))) > > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 > @597 return PTR_ERR(state_val); > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 598 > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 599 val > = *state_val; > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 600 } > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 601 > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 > 602 properties[i].prop = cpu_to_le16(prop); > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 > 603 properties[i].val = cpu_to_le64(val); > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 604 } > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 605 > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 606 return gconn- > >num_properties; > 40e1a70b4aedf2 Noralf Trønnes 2021-03-13 607 } Thank you for reporting this Ruben Wauters
Hi Am 14.09.25 um 17:50 schrieb Ruben Wauters: > GUD is a drm driver, and therefore should use the drm versions of > WARN_ON and WARN_ON_ONCE. This patch replaces all instances of WARN_ON > and WARN_ON_ONCE with drm_WARN_ON and drm_WARN_ON_ONCE. > > Signed-off-by: Ruben Wauters <rubenru09@aol.com> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Thanks a lot. I'll merge the patch in a bit. Best regards Thomas > --- > drivers/gpu/drm/gud/gud_connector.c | 8 ++++---- > drivers/gpu/drm/gud/gud_pipe.c | 10 +++++----- > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/gud/gud_connector.c b/drivers/gpu/drm/gud/gud_connector.c > index 4a15695fa933..62e349b06dbe 100644 > --- a/drivers/gpu/drm/gud/gud_connector.c > +++ b/drivers/gpu/drm/gud/gud_connector.c > @@ -561,11 +561,11 @@ static int gud_connector_add_properties(struct gud_device *gdrm, struct gud_conn > continue; /* not a DRM property */ > > property = gud_connector_property_lookup(connector, prop); > - if (WARN_ON(IS_ERR(property))) > + if (drm_WARN_ON(drm, IS_ERR(property))) > continue; > > state_val = gud_connector_tv_state_val(prop, &gconn->initial_tv_state); > - if (WARN_ON(IS_ERR(state_val))) > + if (drm_WARN_ON(drm, IS_ERR(state_val))) > continue; > > *state_val = val; > @@ -593,7 +593,7 @@ int gud_connector_fill_properties(struct drm_connector_state *connector_state, > unsigned int *state_val; > > state_val = gud_connector_tv_state_val(prop, &connector_state->tv); > - if (WARN_ON_ONCE(IS_ERR(state_val))) > + if (drm_WARN_ON_ONCE(connector_state->connector->dev, state_val)) > return PTR_ERR(state_val); > > val = *state_val; > @@ -667,7 +667,7 @@ static int gud_connector_create(struct gud_device *gdrm, unsigned int index, > return ret; > } > > - if (WARN_ON(connector->index != index)) > + if (drm_WARN_ON(drm, connector->index != index)) > return -EINVAL; > > if (flags & GUD_CONNECTOR_FLAGS_POLL_STATUS) > diff --git a/drivers/gpu/drm/gud/gud_pipe.c b/drivers/gpu/drm/gud/gud_pipe.c > index 54d9aa9998e5..3a208e956dff 100644 > --- a/drivers/gpu/drm/gud/gud_pipe.c > +++ b/drivers/gpu/drm/gud/gud_pipe.c > @@ -61,7 +61,7 @@ static size_t gud_xrgb8888_to_r124(u8 *dst, const struct drm_format_info *format > size_t len; > void *buf; > > - WARN_ON_ONCE(format->char_per_block[0] != 1); > + drm_WARN_ON_ONCE(fb->dev, format->char_per_block[0] != 1); > > /* Start on a byte boundary */ > rect->x1 = ALIGN_DOWN(rect->x1, block_width); > @@ -138,7 +138,7 @@ static size_t gud_xrgb8888_to_color(u8 *dst, const struct drm_format_info *forma > pix = ((r >> 7) << 2) | ((g >> 7) << 1) | (b >> 7); > break; > default: > - WARN_ON_ONCE(1); > + drm_WARN_ON_ONCE(fb->dev, 1); > return len; > } > > @@ -527,7 +527,7 @@ int gud_plane_atomic_check(struct drm_plane *plane, > drm_connector_list_iter_end(&conn_iter); > } > > - if (WARN_ON_ONCE(!connector_state)) > + if (drm_WARN_ON_ONCE(plane->dev, !connector_state)) > return -ENOENT; > > len = struct_size(req, properties, > @@ -539,7 +539,7 @@ int gud_plane_atomic_check(struct drm_plane *plane, > gud_from_display_mode(&req->mode, mode); > > req->format = gud_from_fourcc(format->format); > - if (WARN_ON_ONCE(!req->format)) { > + if (drm_WARN_ON_ONCE(plane->dev, !req->format)) { > ret = -EINVAL; > goto out; > } > @@ -561,7 +561,7 @@ int gud_plane_atomic_check(struct drm_plane *plane, > val = new_plane_state->rotation; > break; > default: > - WARN_ON_ONCE(1); > + drm_WARN_ON_ONCE(plane->dev, 1); > ret = -EINVAL; > goto out; > } -- -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstrasse 146, 90461 Nuernberg, Germany GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman HRB 36809 (AG Nuernberg)
© 2016 - 2025 Red Hat, Inc.