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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user