[PATCH] driver: soc: xilinx: fix memory leak in xlnx_add_cb_for_notify_event()

Michal Simek monstr at monstr.eu
Thu Dec 8 04:27:05 PST 2022



On 11/29/22 02:01, Gaosheng Cui wrote:
> The kfree() should be called when memory fails to be allocated for
> cb_data in xlnx_add_cb_for_notify_event(), otherwise there will be
> a memory leak, so add kfree() to fix it.
> 
> Fixes: 05e5ba40ea7a ("driver: soc: xilinx: Add support of multiple callbacks for same event in event management driver")
> Signed-off-by: Gaosheng Cui <cuigaosheng1 at huawei.com>
> ---
>   drivers/soc/xilinx/xlnx_event_manager.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c
> index 2de082765bef..c76381899ef4 100644
> --- a/drivers/soc/xilinx/xlnx_event_manager.c
> +++ b/drivers/soc/xilinx/xlnx_event_manager.c
> @@ -116,8 +116,10 @@ static int xlnx_add_cb_for_notify_event(const u32 node_id, const u32 event, cons
>                  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;
> 
> --
> 2.25.1
> 

Applied.
M
-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP/Versal ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal/Versal NET SoCs




More information about the linux-arm-kernel mailing list