forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-crypt/hashcat: pull upstream fix
hashcat/hashcat#2455 Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Rick Farina <[email protected]>
- Loading branch information
1 parent
ce069b8
commit 609c0e2
Showing
3 changed files
with
71 additions
and
9 deletions.
There are no files selected for viewing
53 changes: 53 additions & 0 deletions
53
app-crypt/hashcat/files/hashcat-6.0.0-missing-not-fatal.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
diff --git a/docs/changes.txt b/docs/changes.txt | ||
index 1527da46..420c2102 100644 | ||
--- a/docs/changes.txt | ||
+++ b/docs/changes.txt | ||
@@ -1,3 +1,11 @@ | ||
+* changes v6.0.0 -> v6.0.x | ||
+ | ||
+## | ||
+## Improvements | ||
+## | ||
+ | ||
+- OpenCL Runtime: Reinterpret return code CL_DEVICE_NOT_FOUND from clGetDeviceIDs() as non-fatal | ||
+ | ||
* changes v5.1.0 -> v6.0.0 | ||
|
||
## | ||
diff --git a/src/backend.c b/src/backend.c | ||
index 80fdbb38..7f79879f 100644 | ||
--- a/src/backend.c | ||
+++ b/src/backend.c | ||
@@ -5185,7 +5185,31 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx) | ||
{ | ||
event_log_error (hashcat_ctx, "clGetDeviceIDs(): %s", val2cstr_cl (CL_rc)); | ||
|
||
- return -1; | ||
+ // Special handling for CL_DEVICE_NOT_FOUND, see: https://github.com/hashcat/hashcat/issues/2455 | ||
+ | ||
+ #define IGNORE_DEVICE_NOT_FOUND 1 | ||
+ | ||
+ if (IGNORE_DEVICE_NOT_FOUND) | ||
+ { | ||
+ backend_ctx_t *backend_ctx = hashcat_ctx->backend_ctx; | ||
+ | ||
+ OCL_PTR *ocl = (OCL_PTR *) backend_ctx->ocl; | ||
+ | ||
+ const cl_int CL_err = ocl->clGetDeviceIDs (opencl_platform, CL_DEVICE_TYPE_ALL, DEVICES_MAX, opencl_platform_devices, &opencl_platform_devices_cnt); | ||
+ | ||
+ if (CL_err == CL_DEVICE_NOT_FOUND) | ||
+ { | ||
+ // we ignore this error | ||
+ } | ||
+ else | ||
+ { | ||
+ return -1; | ||
+ } | ||
+ } | ||
+ else | ||
+ { | ||
+ return -1; | ||
+ } | ||
} | ||
|
||
opencl_platforms_devices[opencl_platforms_idx] = opencl_platform_devices; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters