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>
Tá an tiomantas seo le fáil i:
@@ -255,7 +255,7 @@ hsaKmtWaitOnMultipleEvents(
|
|||||||
if (!Events)
|
if (!Events)
|
||||||
return HSAKMT_STATUS_INVALID_HANDLE;
|
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++) {
|
for (HSAuint32 i = 0; i < NumEvents; i++) {
|
||||||
event_data[i].event_id = Events[i]->EventId;
|
event_data[i].event_id = Events[i]->EventId;
|
||||||
event_data[i].kfd_event_data_ext = (uint64_t)(uintptr_t)NULL;
|
event_data[i].kfd_event_data_ext = (uint64_t)(uintptr_t)NULL;
|
||||||
|
|||||||
Tagairt in Eagrán Nua
Cuir bac ar úsáideoir