accel/habanalabs: fix mem leak in capture user mappings
authorMoti Haimovski <mhaimovski@habana.ai>
Sun, 16 Apr 2023 15:36:17 +0000 (18:36 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Thu, 8 Jun 2023 09:35:55 +0000 (12:35 +0300)
This commit fixes a memory leak caused when clearing the user_mappings
info when a new context is opened immediately after user_mapping is
captured and a hard reset is performed.

Signed-off-by: Moti Haimovski <mhaimovski@habana.ai>
Reviewed-by: Dani Liberman <dliberman@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/accel/habanalabs/common/habanalabs_drv.c

index 1ec97da..70fb2df 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <linux/pci.h>
 #include <linux/module.h>
+#include <linux/vmalloc.h>
 
 #define CREATE_TRACE_POINTS
 #include <trace/events/habanalabs.h>
@@ -218,6 +219,7 @@ int hl_device_open(struct inode *inode, struct file *filp)
 
        hl_debugfs_add_file(hpriv);
 
+       vfree(hdev->captured_err_info.page_fault_info.user_mappings);
        memset(&hdev->captured_err_info, 0, sizeof(hdev->captured_err_info));
        atomic_set(&hdev->captured_err_info.cs_timeout.write_enable, 1);
        hdev->captured_err_info.undef_opcode.write_enable = true;