Re: [PATCH] Input: serio_raw - initialize serio_raw_write() the return code
From: Dmitry Torokhov
Date: Mon Oct 21 2024 - 15:19:44 EST
Hi Arnd,
On Mon, Oct 21, 2024 at 10:38:27AM +0000, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The number of bytes returned from the write function is now
> undefined:
>
> drivers/input/serio/serio_raw.c:204:12: error: variable 'written' is uninitialized when used here [-Werror,-Wuninitialized]
> 204 | return written ?: -EIO;
> | ^~~~~~~
Thank you for the patch but I already have one fixing this up queued.
>
> Fixes: 5b53a9d40c4f ("Input: serio_raw - use guard notation for locks and other resources")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Reported-by: Dan Carpenter <error27@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202410201730.ItNhUTIv-lkp@xxxxxxxxx/
> Closes: https://lore.kernel.org/r/202410201759.qnyACw46-lkp@xxxxxxxxx/
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/input/serio/serio_raw.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c
> index e058fef07f57..55fe77d04089 100644
> --- a/drivers/input/serio/serio_raw.c
> +++ b/drivers/input/serio/serio_raw.c
> @@ -195,6 +195,7 @@ static ssize_t serio_raw_write(struct file *file, const char __user *buffer,
> if (count > 32)
> count = 32;
>
> + written = 0;
> while (count--) {
> if (get_user(c, buffer++))
> return -EFAULT;
> --
> 2.39.5
>
--
Dmitry