Skip to contentSkip to conversation

Patch "ALSA: hda: Fix krealloc() with __GFP_ZERO usage" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Aug 18, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ALSA: hda: Fix krealloc() with __GFP_ZERO usage

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
alsa-hda-fix-krealloc-with-__gfp_zero-usage.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 33baefe5e72f17a6df378e48196cd8cada11deec Mon Sep 17 00:00:00 2001

From: Takashi Iwai <[email protected]>
Date: Wed, 3 Aug 2016 15:13:00 +0200
Subject: ALSA: hda: Fix krealloc() with __GFP_ZERO usage

From: Takashi Iwai <[email protected]>

commit 33baefe5e72f17a6df378e48196cd8cada11deec upstream.

krealloc() doesn't work always properly with __GFP_ZERO flag as expected. For clearing the reallocated area, we need to clear explicitly instead.

---
 sound/hda/array.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
sound/hda/array.c +3 -1
@@ -21,13 +21,15 @@ void *snd_array_new(struct snd_array *ar
 		return NULL;
 	if (array->used >= array->alloced) {
 		int num = array->alloced + array->alloc_align;
+		int oldsize = array->alloced * array->elem_size;
 		int size = (num + 1) * array->elem_size;
 		void *nlist;
 		if (snd_BUG_ON(num >= 4096))
 			return NULL;
-		nlist = krealloc(array->list, size, GFP_KERNEL | __GFP_ZERO);
+		nlist = krealloc(array->list, size, GFP_KERNEL);
 		if (!nlist)
 			return NULL;
+		memset(nlist + oldsize, 0, size - oldsize);
 		array->list = nlist;
 		array->alloced = num;
 	}

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/alsa-hda-add-amd-bonaire-az-pci-id-with-proper-driver-caps.patch queue-4.4/alsa-hda-realtek-can-t-adjust-speaker-s-volume-on-a-dell-aio.patch queue-4.4/alsa-hda-fix-krealloc-with-__gfp_zero-usage.patch queue-4.4/alsa-hda-fix-headset-mic-detection-problem-for-two-dell-machines.patch