[PATCH] input: ili210x: Fix uninitialized symbols in ili251x_firmware_to_buffer

Purva Yeshi posted 1 patch 7 months, 4 weeks ago
drivers/input/touchscreen/ili210x.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] input: ili210x: Fix uninitialized symbols in ili251x_firmware_to_buffer
Posted by Purva Yeshi 7 months, 4 weeks ago
Fix Smatch-detected issue:

drivers/input/touchscreen/ili210x.c:621 ili251x_firmware_to_buffer()
error: uninitialized symbol 'fw_addr'.
drivers/input/touchscreen/ili210x.c:621 ili251x_firmware_to_buffer()
error: uninitialized symbol 'fw_len'.

Initialize 'fw_addr' and 'fw_len' to 0 in ili251x_firmware_to_buffer()
to avoid uninitialized use warnings reported by smatch.

Although the while loop ensures both variables are always assigned before
use, initializing them silences false positives.

Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com>
---
 drivers/input/touchscreen/ili210x.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c
index fa38d70aded7..10b52d87c41a 100644
--- a/drivers/input/touchscreen/ili210x.c
+++ b/drivers/input/touchscreen/ili210x.c
@@ -586,8 +586,8 @@ static const u8 *ili251x_firmware_to_buffer(const struct firmware *fw,
 					    u16 *ac_end, u16 *df_end)
 {
 	const struct ihex_binrec *rec;
-	u32 fw_addr, fw_last_addr = 0;
-	u16 fw_len;
+	u32 fw_addr = 0, fw_last_addr = 0;
+	u16 fw_len = 0;
 
 	/*
 	 * The firmware ihex blob can never be bigger than 64 kiB, so make this
-- 
2.34.1
Re: [PATCH] input: ili210x: Fix uninitialized symbols in ili251x_firmware_to_buffer
Posted by Oliver Graute 7 months, 3 weeks ago
On 19/04/25, Purva Yeshi wrote:
> Fix Smatch-detected issue:
> 
> drivers/input/touchscreen/ili210x.c:621 ili251x_firmware_to_buffer()
> error: uninitialized symbol 'fw_addr'.
> drivers/input/touchscreen/ili210x.c:621 ili251x_firmware_to_buffer()
> error: uninitialized symbol 'fw_len'.
> 
> Initialize 'fw_addr' and 'fw_len' to 0 in ili251x_firmware_to_buffer()
> to avoid uninitialized use warnings reported by smatch.
> 
> Although the while loop ensures both variables are always assigned before
> use, initializing them silences false positives.
> 
> Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com>

Reviewed-by: Oliver Graute <oliver.graute@kococonnector.com>
Re: [PATCH] input: ili210x: Fix uninitialized symbols in ili251x_firmware_to_buffer
Posted by dmitry.torokhov@gmail.com 7 months, 2 weeks ago
On Wed, Apr 23, 2025 at 07:30:18AM +0000, Oliver Graute wrote:
> On 19/04/25, Purva Yeshi wrote:
> > Fix Smatch-detected issue:
> > 
> > drivers/input/touchscreen/ili210x.c:621 ili251x_firmware_to_buffer()
> > error: uninitialized symbol 'fw_addr'.
> > drivers/input/touchscreen/ili210x.c:621 ili251x_firmware_to_buffer()
> > error: uninitialized symbol 'fw_len'.
> > 
> > Initialize 'fw_addr' and 'fw_len' to 0 in ili251x_firmware_to_buffer()
> > to avoid uninitialized use warnings reported by smatch.
> > 
> > Although the while loop ensures both variables are always assigned before
> > use, initializing them silences false positives.
> > 
> > Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com>
> 
> Reviewed-by: Oliver Graute <oliver.graute@kococonnector.com>

No, we will not be adding gratuitous initializations just to appease
smatch.

That said, "do {} while (rec);" loop might work better here and also
might allow smatch to recognize that both variables are not used
uninitialized. I would accept such a patch.

Thanks.

-- 
Dmitry