Fix address space leak in __fmm_release

Use the object size when freeing address space, instead of the
parameter passed in by the caller. The parameter may be incorrect
due to app or runtime bugs, or when the buffers is an AQL ring
buffer with double mapping workaround.


Change-Id: I00bb31d4520ef969a49d6d5ea723e8a33418acc3
Cette révision appartient à :
Felix Kuehling
2016-02-23 19:01:51 -05:00
Parent 8a0161d6bb
révision 006f3ee41b
3 fichiers modifiés avec 16 ajouts et 26 suppressions
+1 -1
Voir le fichier
@@ -58,7 +58,7 @@ void* fmm_open_graphic_handle(uint32_t gpu_id,
uint64_t MemorySizeInBytes);
void fmm_print(uint32_t node);
bool fmm_is_inside_some_aperture(void* address);
void fmm_release(void* address, HSAuint64 MemorySizeInBytes);
void fmm_release(void* address);
int fmm_map_to_gpu(void *address, uint64_t size, uint64_t *gpuvm_address);
int fmm_unmap_from_gpu(void *address);
bool fmm_get_handle(void *address, uint64_t *handle);