]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - include/sound/timer.h
ALSA: timer: Limit max instances per timer
authorTakashi Iwai <tiwai@suse.de>
Sun, 5 Nov 2017 09:07:43 +0000 (10:07 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 6 Nov 2017 09:41:24 +0000 (10:41 +0100)
commit9b7d869ee5a77ed4a462372bb89af622e705bfb8
tree8151b57ebb526eac4c1bf711aa01bfe0972eecaa
parentf5ce817951f38023588b2b8308beca79abe20507
ALSA: timer: Limit max instances per timer

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: Jérôme Glisse <jglisse@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/timer.h
sound/core/hrtimer.c
sound/core/timer.c