Message ID | 20210720155726.73628-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] drm/i915/xelpd: Fix unsigned compared to less than zero error | expand |
On Tue, Jul 20, 2021 at 04:57:26PM +0100, Colin King wrote: >From: Colin Ian King <colin.king@canonical.com> > >The subtraction of fw->size - offset is operating on two unsigned >integers and the result is unsigned and hence the less than zero >comparison will always to be false. Fix this by casting fw->size >from a size_t to a ssize_t to ensure the result can be signed to >allow a less than zero result. > >Addresses-Coverity: ("Unsigned compared against 0") >Fixes: 3d5928a168a9 ("drm/i915/xelpd: Pipe A DMC plugging") >Signed-off-by: Colin Ian King <colin.king@canonical.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> thanks Lucas De Marchi >--- > drivers/gpu/drm/i915/display/intel_dmc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c >index f8789d4543bf..dde1f243d375 100644 >--- a/drivers/gpu/drm/i915/display/intel_dmc.c >+++ b/drivers/gpu/drm/i915/display/intel_dmc.c >@@ -645,7 +645,7 @@ static void parse_dmc_fw(struct drm_i915_private *dev_priv, > continue; > > offset = readcount + dmc->dmc_info[id].dmc_offset * 4; >- if (fw->size - offset < 0) { >+ if ((ssize_t)fw->size - offset < 0) { > drm_err(&dev_priv->drm, "Reading beyond the fw_size\n"); > continue; > } >-- >2.31.1 >
diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c index f8789d4543bf..dde1f243d375 100644 --- a/drivers/gpu/drm/i915/display/intel_dmc.c +++ b/drivers/gpu/drm/i915/display/intel_dmc.c @@ -645,7 +645,7 @@ static void parse_dmc_fw(struct drm_i915_private *dev_priv, continue; offset = readcount + dmc->dmc_info[id].dmc_offset * 4; - if (fw->size - offset < 0) { + if ((ssize_t)fw->size - offset < 0) { drm_err(&dev_priv->drm, "Reading beyond the fw_size\n"); continue; }