• Takashi Iwai's avatar
    ALSA: timer: Assure timer resolution access always locked · 9d4d207d
    Takashi Iwai authored
    There are still many places calling the timer's hw.c_resolution
    callback without lock, and this may lead to some races, as we faced in
    the commit a820ccbe ("ALSA: pcm: Fix UAF at PCM release via PCM
    timer access").
    
    This patch changes snd_timer_resolution() to take the timer->lock for
    avoiding the races.  A place calling this function already inside the
    lock (from the notifier) is replaced with the
    snd_timer_hw_resolution() accordingly, as well as wrapping with the
    lock around another place calling snd_timer_hw_resolution(), too.
    Reported-by: default avatarBen Hutchings <ben.hutchings@codethink.co.uk>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    9d4d207d
timer.c 54.6 KB