Message ID | 20220505152738.1440249-1-nathan@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | i2c: at91: Initialize dma_buf in at91_twi_xfer() | expand |
Am 2022-05-05 17:27, schrieb Nathan Chancellor: > 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@kernel.org> Thanks for fixing. Reviewed-by: Michael Walle <michael@walle.cc> -michael
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@kernel.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 > >
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@kernel.org> Applied to for-next, thanks!
On Sat, May 14, 2022 at 03:42:08PM +0200, Wolfram Sang wrote: > 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@kernel.org> > > Applied to for-next, thanks! > Thank you! Cheers, Nathan
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);
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@kernel.org> --- drivers/i2c/busses/i2c-at91-master.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) base-commit: a181b8d187319bf265a2019ddde856a3d2f107a6