1. 18 2月, 2020 1 次提交
  2. 17 2月, 2020 1 次提交
  3. 14 2月, 2020 2 次提交
    • T
      ALSA: seq: Fix concurrent access to queue current tick/time · dc749779
      Takashi Iwai 提交于
      snd_seq_check_queue() passes the current tick and time of the given
      queue as a pointer to snd_seq_prioq_cell_out(), but those might be
      updated concurrently by the seq timer update.
      
      Fix it by retrieving the current tick and time via the proper helper
      functions at first, and pass those values to snd_seq_prioq_cell_out()
      later in the loops.
      
      snd_seq_timer_get_cur_time() takes a new argument and adjusts with the
      current system time only when it's requested so; this update isn't
      needed for snd_seq_check_queue(), as it's called either from the
      interrupt handler or right after queuing.
      
      Also, snd_seq_timer_get_cur_tick() is changed to read the value in the
      spinlock for the concurrency, too.
      
      Reported-by: syzbot+fd5e0eaa1a32999173b2@syzkaller.appspotmail.com
      Link: https://lore.kernel.org/r/20200214111316.26939-3-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      dc749779
    • T
      ALSA: seq: Avoid concurrent access to queue flags · bb51e669
      Takashi Iwai 提交于
      The queue flags are represented in bit fields and the concurrent
      access may result in unexpected results.  Although the current code
      should be mostly OK as it's only reading a field while writing other
      fields as KCSAN reported, it's safer to cover both with a proper
      spinlock protection.
      
      This patch fixes the possible concurrent read by protecting with
      q->owner_lock.  Also the queue owner field is protected as well since
      it's the field to be protected by the lock itself.
      
      Reported-by: syzbot+65c6c92d04304d0a8efc@syzkaller.appspotmail.com
      Reported-by: syzbot+e60ddfa48717579799dd@syzkaller.appspotmail.com
      Link: https://lore.kernel.org/r/20200214111316.26939-2-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      bb51e669
  4. 13 2月, 2020 2 次提交
  5. 12 2月, 2020 4 次提交
  6. 11 2月, 2020 1 次提交
  7. 06 2月, 2020 2 次提交
  8. 05 2月, 2020 2 次提交
  9. 04 2月, 2020 3 次提交
  10. 02 2月, 2020 4 次提交
  11. 01 2月, 2020 4 次提交
  12. 31 1月, 2020 1 次提交
    • T
      ALSA: pcm: Fix sparse warnings wrt snd_pcm_state_t · cb639a42
      Takashi Iwai 提交于
      Since we have a bitwise definition of snd_pcm_state_t and use it for
      certain struct fields, a few new (and years old) sparse warnings came
      up.  This patch is an attempt to cover them.
      
      - The state fields in snd_pcm_mmap_status* and co are all defined as
        snd_pcm_state_t type now
      
      - The PCM action callbacks take snd_pcm_state_t argument as well;
        some actions taking special values got the explicit cast and
        comments
      
      - For the PCM action that doesn't need an extra argument receives
        ACTION_ARG_IGNORE instead of ambiguous 0
      
      While we're at it, the boolean argument is also properly changed to
      bool and true/false, as well as a slight refactoring of PCM pause
      helper function to make easier to read.
      
      No functional changes, just shutting up chatty sparse.
      
      Fixes: 46b770f7 ("ALSA: uapi: Fix sparse warning")
      Reported-by: Nkbuild test robot <lkp@intel.com>
      Link: https://lore.kernel.org/r/20200131152214.11698-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      cb639a42
  13. 30 1月, 2020 6 次提交
  14. 28 1月, 2020 7 次提交