@@ -5805,24 +5805,23 @@ VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateInstance(const VkInstanceCreateI
58055805
58065806 struct loader_instance * ptr_instance = (struct loader_instance * )* pInstance ;
58075807 if (NULL == ptr_instance ) {
5808- loader_log (ptr_instance , VULKAN_LOADER_WARN_BIT , 0 ,
5808+ loader_log (NULL , VULKAN_LOADER_ERROR_BIT , 0 ,
58095809 "terminator_CreateInstance: Loader instance pointer null encountered. Possibly set by active layer. (Policy "
58105810 "#LLP_LAYER_21)" );
5811+ abort ();
58115812 } else if (LOADER_MAGIC_NUMBER != ptr_instance -> magic ) {
5812- loader_log (ptr_instance , VULKAN_LOADER_WARN_BIT , 0 ,
5813+ loader_log (ptr_instance , VULKAN_LOADER_ERROR_BIT , 0 ,
58135814 "terminator_CreateInstance: Instance pointer (%p) has invalid MAGIC value 0x%08" PRIx64
58145815 ". Instance value possibly "
58155816 "corrupted by active layer (Policy #LLP_LAYER_21). " ,
58165817 ptr_instance , ptr_instance -> magic );
5818+ abort ();
58175819 }
58185820
58195821 // Save the application version if it has been modified - layers sometimes needs features in newer API versions than
58205822 // what the application requested, and thus will increase the instance version to a level that suites their needs.
58215823 if (pCreateInfo -> pApplicationInfo && pCreateInfo -> pApplicationInfo -> apiVersion ) {
58225824 loader_api_version altered_version = loader_make_version (pCreateInfo -> pApplicationInfo -> apiVersion );
5823- // per LLP_LAYER_21 (docs/LoaderLayerInterface.md), a layer that clobbers pInstance before calling down is
5824- // documented to crash the loader; this is not recoverable here.
5825- // NOLINTNEXTLINE(clang-analyzer-core.NullDereference)
58265825 if (altered_version .major != ptr_instance -> app_api_version .major ||
58275826 altered_version .minor != ptr_instance -> app_api_version .minor ) {
58285827 ptr_instance -> app_api_version = altered_version ;
@@ -5857,14 +5856,12 @@ VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateInstance(const VkInstanceCreateI
58575856 } else {
58585857 for (uint32_t j = 0 ; j < pCreateInfo -> enabledExtensionCount ; j ++ ) {
58595858 if (!strcmp (pCreateInfo -> ppEnabledExtensionNames [j ], VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME )) {
5860- // NOLINTNEXTLINE(clang-analyzer-core.NullDereference) - see LLP_LAYER_21 note above
58615859 ptr_instance -> supports_get_dev_prop_2 = true;
58625860 break ;
58635861 }
58645862 }
58655863 }
58665864
5867- // NOLINTNEXTLINE(clang-analyzer-core.NullDereference) - see LLP_LAYER_21 note above
58685865 for (uint32_t i = 0 ; i < ptr_instance -> icd_tramp_list .count ; i ++ ) {
58695866 icd_term = loader_icd_add (ptr_instance , & ptr_instance -> icd_tramp_list .scanned_list [i ]);
58705867 if (NULL == icd_term ) {
@@ -6220,21 +6217,20 @@ VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateDevice(VkPhysicalDevice physical
62206217 VkDeviceGroupDeviceCreateInfo * caller_dgci = NULL ;
62216218
62226219 if (NULL == dev ) {
6223- loader_log (icd_term -> this_instance , VULKAN_LOADER_WARN_BIT , 0 ,
6220+ loader_log (icd_term -> this_instance , VULKAN_LOADER_ERROR_BIT , 0 ,
62246221 "terminator_CreateDevice: Loader device pointer null encountered. Possibly set by active layer. (Policy "
62256222 "#LLP_LAYER_22)" );
6223+ abort ();
62266224 } else if (DEVICE_DISP_TABLE_MAGIC_NUMBER != dev -> loader_dispatch .core_dispatch .magic ) {
6227- loader_log (icd_term -> this_instance , VULKAN_LOADER_WARN_BIT , 0 ,
6225+ loader_log (icd_term -> this_instance , VULKAN_LOADER_ERROR_BIT , 0 ,
62286226 "terminator_CreateDevice: Device pointer (%p) has invalid MAGIC value 0x%08" PRIx64
62296227 ". The expected value is "
62306228 "0x10ADED040410ADED. Device value possibly "
62316229 "corrupted by active layer (Policy #LLP_LAYER_22). " ,
62326230 dev , dev -> loader_dispatch .core_dispatch .magic );
6231+ abort ();
62336232 }
62346233
6235- // per LLP_LAYER_22 (docs/LoaderLayerInterface.md), a layer that clobbers pDevice before calling down is
6236- // documented to crash the loader; this is not recoverable here.
6237- // NOLINTNEXTLINE(clang-analyzer-core.NullDereference)
62386234 dev -> phys_dev_term = phys_dev_term ;
62396235
62406236 icd_exts .list = NULL ;
0 commit comments