[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yn6MYxzY1zo8Ln0X@dev-arch.thelio-3990X>
Date: Fri, 13 May 2022 09:50:43 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Codrin Ciubotariu <codrin.ciubotariu@...rochip.com>,
Nicolas Ferre <nicolas.ferre@...rochip.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Claudiu Beznea <claudiu.beznea@...rochip.com>,
Wolfram Sang <wsa@...nel.org>, Michael Walle <michael@...le.cc>
Cc: Nick Desaulniers <ndesaulniers@...gle.com>,
Tom Rix <trix@...hat.com>, linux-i2c@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
llvm@...ts.linux.dev
Subject: Re: [PATCH] i2c: at91: Initialize dma_buf in at91_twi_xfer()
Ping? This is a pretty obvious fix and this warning turns into an error
with CONFIG_WERROR so some of our -next builds have been broken for over
a week now.
On Thu, May 05, 2022 at 08:27:38AM -0700, Nathan Chancellor wrote:
> Clang warns:
>
> drivers/i2c/busses/i2c-at91-master.c:707:6: warning: variable 'dma_buf' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
> if (dev->use_dma) {
> ^~~~~~~~~~~~
> drivers/i2c/busses/i2c-at91-master.c:717:27: note: uninitialized use occurs here
> i2c_put_dma_safe_msg_buf(dma_buf, m_start, !ret);
> ^~~~~~~
>
> Initialize dma_buf to NULL, as i2c_put_dma_safe_msg_buf() is a no-op
> when the first argument is NULL, which will work for the !dev->use_dma
> case.
>
> Fixes: 03fbb903c8bf ("i2c: at91: use dma safe buffers")
> Link: https://github.com/ClangBuiltLinux/linux/issues/1629
> Signed-off-by: Nathan Chancellor <nathan@...nel.org>
> ---
> drivers/i2c/busses/i2c-at91-master.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-at91-master.c b/drivers/i2c/busses/i2c-at91-master.c
> index 5eca3b3bb609..c0c35785a0dc 100644
> --- a/drivers/i2c/busses/i2c-at91-master.c
> +++ b/drivers/i2c/busses/i2c-at91-master.c
> @@ -656,7 +656,7 @@ static int at91_twi_xfer(struct i2c_adapter *adap, struct i2c_msg *msg, int num)
> unsigned int_addr_flag = 0;
> struct i2c_msg *m_start = msg;
> bool is_read;
> - u8 *dma_buf;
> + u8 *dma_buf = NULL;
>
> dev_dbg(&adap->dev, "at91_xfer: processing %d messages:\n", num);
>
>
> base-commit: a181b8d187319bf265a2019ddde856a3d2f107a6
> --
> 2.36.0
>
>
Powered by blists - more mailing lists