]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.8-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Nov 2016 16:43:03 +0000 (17:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Nov 2016 16:43:03 +0000 (17:43 +0100)
added patches:
alsa-info-limit-the-proc-text-input-size.patch
alsa-info-return-error-for-invalid-read-write.patch
asoc-cs4270-fix-dapm-stream-name-mismatch.patch

queue-4.8/alsa-info-limit-the-proc-text-input-size.patch [new file with mode: 0644]
queue-4.8/alsa-info-return-error-for-invalid-read-write.patch [new file with mode: 0644]
queue-4.8/asoc-cs4270-fix-dapm-stream-name-mismatch.patch [new file with mode: 0644]

diff --git a/queue-4.8/alsa-info-limit-the-proc-text-input-size.patch b/queue-4.8/alsa-info-limit-the-proc-text-input-size.patch
new file mode 100644 (file)
index 0000000..369bf22
--- /dev/null
@@ -0,0 +1,37 @@
+From 027a9fe6835620422b6713892175716f3613dd9d Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Sun, 30 Oct 2016 22:18:45 +0100
+Subject: ALSA: info: Limit the proc text input size
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 027a9fe6835620422b6713892175716f3613dd9d upstream.
+
+The ALSA proc handler allows currently the write in the unlimited size
+until kmalloc() fails.  But basically the write is supposed to be only
+for small inputs, mostly for one line inputs, and we don't have to
+handle too large sizes at all.  Since the kmalloc error results in the
+kernel warning, it's better to limit the size beforehand.
+
+This patch adds the limit of 16kB, which must be large enough for the
+currently existing code.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/core/info.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/sound/core/info.c
++++ b/sound/core/info.c
+@@ -331,6 +331,9 @@ static ssize_t snd_info_text_entry_write
+       if (!valid_pos(pos, count))
+               return -EIO;
+       next = pos + count;
++      /* don't handle too large text inputs */
++      if (next > 16 * 1024)
++              return -EIO;
+       mutex_lock(&entry->access);
+       buf = data->wbuffer;
+       if (!buf) {
diff --git a/queue-4.8/alsa-info-return-error-for-invalid-read-write.patch b/queue-4.8/alsa-info-return-error-for-invalid-read-write.patch
new file mode 100644 (file)
index 0000000..4b6318d
--- /dev/null
@@ -0,0 +1,47 @@
+From 6809cd682b82dfff47943850d1a8c714f971b5ca Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Sun, 30 Oct 2016 22:13:19 +0100
+Subject: ALSA: info: Return error for invalid read/write
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 6809cd682b82dfff47943850d1a8c714f971b5ca upstream.
+
+Currently the ALSA proc handler allows read or write even if the proc
+file were write-only or read-only.  It's mostly harmless, does thing
+but allocating memory and ignores the input/output.  But it doesn't
+tell user about the invalid use, and it's confusing and inconsistent
+in comparison with other proc files.
+
+This patch adds some sanity checks and let the proc handler returning
+an -EIO error when the invalid read/write is performed.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/core/info.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/sound/core/info.c
++++ b/sound/core/info.c
+@@ -325,6 +325,8 @@ static ssize_t snd_info_text_entry_write
+       size_t next;
+       int err = 0;
++      if (!entry->c.text.write)
++              return -EIO;
+       pos = *offset;
+       if (!valid_pos(pos, count))
+               return -EIO;
+@@ -366,7 +368,9 @@ static int snd_info_seq_show(struct seq_
+       struct snd_info_private_data *data = seq->private;
+       struct snd_info_entry *entry = data->entry;
+-      if (entry->c.text.read) {
++      if (!entry->c.text.read) {
++              return -EIO;
++      } else {
+               data->rbuffer->buffer = (char *)seq; /* XXX hack! */
+               entry->c.text.read(entry, data->rbuffer);
+       }
diff --git a/queue-4.8/asoc-cs4270-fix-dapm-stream-name-mismatch.patch b/queue-4.8/asoc-cs4270-fix-dapm-stream-name-mismatch.patch
new file mode 100644 (file)
index 0000000..f72ff52
--- /dev/null
@@ -0,0 +1,42 @@
+From aa5f920993bda2095952177eea79bc8e58ae6065 Mon Sep 17 00:00:00 2001
+From: murray foster <mrafoster@gmail.com>
+Date: Sun, 9 Oct 2016 13:28:45 -0700
+Subject: ASoC: cs4270: fix DAPM stream name mismatch
+
+From: murray foster <mrafoster@gmail.com>
+
+commit aa5f920993bda2095952177eea79bc8e58ae6065 upstream.
+
+Mismatching stream names in DAPM route and widget definitions are
+causing compilation errors. Fixing these names allows the cs4270
+driver to compile and function.
+
+[Errors must be at probe time not compile time -- broonie]
+
+Signed-off-by: Murray Foster <mrafoster@gmail.com>
+Acked-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/cs4270.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/sound/soc/codecs/cs4270.c
++++ b/sound/soc/codecs/cs4270.c
+@@ -148,11 +148,11 @@ SND_SOC_DAPM_OUTPUT("AOUTR"),
+ };
+ static const struct snd_soc_dapm_route cs4270_dapm_routes[] = {
+-      { "Capture", NULL, "AINA" },
+-      { "Capture", NULL, "AINB" },
++      { "Capture", NULL, "AINL" },
++      { "Capture", NULL, "AINR" },
+-      { "AOUTA", NULL, "Playback" },
+-      { "AOUTB", NULL, "Playback" },
++      { "AOUTL", NULL, "Playback" },
++      { "AOUTR", NULL, "Playback" },
+ };
+ /**