[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <exeho44dd45ujgha6jmnvt2idbq4twfm3d7lxmhbfgfeujyhmn@tohr2hoytwhl>
Date: Sat, 9 Nov 2024 09:27:36 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Karan Sanghavi <karansanghvi98@...il.com>
Cc: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Orson Zhai <orsonzhai@...il.com>, Baolin Wang <baolin.wang@...ux.alibaba.com>,
Chunyan Zhang <zhang.lyra@...il.com>, dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
Shuah Khan <skhan@...uxfoundation.org>
Subject: Re: [PATCH v2] drm:sprd: Correct left shift operator evaluating
constant expression
On Fri, Nov 08, 2024 at 05:11:25PM +0000, Karan Sanghavi wrote:
> The left shift operation followed by a mask with 0xf will
> always result in 0. To correctly evaluate the expression for
> the bitwise OR operation, use a right shift instead.
>
> Reported by Coverity Scan CID: 1511468
>
> Fixes: 1c66496b1391 ("drm/sprd: add Unisoc's drm mipi dsi&dphy driver")
>
> Reviewed-by: Chunyan Zhang <zhang.lyra@...il.com>
> Signed-off-by: Karan Sanghavi <karansanghvi98@...il.com>
Please drop the empty line between tags.
Also see Documentation/process/stable-kernel-rules.rst
> ---
> Coverity Scan Message:
> CID 1511468: (#1 of 1): Wrong operator used (CONSTANT_EXPRESSION_RESULT)
> operator_confusion: (pll->kint << 4) & 15 is always 0 regardless of the
> values of its operands. This occurs as the bitwise second operand of "|"
Is there any kind of a public link for the report? Should there be a Closes: tag?
> ---
> Changes in v2:
> - Added the fixes tag
> - Link to v1: https://lore.kernel.org/r/20241105-coverity1511468wrongoperator-v1-1-06c7513c3efc@gmail.com
> ---
> drivers/gpu/drm/sprd/megacores_pll.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/sprd/megacores_pll.c b/drivers/gpu/drm/sprd/megacores_pll.c
> index 3091dfdc11e3..43c10a5fc441 100644
> --- a/drivers/gpu/drm/sprd/megacores_pll.c
> +++ b/drivers/gpu/drm/sprd/megacores_pll.c
> @@ -94,7 +94,7 @@ static void dphy_set_pll_reg(struct dphy_pll *pll, struct regmap *regmap)
> reg_val[3] = pll->vco_band | (pll->sdm_en << 1) | (pll->refin << 2);
> reg_val[4] = pll->kint >> 12;
> reg_val[5] = pll->kint >> 4;
> - reg_val[6] = pll->out_sel | ((pll->kint << 4) & 0xf);
> + reg_val[6] = pll->out_sel | ((pll->kint >> 4) & 0xf);
> reg_val[7] = 1 << 4;
> reg_val[8] = pll->det_delay;
>
>
> ---
> base-commit: 81983758430957d9a5cb3333fe324fd70cf63e7e
> change-id: 20241105-coverity1511468wrongoperator-20130bcd4240
>
> Best regards,
> --
> Karan Sanghavi <karansanghvi98@...il.com>
>
--
With best wishes
Dmitry
Powered by blists - more mailing lists