Hi just pinging to see if anyone has had a chance to review this patch. Thanks
10 Ağu 2026 Pzt 22:42 tarihinde Muhammed Sariyildiz <[email protected]> şunu yazdı: > MASK(w) expands as ((1 << (w)) - 1), and GPC2CLK_OUT_SDIV14_INDIV4_MODE > is defined as plain 1. Both are used, via GPC2CLK_OUT_INIT_MASK and > GPC2CLK_OUT_INIT_VAL in gk20a_clk_prog() (and reused by gm20b, which > includes gk20a.h), to compute: > > 1 << 31 > > Left-shifting a signed int into its sign bit is undefined behaviour > per the C standard (ISO C11 6.5.7p4), and is flagged by UBSan and > static analysis tools such as cppcheck (shiftTooManyBitsSigned). Make > the shifted operand unsigned to fix it, matching the pattern used > elsewhere in the kernel for register bitfield masks. > > No functional change intended. > > Found via static analysis (cppcheck --enable=portability) while > auditing nvkm/subdev/clk for correctness issues. > > Signed-off-by: Muhammed Sariyildiz <[email protected]> > --- > drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.h > b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.h > index ea5b0ba..7a93f9f 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.h > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.h > @@ -27,7 +27,7 @@ > #define KHZ (1000) > #define MHZ (KHZ * 1000) > > -#define MASK(w) ((1 << (w)) - 1) > +#define MASK(w) ((1U << (w)) - 1) > > #define GK20A_CLK_GPC_MDIV 1000 > > @@ -79,7 +79,7 @@ > #define GPC2CLK_OUT (SYS_GPCPLL_CFG_BASE + 0x250) > #define GPC2CLK_OUT_SDIV14_INDIV4_WIDTH 1 > #define GPC2CLK_OUT_SDIV14_INDIV4_SHIFT 31 > -#define GPC2CLK_OUT_SDIV14_INDIV4_MODE 1 > +#define GPC2CLK_OUT_SDIV14_INDIV4_MODE 1U > #define GPC2CLK_OUT_VCODIV_WIDTH 6 > #define GPC2CLK_OUT_VCODIV_SHIFT 8 > #define GPC2CLK_OUT_VCODIV1 0 > -- > 2.43.0 > >
