Re: [PATCH v6 0/8] Fix year 2038 issue for sound subsystem

From: Takashi Iwai
Date: Wed Nov 13 2019 - 12:04:49 EST


On Wed, 13 Nov 2019 17:51:57 +0100,
Arnd Bergmann wrote:
>
> On Wed, Nov 13, 2019 at 5:40 PM Takashi Iwai <tiwai@xxxxxxx> wrote:
> > On Wed, 13 Nov 2019 15:32:44 +0100, Arnd Bergmann wrote:
>
> > > We had discussed alternatives for this one last time, and decided
> > > to go with the solution I posted here. The main alternative would
> > > be to change the 'timespec' in snd_timer_tread to a fixed-length
> > > structure based on two 'long' members. This would avoid the
> > > need to match the command with the time_t type, but the cost would
> > > be requiring CLOCK_MONOTONIC timestamps to avoid the
> > > overflow, and changing all application source code that requires
> > > the type to be compatible with 'timespec'.
> >
> > Fair enough.
> >
> > One thing I forgot to mention: when we add/modify the ioctl or ABI, we
> > need to increment the protocol version, e.g. SNDRV_PCM_VERSION to
> > indicate user-space the supported ABI. Please change these in your
> > next patches, too.
>
> Just to confirm: this should be a simple one-line patch at the end of the
> series like
>
> diff --git a/tools/include/uapi/sound/asound.h
> b/tools/include/uapi/sound/asound.h
> index df1153cea0b7..72e8380c6dcd 100644
> --- a/include/uapi/sound/asound.h
> +++ b/include/uapi/sound/asound.h
> @@ -154,7 +154,7 @@ struct snd_hwdep_dsp_image {
> * *
> *****************************************************************************/
>
> -#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 14)
> +#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 15)
>
> typedef unsigned long snd_pcm_uframes_t;
> typedef signed long snd_pcm_sframes_t;
>
> right? Most other kernel interfaces have no version numbering, so
> I don't know what policy you have here.

I don't mind much about that, so it's up to you -- we can fold this
change into the patch that actually adds or modifies the ioctl, too.


thanks,

Takashi