Skip to content

Commit 8a93f5f

Browse files
committed
check for platform.dditable.Adapter.pfnGet before call
1 parent 3c4a970 commit 8a93f5f

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

unified-runtime/scripts/templates/ldrddi.cpp.mako

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,13 @@ namespace ur_loader
5656
if (platform.initStatus != ${X}_RESULT_SUCCESS)
5757
continue;
5858

59+
auto *${th.make_pfn_name(n, tags, obj)} = platform.dditable.${th.get_table_name(n, tags, obj)}.${th.make_pfn_name(n, tags, obj)};
60+
if (*${th.make_pfn_name(n, tags, obj)} == nullptr)
61+
return ${X}_RESULT_ERROR_UNINITIALIZED;
62+
5963
uint32_t adapter;
6064
ur_adapter_handle_t *adapterHandle = numAdapters < NumEntries ? &${obj['params'][1]['name']}[numAdapters] : nullptr;
61-
platform.dditable.${th.get_table_name(n, tags, obj)}.${th.make_pfn_name(n, tags, obj)}( 1, adapterHandle, &adapter );
65+
${th.make_pfn_name(n, tags, obj)}( 1, adapterHandle, &adapter );
6266

6367
numAdapters += adapter;
6468
}
@@ -129,6 +133,7 @@ ${tbl['export']['name']}(
129133

130134
if(platform.initStatus != ${X}_RESULT_SUCCESS)
131135
continue;
136+
132137
auto getTable = reinterpret_cast<${tbl['pfn']}>(
133138
ur_loader::LibLoader::getFunctionPtr(platform.handle.get(), "${tbl['export']['name']}"));
134139
if(!getTable)

unified-runtime/source/loader/ur_ldrddi.cpp

Lines changed: 30 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)