From 7c1fdfa84db1b998be8a94866acdf1996dc3201c Mon Sep 17 00:00:00 2001 From: philsmd Date: Wed, 8 Jun 2022 15:33:25 +0200 Subject: [PATCH] GID_CNT wasn't checked in some kernel functions --- OpenCL/m01500_a3-pure.cl | 2 ++ OpenCL/m03000_a3-pure.cl | 2 ++ OpenCL/m14000_a3-pure.cl | 6 ++++++ OpenCL/m15400_a1-optimized.cl | 5 +++-- OpenCL/m15400_a3-optimized.cl | 4 ++++ OpenCL/m29200_a0-pure.cl | 4 ++++ OpenCL/m29200_a1-pure.cl | 4 ++++ OpenCL/m29200_a3-pure.cl | 4 ++++ 8 files changed, 29 insertions(+), 2 deletions(-) diff --git a/OpenCL/m01500_a3-pure.cl b/OpenCL/m01500_a3-pure.cl index 2b26036fb..6d32ec57d 100644 --- a/OpenCL/m01500_a3-pure.cl +++ b/OpenCL/m01500_a3-pure.cl @@ -1889,6 +1889,8 @@ KERNEL_FQ void m01500_tm (KERN_ATTR_TM) { const u64 gid = get_global_id (0); + // if (gid >= GID_CNT) return; + const u32 block = gid / 32; const u32 slice = gid % 32; diff --git a/OpenCL/m03000_a3-pure.cl b/OpenCL/m03000_a3-pure.cl index 74716d0d4..15c24a43e 100644 --- a/OpenCL/m03000_a3-pure.cl +++ b/OpenCL/m03000_a3-pure.cl @@ -1734,6 +1734,8 @@ KERNEL_FQ void m03000_tm (KERN_ATTR_TM) { const u64 gid = get_global_id (0); + // if (gid >= GID_CNT) return; + const u32 block = gid / 32; const u32 slice = gid % 32; diff --git a/OpenCL/m14000_a3-pure.cl b/OpenCL/m14000_a3-pure.cl index feb961f68..6b020b286 100644 --- a/OpenCL/m14000_a3-pure.cl +++ b/OpenCL/m14000_a3-pure.cl @@ -1734,6 +1734,8 @@ KERNEL_FQ void m14000_tm (KERN_ATTR_TM) { const u64 gid = get_global_id (0); + // if (gid >= GID_CNT) return; + const u32 block = gid / 32; const u32 slice = gid % 32; @@ -1763,6 +1765,8 @@ KERNEL_FQ void m14000_mxx (KERN_ATTR_BITSLICE ()) const u64 gid = get_global_id (0); const u64 lid = get_local_id (0); + if (gid >= GID_CNT) return; + /** * salt */ @@ -2205,6 +2209,8 @@ KERNEL_FQ void m14000_sxx (KERN_ATTR_BITSLICE ()) const u64 gid = get_global_id (0); const u64 lid = get_local_id (0); + if (gid >= GID_CNT) return; + /** * salt */ diff --git a/OpenCL/m15400_a1-optimized.cl b/OpenCL/m15400_a1-optimized.cl index 542c68ddd..cf9017ce6 100644 --- a/OpenCL/m15400_a1-optimized.cl +++ b/OpenCL/m15400_a1-optimized.cl @@ -245,6 +245,8 @@ KERNEL_FQ void m15400_m04 (KERN_ATTR_ESALT (chacha20_t)) const u64 gid = get_global_id (0); const u64 lid = get_local_id (0); + if (gid >= GID_CNT) return; + u32 pw_buf0[4]; u32 pw_buf1[4]; @@ -369,9 +371,8 @@ KERNEL_FQ void m15400_s04 (KERN_ATTR_ESALT (chacha20_t)) * modifier */ - const u64 lid = get_local_id (0); - const u64 gid = get_global_id (0); + const u64 lid = get_local_id (0); if (gid >= GID_CNT) return; diff --git a/OpenCL/m15400_a3-optimized.cl b/OpenCL/m15400_a3-optimized.cl index a5890554c..2eaa0ea40 100644 --- a/OpenCL/m15400_a3-optimized.cl +++ b/OpenCL/m15400_a3-optimized.cl @@ -255,6 +255,8 @@ KERNEL_FQ void m15400_m16 (KERN_ATTR_VECTOR_ESALT (chacha20_t)) const u64 gid = get_global_id (0); const u64 lid = get_local_id (0); + if (gid >= GID_CNT) return; + u32 w0[4]; u32 w1[4]; @@ -343,6 +345,8 @@ KERNEL_FQ void m15400_s16 (KERN_ATTR_VECTOR_ESALT (chacha20_t)) const u64 gid = get_global_id (0); const u64 lid = get_local_id (0); + if (gid >= GID_CNT) return; + u32 w0[4]; u32 w1[4]; diff --git a/OpenCL/m29200_a0-pure.cl b/OpenCL/m29200_a0-pure.cl index 1ebc075b2..14ba128db 100644 --- a/OpenCL/m29200_a0-pure.cl +++ b/OpenCL/m29200_a0-pure.cl @@ -40,6 +40,8 @@ KERNEL_FQ void m29200_mxx (KERN_ATTR_RULES_ESALT (radmin3_t)) const u64 gid = get_global_id (0); + if (gid >= GID_CNT) return; + /** * base @@ -294,6 +296,8 @@ KERNEL_FQ void m29200_sxx (KERN_ATTR_RULES_ESALT (radmin3_t)) const u64 gid = get_global_id (0); + if (gid >= GID_CNT) return; + /** * digest diff --git a/OpenCL/m29200_a1-pure.cl b/OpenCL/m29200_a1-pure.cl index d5d8e7fb6..b1f77fe60 100644 --- a/OpenCL/m29200_a1-pure.cl +++ b/OpenCL/m29200_a1-pure.cl @@ -38,6 +38,8 @@ KERNEL_FQ void m29200_mxx (KERN_ATTR_ESALT (radmin3_t)) const u64 gid = get_global_id (0); + if (gid >= GID_CNT) return; + /** * base @@ -297,6 +299,8 @@ KERNEL_FQ void m29200_sxx (KERN_ATTR_ESALT (radmin3_t)) const u64 gid = get_global_id (0); + if (gid >= GID_CNT) return; + /** * digest diff --git a/OpenCL/m29200_a3-pure.cl b/OpenCL/m29200_a3-pure.cl index a1132f1e5..548570203 100644 --- a/OpenCL/m29200_a3-pure.cl +++ b/OpenCL/m29200_a3-pure.cl @@ -38,6 +38,8 @@ KERNEL_FQ void m29200_mxx (KERN_ATTR_VECTOR_ESALT (radmin3_t)) const u64 gid = get_global_id (0); + if (gid >= GID_CNT) return; + /** * base @@ -304,6 +306,8 @@ KERNEL_FQ void m29200_sxx (KERN_ATTR_VECTOR_ESALT (radmin3_t)) const u64 gid = get_global_id (0); + if (gid >= GID_CNT) return; + /** * digest