Fix uninitialized memory bug in hsaKmtWaitOnMultipleEvents

Use calloc to allocate event data. Otherwise random data may be filled
in for events that haven't actually signalled. This could trigger the
VM fault handler in the Runtime when no VM fault actually happened and
lead to intermittent HSA conformance test failures.

Change-Id: Icf702970e73a485b50633703c1b164f87fbb8606
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>


[ROCm/ROCR-Runtime commit: ea58703ece]
This commit is contained in:
Felix Kuehling
2017-05-10 18:16:31 -04:00
parent e5b910be20
commit 2fe4ad9d9b
+1 -1
View File
@@ -255,7 +255,7 @@ hsaKmtWaitOnMultipleEvents(
if (!Events)
return HSAKMT_STATUS_INVALID_HANDLE;
struct kfd_event_data *event_data = malloc(NumEvents * sizeof(struct kfd_event_data));
struct kfd_event_data *event_data = calloc(NumEvents, sizeof(struct kfd_event_data));
for (HSAuint32 i = 0; i < NumEvents; i++) {
event_data[i].event_id = Events[i]->EventId;
event_data[i].kfd_event_data_ext = (uint64_t)(uintptr_t)NULL;