On Thu, Sep 21, 2017 at 8:18 AM, Baolin Wang <baolin.wang@xxxxxxxxxx> wrote: > The struct snd_ctl_elem_value will use 'timespec' type variables to record > timestamp, which is not year 2038 safe on 32bits system. > > Since there are no drivers will implemented the tstamp member of the > struct snd_ctl_elem_value, and also the stucture size will not be changed > if we change timespec to s64 for tstamp member of struct snd_ctl_elem_value. > > Thus we can simply change timespec to s64 for tstamp member to avoid > using the type which is not year 2038 safe on 32bits system. > > Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> > --- > include/uapi/sound/asound.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/uapi/sound/asound.h b/include/uapi/sound/asound.h > index 1949923..71bce52 100644 > --- a/include/uapi/sound/asound.h > +++ b/include/uapi/sound/asound.h > @@ -943,8 +943,8 @@ struct snd_ctl_elem_value { > } bytes; > struct snd_aes_iec958 iec958; > } value; /* RO */ > - struct timespec tstamp; > - unsigned char reserved[128-sizeof(struct timespec)]; > + struct { s64 tv_sec; s64 tv_nsec; } tstamp; > + unsigned char reserved[128-sizeof(struct { s64 tv_sec; s64 tv_nsec; })]; > }; Maybe we should enforce that nobody uses the timespec field, by enclosing it in #ifdef __KERNEL__ (with a matching length below it); Arnd _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel