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]
이 커밋은 다음에 포함됨:
Felix Kuehling
2017-05-10 18:16:31 -04:00
부모 e5b910be20
커밋 2fe4ad9d9b
+1 -1
파일 보기
@@ -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;