Commit a1f6bbf6b0 for openssl.org

commit a1f6bbf6b0eb5bd15569b225bb0bd443fa879c9c
Author: Bernd Edlinger <bernd.edlinger@hotmail.de>
Date:   Tue Sep 16 17:18:33 2025 +0200

    Fix logic errors in torture_rw_high/low test

    "old" was never assigned anything and the first
    assignment to "*iterations" in the loop was superfluous.

    Reviewed-by: Neil Horman <nhorman@openssl.org>
    Reviewed-by: Tomas Mraz <tomas@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/28574)

diff --git a/test/threadstest.c b/test/threadstest.c
index f8969032fe..c796300e6c 100644
--- a/test/threadstest.c
+++ b/test/threadstest.c
@@ -183,13 +183,16 @@ static void rwreader_fn(int *iterations)
         CRYPTO_atomic_add(&rwwriter2_done, 0, &lw2, atomiclock);

         count++;
-        if (rwwriter_ptr != NULL && old > *rwwriter_ptr) {
-            TEST_info("rwwriter pointer went backwards\n");
-            rw_torture_result = 0;
+        if (rwwriter_ptr != NULL) {
+            if (old > *rwwriter_ptr) {
+                TEST_info("rwwriter pointer went backwards! %d : %d\n",
+                          old, *rwwriter_ptr);
+                rw_torture_result = 0;
+            }
+            old = *rwwriter_ptr;
         }
         if (CRYPTO_THREAD_unlock(rwtorturelock) == 0)
             abort();
-        *iterations = count;
         if (rw_torture_result == 0) {
             *iterations = count;
             return;