Re: [PATCH 1/3] ALSA: timer: fix NULL pointer dereference in read()/ioctl() race

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/29/2016 09:14 AM, Vegard Nossum wrote:
On 08/29/2016 09:02 AM, Takashi Iwai wrote:
On Mon, 29 Aug 2016 00:33:49 +0200,
Vegard Nossum wrote:
@@ -1602,15 +1602,25 @@ static int snd_timer_user_tselect(struct file
*file,
     kfree(tu->tqueue);
     tu->tqueue = NULL;
     if (tu->tread) {
-        tu->tqueue = kmalloc(tu->queue_size * sizeof(struct
snd_timer_tread),
+        struct snd_timer_tread *ttr;
+        ttr = kmalloc(tu->queue_size * sizeof(struct snd_timer_tread),
                      GFP_KERNEL);
-        if (tu->tqueue == NULL)
+        if (ttr) {
+            kfree(tu->tqueue);
+            tu->tqueue = ttr;

This looks like the double-tree, as you didn't remove the kfree() call
in the above.  But, I guess this change is superfluous when you
introduce the mutex at...

You're right, this hunk is garbage.

Please see the new patch (attached), I also changed the patch
description slightly to match the changes.

I'll start running some tests on the new patch.

I tested the new patch (from the email I'm replying to). It seems to
work for me.

Thanks,


Vegard
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux