Skip to content

Commit 9ff19c5

Browse files
Handling for invalid event argument
Signed-off-by: Kanhaiya Singh <[email protected]>
1 parent be7ae13 commit 9ff19c5

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

level_zero/tools/source/sysman/events/linux/os_events_imp.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ bool LinuxEventsImp::eventListen(zes_event_type_flags_t &pEvent, uint32_t timeou
9797
}
9898

9999
ze_result_t LinuxEventsImp::eventRegister(zes_event_type_flags_t events) {
100+
if (0x7fff < events) {
101+
return ZE_RESULT_ERROR_INVALID_ENUMERATION;
102+
}
100103
registeredEvents = events;
101104
if (registeredEvents & ZES_EVENT_TYPE_FLAG_MEM_HEALTH) {
102105
memHealthAtEventRegister = currentMemHealth();

level_zero/tools/test/unit_tests/sources/sysman/events/linux/test_zes_events.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,5 +211,12 @@ TEST_F(SysmanEventsFixture, GivenValidDeviceHandleWhenListeningForMemHealthEvent
211211
delete[] pDeviceEvents;
212212
}
213213

214+
TEST_F(SysmanEventsFixture, GivenValidDeviceHandleWhenListeningForAListOfEventsThenEventRegisterAPIReturnsProperErrorCodeInCaseEventsAreInvalid) {
215+
zes_event_type_flags_t events1 = 0x7ffe;
216+
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEventRegister(device->toHandle(), events1));
217+
zes_event_type_flags_t events2 = 0x1e240;
218+
EXPECT_EQ(ZE_RESULT_ERROR_INVALID_ENUMERATION, zesDeviceEventRegister(device->toHandle(), events2));
219+
}
220+
214221
} // namespace ult
215222
} // namespace L0

0 commit comments

Comments
 (0)