Patch "media: airspy: fix memory leak in airspy probe" has been added to the 6.0-stable tree

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

 



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

    media: airspy: fix memory leak in airspy probe

to the 6.0-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:
     media-airspy-fix-memory-leak-in-airspy-probe.patch
and it can be found in the queue-6.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit a3421d2bbf87d08c0dd5157a7f887af4a20fe483
Author: Dongliang Mu <mudongliangabcd@xxxxxxxxx>
Date:   Thu Aug 11 06:57:00 2022 +0200

    media: airspy: fix memory leak in airspy probe
    
    [ Upstream commit 23bc5eb55f8c9607965c20d9ddcc13cb1ae59568 ]
    
    The commit ca9dc8d06ab6 ("media: airspy: respect the DMA coherency
     rules") moves variable buf from stack to heap, however, it only frees
    buf in the error handling code, missing deallocation in the success
    path.
    
    Fix this by freeing buf in the success path since this variable does not
    have any references in other code.
    
    Fixes: ca9dc8d06ab6 ("media: airspy: respect the DMA coherency rules")
    Reported-by: syzbot+bb25f85e5aa482864dc0@xxxxxxxxxxxxxxxxxxxxxxxxx
    Signed-off-by: Dongliang Mu <mudongliangabcd@xxxxxxxxx>
    Reviewed-by: Tommaso Merciai <tommaso.merciai@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/media/usb/airspy/airspy.c b/drivers/media/usb/airspy/airspy.c
index 240a7cc56777..7b1c40132555 100644
--- a/drivers/media/usb/airspy/airspy.c
+++ b/drivers/media/usb/airspy/airspy.c
@@ -1070,6 +1070,10 @@ static int airspy_probe(struct usb_interface *intf,
 				ret);
 		goto err_free_controls;
 	}
+
+	/* Free buf if success*/
+	kfree(buf);
+
 	dev_info(s->dev, "Registered as %s\n",
 			video_device_node_name(&s->vdev));
 	dev_notice(s->dev, "SDR API is still slightly experimental and functionality changes may follow\n");



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux