[alsa-devel] [PATCH 1/2] ALSA: info: Limit the proc text input size

Takashi Iwai tiwai at suse.de
Tue Nov 8 15:18:55 CET 2016


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.

Cc: stable at vger.kernel.org # v4.2+
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 sound/core/info.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sound/core/info.c b/sound/core/info.c
index 895362a696c9..291d6ed80d80 100644
--- a/sound/core/info.c
+++ b/sound/core/info.c
@@ -329,6 +329,9 @@ static ssize_t snd_info_text_entry_write(struct file *file,
 	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) {
-- 
2.10.2



More information about the Alsa-devel mailing list