libhsakmt: Fix memory leak for events_page metadata (#807)
이 커밋은 다음에 포함됨:
@@ -4573,7 +4573,6 @@ static void fmm_clear_aperture(manageable_aperture_t *app)
|
||||
void hsakmt_fmm_clear_all_mem(void)
|
||||
{
|
||||
uint32_t i;
|
||||
void *map_addr;
|
||||
|
||||
/* Close render node FDs. The child process needs to open new ones */
|
||||
for (i = 0; i <= DRM_LAST_RENDER_NODE - DRM_FIRST_RENDER_NODE; i++) {
|
||||
@@ -4587,6 +4586,14 @@ void hsakmt_fmm_clear_all_mem(void)
|
||||
drm_render_fds[i] = 0;
|
||||
}
|
||||
|
||||
hsakmt_fmm_clear_all_aperture();
|
||||
}
|
||||
|
||||
void hsakmt_fmm_clear_all_aperture(void)
|
||||
{
|
||||
uint32_t i;
|
||||
void *map_addr;
|
||||
|
||||
fmm_clear_aperture(&mem_handle_aperture);
|
||||
fmm_clear_aperture(&cpuvm_aperture);
|
||||
fmm_clear_aperture(&svm.apertures[SVM_DEFAULT]);
|
||||
|
||||
@@ -241,6 +241,7 @@ extern int hsakmt_ioctl(int fd, unsigned long request, void *arg);
|
||||
|
||||
void hsakmt_clear_events_page(void);
|
||||
void hsakmt_fmm_clear_all_mem(void);
|
||||
void hsakmt_fmm_clear_all_aperture(void);
|
||||
void hsakmt_clear_process_doorbells(void);
|
||||
uint32_t hsakmt_get_num_sysfs_nodes(void);
|
||||
|
||||
|
||||
@@ -266,6 +266,7 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtCloseKFD(void)
|
||||
if (--hsakmt_kfd_open_count == 0) {
|
||||
hsakmt_destroy_counter_props();
|
||||
hsakmt_destroy_device_debugging_memory();
|
||||
hsakmt_fmm_clear_all_aperture();
|
||||
}
|
||||
|
||||
result = HSAKMT_STATUS_SUCCESS;
|
||||
|
||||
새 이슈에서 참조
사용자 차단