Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1597889
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 4.4 19/91] ALSA: timer: Reject user params with too small ticks |
| Date | 2017-03-10 15:50 +0100 |
| Message-ID | <tju1H-5nB-7@gated-at.bofh.it> (permalink) |
| References | <tjoSl-1MV-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Takashi Iwai <tiwai@suse.de>
commit 71321eb3f2d0df4e6c327e0b936eec4458a12054 upstream.
When a user sets a too small ticks with a fine-grained timer like
hrtimer, the kernel tries to fire up the timer irq too frequently.
This may lead to the condensed locks, eventually the kernel spinlock
lockup with warnings.
For avoiding such a situation, we define a lower limit of the
resolution, namely 1ms. When the user passes a too small tick value
that results in less than that, the kernel returns -EINVAL now.
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
sound/core/timer.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -1700,9 +1700,21 @@ static int snd_timer_user_params(struct
return -EBADFD;
if (copy_from_user(¶ms, _params, sizeof(params)))
return -EFAULT;
- if (!(t->hw.flags & SNDRV_TIMER_HW_SLAVE) && params.ticks < 1) {
- err = -EINVAL;
- goto _end;
+ if (!(t->hw.flags & SNDRV_TIMER_HW_SLAVE)) {
+ u64 resolution;
+
+ if (params.ticks < 1) {
+ err = -EINVAL;
+ goto _end;
+ }
+
+ /* Don't allow resolution less than 1ms */
+ resolution = snd_timer_resolution(tu->timeri);
+ resolution *= params.ticks;
+ if (resolution < 1000000) {
+ err = -EINVAL;
+ goto _end;
+ }
}
if (params.queue_size > 0 &&
(params.queue_size < 32 || params.queue_size > 1024)) {
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 4.4 00/91] 4.4.53-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:40 +0100 [PATCH 4.4 39/91] sd: get disk reference in sd_check_events() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:40 +0100 [PATCH 4.4 09/91] MIPS: Calculate microMIPS ra properly when unwinding the stack Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:40 +0100 [PATCH 4.4 45/91] ext4: do not polute the extents cache while shifting extents Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:40 +0100 [PATCH 4.4 32/91] dm cache: fix corruption seen when using cache > 2TB Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:40 +0100 [PATCH 4.4 37/91] scsi: aacraid: Reorder Adapter status check Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:40 +0100 [PATCH 4.4 22/91] ALSA: hda - Add subwoofer support for Dell Inspiron 17 7000 Gaming Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:40 +0100 [PATCH 4.4 19/91] ALSA: timer: Reject user params with too small ticks Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:50 +0100 [PATCH 4.4 01/91] MIPS: Fix special case in 64 bit IP checksumming. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:50 +0100 [PATCH 4.4 15/91] ARM: dts: at91: Enable DMA on sama5d4_xplained console Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:50 +0100 [PATCH 4.4 33/91] dm stats: fix a leaked s->histogram_boundaries array Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:50 +0100 [PATCH 4.4 13/91] [media] media: fix dm1105.c build error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-03-10 15:50 +0100 Re: [PATCH 4.4 00/91] 4.4.53-stable review Guenter Roeck <linux@roeck-us.net> - 2017-03-10 19:40 +0100 Re: [PATCH 4.4 00/91] 4.4.53-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2017-03-10 20:20 +0100 Re: [PATCH 4.4 00/91] 4.4.53-stable review Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2017-03-13 10:00 +0100
csiph-web