Patch "drivers: soc: xilinx: add the missing kfree in xlnx_add_cb_for_suspend()" has been added to the 6.1-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

    drivers: soc: xilinx: add the missing kfree in xlnx_add_cb_for_suspend()

to the 6.1-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:
     drivers-soc-xilinx-add-the-missing-kfree-in-xlnx_add.patch
and it can be found in the queue-6.1 subdirectory.

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



commit 0deca830c08bc01de11610ba1fac0f2f9784821a
Author: Gaosheng Cui <cuigaosheng1@xxxxxxxxxx>
Date:   Sat Jul 6 14:51:55 2024 +0800

    drivers: soc: xilinx: add the missing kfree in xlnx_add_cb_for_suspend()
    
    [ Upstream commit 44ed4f90a97ff6f339e50ac01db71544e0990efc ]
    
    If we fail to allocate memory for cb_data by kmalloc, the memory
    allocation for eve_data is never freed, add the missing kfree()
    in the error handling path.
    
    Fixes: 05e5ba40ea7a ("driver: soc: xilinx: Add support of multiple callbacks for same event in event management driver")
    Signed-off-by: Gaosheng Cui <cuigaosheng1@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240706065155.452764-1-cuigaosheng1@xxxxxxxxxx
    Signed-off-by: Michal Simek <michal.simek@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c
index 82e3174740238..e5476010bb3d1 100644
--- a/drivers/soc/xilinx/xlnx_event_manager.c
+++ b/drivers/soc/xilinx/xlnx_event_manager.c
@@ -174,8 +174,10 @@ static int xlnx_add_cb_for_suspend(event_cb_func_t cb_fun, void *data)
 	INIT_LIST_HEAD(&eve_data->cb_list_head);
 
 	cb_data = kmalloc(sizeof(*cb_data), GFP_KERNEL);
-	if (!cb_data)
+	if (!cb_data) {
+		kfree(eve_data);
 		return -ENOMEM;
+	}
 	cb_data->eve_cb = cb_fun;
 	cb_data->agent_data = data;
 




[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