Re: [PATCH] soundwire: debugfs: initialize ktime_t variables before div_u64

From: Vinod Koul
Date: Tue Jun 17 2025 - 01:29:15 EST


On 16-06-25, 22:48, Rodrigo Gobbi wrote:
> The start_t and finish_t variables are not properly initialized
> if errors happens over request_firmware actions. This was also detected by smatch:
>
> drivers/soundwire/debugfs.c:301 cmd_go() error: uninitialized symbol 'finish_t'.
> drivers/soundwire/debugfs.c:301 cmd_go() error: uninitialized symbol 'start_t'.

Should we care about debug statement printing wrong time on error...
Rather than do this, better to move debug statement up so that it is not
executed on error scenario

>
> Signed-off-by: Rodrigo Gobbi <rodrigo.gobbi.7@xxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Closes: https://lore.kernel.org/linux-sound/0db6d0bf-7bac-43a7-b624-a00d3d2bf829@stanley.mountain/
> Fixes: bb5cb09eedce ("soundwire: debugfs: add interface for BPT/BRA transfers")
> ---
> drivers/soundwire/debugfs.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soundwire/debugfs.c b/drivers/soundwire/debugfs.c
> index 3099ea074f10..951fc255e4eb 100644
> --- a/drivers/soundwire/debugfs.c
> +++ b/drivers/soundwire/debugfs.c
> @@ -237,8 +237,8 @@ static int cmd_go(void *data, u64 value)
> {
> const struct firmware *fw = NULL;
> struct sdw_slave *slave = data;
> - ktime_t start_t;
> - ktime_t finish_t;
> + ktime_t start_t = 0;
> + ktime_t finish_t = 0;
> int ret;
>
> if (value != 1)
> --
> 2.49.0

--
~Vinod