[alsa-devel] [PATCH v6 0/8] Fix year 2038 issue for sound subsystem

Arnd Bergmann arnd at arndb.de
Wed Nov 13 17:51:57 CET 2019


On Wed, Nov 13, 2019 at 5:40 PM Takashi Iwai <tiwai at suse.de> 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.

        Arnd


More information about the Alsa-devel mailing list