Re: [PATCH] ALSA: timer: fix nsec/sec initialization confusion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 11, 2020 at 9:33 PM Pierre-Louis Bossart
<pierre-louis.bossart@xxxxxxxxxxxxxxx> wrote:
>
> GCC reports a warning with W=1:
>
> sound/core/timer.c: In function ‘snd_timer_user_read’:
> sound/core/timer.c:2219:19: warning: initialized field overwritten
> [-Woverride-init]
>  2219 |     .tstamp_sec = tread->tstamp_nsec,
>       |                   ^~~~~
> sound/core/timer.c:2219:19: note: (near initialization for
> ‘(anonymous).tstamp_sec’)
>
> Assigning nsec values to sec fields is problematic in general, even
> more so when the initial goal was to survive the 2030 timer
> armageddon.
>
> Fix by using the proper field in the initialization
>
> Cc: Baolin Wang <baolin.wang@xxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>

Good catch!

Acked-by: Arnd Bergmann <arnd@xxxxxxxx>

> Fixes: 07094ae6f9527 ("ALSA: Avoid using timespec for struct snd_timer_tread")
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> ---
>  sound/core/timer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/core/timer.c b/sound/core/timer.c
> index 8835ff91a893..d9f85f2d66a3 100644
> --- a/sound/core/timer.c
> +++ b/sound/core/timer.c
> @@ -2216,7 +2216,7 @@ static ssize_t snd_timer_user_read(struct file *file, char __user *buffer,
>                         tread32 = (struct snd_timer_tread32) {
>                                 .event = tread->event,
>                                 .tstamp_sec = tread->tstamp_sec,
> -                               .tstamp_sec = tread->tstamp_nsec,
> +                               .tstamp_nsec = tread->tstamp_nsec,
>                                 .val = tread->val,
>                         };
>
> --
> 2.20.1
>
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux