test: fix ubsan issues in L0 tools tests

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2023-11-09 13:48:38 +00:00
committed by Compute-Runtime-Automation
parent ee729bb33b
commit 616ef4c9c7
3 changed files with 7 additions and 8 deletions

View File

@@ -72,8 +72,8 @@ struct Mock<EngineKmdSysManager> : public EngineKmdSysManager {
case KmdSysman::Requests::Activity::CurrentActivityCounter: { case KmdSysman::Requests::Activity::CurrentActivityCounter: {
uint64_t *pValueCounter = reinterpret_cast<uint64_t *>(pBuffer); uint64_t *pValueCounter = reinterpret_cast<uint64_t *>(pBuffer);
uint64_t *pValueTimeStamp = reinterpret_cast<uint64_t *>(pBuffer + sizeof(uint64_t)); uint64_t *pValueTimeStamp = reinterpret_cast<uint64_t *>(pBuffer + sizeof(uint64_t));
*pValueCounter = mockActivityCounters[domain]; memcpy_s(pValueCounter, sizeof(uint64_t), &mockActivityCounters[domain], sizeof(uint64_t));
*pValueTimeStamp = mockActivityTimeStamps[domain]; memcpy_s(pValueTimeStamp, sizeof(uint64_t), &mockActivityTimeStamps[domain], sizeof(uint64_t));
pResponse->outReturnCode = KmdSysman::KmdSysmanSuccess; pResponse->outReturnCode = KmdSysman::KmdSysmanSuccess;
pResponse->outDataSize = 2 * sizeof(uint64_t); pResponse->outDataSize = 2 * sizeof(uint64_t);
} break; } break;
@@ -92,8 +92,8 @@ struct Mock<EngineKmdSysManager> : public EngineKmdSysManager {
case KmdSysman::Requests::Activity::CurrentCounterV2: { case KmdSysman::Requests::Activity::CurrentCounterV2: {
uint64_t *pValueCounter = reinterpret_cast<uint64_t *>(pBuffer); uint64_t *pValueCounter = reinterpret_cast<uint64_t *>(pBuffer);
uint64_t *pValueTimeStamp = reinterpret_cast<uint64_t *>(pBuffer + sizeof(uint64_t)); uint64_t *pValueTimeStamp = reinterpret_cast<uint64_t *>(pBuffer + sizeof(uint64_t));
*pValueCounter = mockActivityCounters[domain]; memcpy_s(pValueCounter, sizeof(uint64_t), &mockActivityCounters[domain], sizeof(uint64_t));
*pValueTimeStamp = mockActivityTimeStamps[domain]; memcpy_s(pValueTimeStamp, sizeof(uint64_t), &mockActivityTimeStamps[domain], sizeof(uint64_t));
pResponse->outReturnCode = KmdSysman::KmdSysmanSuccess; pResponse->outReturnCode = KmdSysman::KmdSysmanSuccess;
pResponse->outDataSize = 2 * sizeof(uint64_t); pResponse->outDataSize = 2 * sizeof(uint64_t);
} break; } break;

View File

@@ -148,8 +148,8 @@ struct Mock<PowerKmdSysManager> : public PowerKmdSysManager {
case KmdSysman::Requests::Power::CurrentEnergyCounter64Bit: { case KmdSysman::Requests::Power::CurrentEnergyCounter64Bit: {
uint64_t *pValueCounter = reinterpret_cast<uint64_t *>(pBuffer); uint64_t *pValueCounter = reinterpret_cast<uint64_t *>(pBuffer);
uint64_t *pValueTS = reinterpret_cast<uint64_t *>(pBuffer + sizeof(uint64_t)); uint64_t *pValueTS = reinterpret_cast<uint64_t *>(pBuffer + sizeof(uint64_t));
*pValueCounter = mockEnergyCounter64Bit; memcpy_s(pValueCounter, sizeof(uint64_t), &mockEnergyCounter64Bit, sizeof(mockEnergyCounter64Bit));
*pValueTS = mockTimeStamp; memcpy_s(pValueTS, sizeof(uint64_t), &mockTimeStamp, sizeof(mockEnergyCounter64Bit));
pResponse->outReturnCode = KmdSysman::KmdSysmanSuccess; pResponse->outReturnCode = KmdSysman::KmdSysmanSuccess;
pResponse->outDataSize = sizeof(uint64_t) + sizeof(uint64_t); pResponse->outDataSize = sizeof(uint64_t) + sizeof(uint64_t);
} break; } break;

View File

@@ -257,8 +257,7 @@ struct Mock<MockKmdSysManager> : public MockKmdSysManager {
for (uint32_t i = 0; i < mockKmdMaxHandlesPerEvent; i++) { for (uint32_t i = 0; i < mockKmdMaxHandlesPerEvent; i++) {
if (!handles[pRequest->inRequestId][i].inited) { if (!handles[pRequest->inRequestId][i].inited) {
handles[pRequest->inRequestId][i].inited = true; handles[pRequest->inRequestId][i].inited = true;
unsigned long long eventID = *(unsigned long long *)pBuffer; memcpy_s(&handles[pRequest->inRequestId][i].eventHandle, sizeof(HANDLE), pBuffer, sizeof(HANDLE));
handles[pRequest->inRequestId][i].eventHandle = reinterpret_cast<HANDLE>(eventID);
found = true; found = true;
break; break;
} }