From b4b2195fa536e4f6763f81046b05973fb09598e1 Mon Sep 17 00:00:00 2001 From: Jens Steube Date: Tue, 24 Aug 2021 09:37:49 +0200 Subject: [PATCH] OpenCL Runtime: The use of clUnloadPlatformCompiler () was disabled after some users received unexpected return codes --- docs/changes.txt | 1 + src/backend.c | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 97e2787dd..c58a6cc74 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -69,6 +69,7 @@ - Memory Management: Check in OpenCL that CL_DEVICE_HOST_UNIFIED_MEMORY is true and if so, then half of the available memory - NEO driver: Activate the NEO driver (Intel GPU) after it passed several tests in hashcat using the latest NEO driver version - OpenCL Runtime: Workaround for Intel OpenCL runtime: segmentation fault when compiling hc_enc_next() / hc_enc_next_global() +- OpenCL Runtime: The use of clUnloadPlatformCompiler () was disabled after some users received unexpected return codes - RC4 Kernels: Use improved native thread derivation for RC4-based hash modes 7500, 13100, 18200, 25400 - Shared Memory: Calculate the dynamic memory size of the kernel based on CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN - Slow kernels: Set some of the slowest kernels to OPTS_TYPE_MP_MULTI_DISABLE to make it easier to handle small word lists diff --git a/src/backend.c b/src/backend.c index 0ec069825..823398fcc 100644 --- a/src/backend.c +++ b/src/backend.c @@ -3556,7 +3556,7 @@ int ocl_init (hashcat_ctx_t *hashcat_ctx) HC_LOAD_FUNC (ocl, clWaitForEvents, OCL_CLWAITFOREVENTS, OpenCL, 1); HC_LOAD_FUNC (ocl, clGetEventProfilingInfo, OCL_CLGETEVENTPROFILINGINFO, OpenCL, 1); HC_LOAD_FUNC (ocl, clReleaseEvent, OCL_CLRELEASEEVENT, OpenCL, 1); - HC_LOAD_FUNC (ocl, clUnloadPlatformCompiler, OCL_CLUNLOADPLATFORMCOMPILER, OpenCL, 1); + //HC_LOAD_FUNC (ocl, clUnloadPlatformCompiler, OCL_CLUNLOADPLATFORMCOMPILER, OpenCL, 1); return 0; } @@ -4225,6 +4225,7 @@ int hc_clReleaseEvent (hashcat_ctx_t *hashcat_ctx, cl_event event) return 0; } +/* int hc_clUnloadPlatformCompiler (hashcat_ctx_t *hashcat_ctx, cl_platform_id platform) { backend_ctx_t *backend_ctx = hashcat_ctx->backend_ctx; @@ -4242,6 +4243,7 @@ int hc_clUnloadPlatformCompiler (hashcat_ctx_t *hashcat_ctx, cl_platform_id plat return 0; } +*/ // Backend @@ -11922,13 +11924,15 @@ int backend_session_begin (hashcat_ctx_t *hashcat_ctx) * from opencl specs: * Calls to clBuildProgram, clCompileProgram or clLinkProgram after clUnloadPlatformCompiler will reload the compiler, if necessary, to build the appropriate program executable. */ - + // Disabled after user reporting weird errors like CL_OUT_OF_HOST_MEMORY after calling + /* if (device_param->is_opencl == true) { cl_platform_id platform_id = backend_ctx->opencl_platforms[device_param->opencl_platform_id]; if (hc_clUnloadPlatformCompiler (hashcat_ctx, platform_id) == -1) return -1; } + */ // some algorithm collide too fast, make that impossible