Skip to content

Commit 980add4

Browse files
committed
Check for pfnInit null due to zesInit possible empty ze ddi
Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
1 parent 450fa53 commit 980add4

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

scripts/templates/ldrddi.cpp.mako

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,11 @@ namespace loader
123123
drv.initSysManStatus = ZE_RESULT_ERROR_UNINITIALIZED;
124124
continue;
125125
}
126+
%else:
127+
if (!drv.dditable.${n}.${th.get_table_name(n, tags, obj)}.${th.make_pfn_name(n, tags, obj)}) {
128+
drv.initStatus = ZE_RESULT_ERROR_UNINITIALIZED;
129+
continue;
130+
}
126131
%endif
127132
%if re.match(r"Init", obj['name']) and namespace == "zes":
128133
drv.initSysManStatus = drv.dditable.${n}.${th.get_table_name(n, tags, obj)}.${th.make_pfn_name(n, tags, obj)}( ${", ".join(th.make_param_lines(n, tags, obj, format=["name"]))} );

source/loader/ze_ldrddi.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,10 @@ namespace loader
169169
continue;
170170
}
171171
}
172+
if (!drv.dditable.ze.Global.pfnInit) {
173+
drv.initStatus = ZE_RESULT_ERROR_UNINITIALIZED;
174+
continue;
175+
}
172176
drv.initStatus = drv.dditable.ze.Global.pfnInit( flags );
173177
if(drv.initStatus == ZE_RESULT_SUCCESS)
174178
atLeastOneDriverValid = true;

0 commit comments

Comments
 (0)