[alsa-devel] [PATCH 1/3] ALSA: timer: fix NULL pointer dereference in read()/ioctl() race
Vegard Nossum
vegard.nossum at oracle.com
Mon Aug 29 09:14:15 CEST 2016
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.
Thanks!
Vegard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ALSA-timer-fix-NULL-pointer-dereference-in-read-ioct.patch
Type: text/x-patch
Size: 4170 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20160829/a1888248/attachment-0001.bin>
More information about the Alsa-devel
mailing list