• Takashi Iwai's avatar
    ALSA: timer: Limit max instances per timer · 9b7d869e
    Takashi Iwai authored
    Currently we allow unlimited number of timer instances, and it may
    bring the system hogging way too much CPU when too many timer
    instances are opened and processed concurrently.  This may end up with
    a soft-lockup report as triggered by syzkaller, especially when
    hrtimer backend is deployed.
    
    Since such insane number of instances aren't demanded by the normal
    use case of ALSA sequencer and it merely  opens a risk only for abuse,
    this patch introduces the upper limit for the number of instances per
    timer backend.  As default, it's set to 1000, but for the fine-grained
    timer like hrtimer, it's set to 100.
    
    Reported-by: syzbot
    Tested-by: default avatarJérôme Glisse <jglisse@redhat.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    9b7d869e
timer.c 54.5 KB