]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
SUNRPC: Replace KUnit tests for memcmp() with KUNIT_EXPECT_MEMEQ_MSG()
authorRyota Sakamoto <sakamo.ryota@gmail.com>
Sat, 24 Jan 2026 05:17:19 +0000 (14:17 +0900)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 30 Mar 2026 01:25:09 +0000 (21:25 -0400)
Replace KUnit tests for memcmp() with KUNIT_EXPECT_MEMEQ_MSG() to improve
debugging that prints the hex dump of the buffers when the assertion fails,
whereas memcmp() only returns an integer difference.

Signed-off-by: Ryota Sakamoto <sakamo.ryota@gmail.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
net/sunrpc/auth_gss/gss_krb5_test.c

index a5bff02cd7ba48c75a6d270b6584c0f23cb71380..dde1ee934d0d448fe558a633e3d729c490ea26ae 100644 (file)
@@ -63,10 +63,11 @@ static void kdf_case(struct kunit *test)
        KUNIT_ASSERT_EQ(test, err, 0);
 
        /* Assert */
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->expected_result->data,
-                                  derivedkey.data, derivedkey.len), 0,
-                           "key mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->expected_result->data,
+                              derivedkey.data,
+                              derivedkey.len,
+                              "key mismatch");
 }
 
 static void checksum_case(struct kunit *test)
@@ -111,10 +112,11 @@ static void checksum_case(struct kunit *test)
        KUNIT_ASSERT_EQ(test, err, 0);
 
        /* Assert */
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->expected_result->data,
-                                  checksum.data, checksum.len), 0,
-                           "checksum mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->expected_result->data,
+                              checksum.data,
+                              checksum.len,
+                              "checksum mismatch");
 
        crypto_free_ahash(tfm);
 }
@@ -314,10 +316,11 @@ static void rfc3961_nfold_case(struct kunit *test)
                   param->expected_result->len * 8, result);
 
        /* Assert */
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->expected_result->data,
-                                  result, param->expected_result->len), 0,
-                           "result mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->expected_result->data,
+                              result,
+                              param->expected_result->len,
+                              "result mismatch");
 }
 
 static struct kunit_case rfc3961_test_cases[] = {
@@ -569,14 +572,16 @@ static void rfc3962_encrypt_case(struct kunit *test)
        KUNIT_EXPECT_EQ_MSG(test,
                            param->expected_result->len, buf.len,
                            "ciphertext length mismatch");
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->expected_result->data,
-                                  text, param->expected_result->len), 0,
-                           "ciphertext mismatch");
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->next_iv->data, iv,
-                                  param->next_iv->len), 0,
-                           "IV mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->expected_result->data,
+                              text,
+                              param->expected_result->len,
+                              "ciphertext mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->next_iv->data,
+                              iv,
+                              param->next_iv->len,
+                              "IV mismatch");
 
        crypto_free_sync_skcipher(cts_tfm);
        crypto_free_sync_skcipher(cbc_tfm);
@@ -1194,15 +1199,17 @@ static void rfc6803_encrypt_case(struct kunit *test)
        KUNIT_EXPECT_EQ_MSG(test, param->expected_result->len,
                            buf.len + checksum.len,
                            "ciphertext length mismatch");
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->expected_result->data,
-                                  buf.head[0].iov_base, buf.len), 0,
-                           "encrypted result mismatch");
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->expected_result->data +
-                                  (param->expected_result->len - checksum.len),
-                                  checksum.data, checksum.len), 0,
-                           "HMAC mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->expected_result->data,
+                              buf.head[0].iov_base,
+                              buf.len,
+                              "encrypted result mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->expected_result->data +
+                                       (param->expected_result->len - checksum.len),
+                              checksum.data,
+                              checksum.len,
+                              "HMAC mismatch");
 
        crypto_free_ahash(ahash_tfm);
        crypto_free_sync_skcipher(cts_tfm);
@@ -1687,15 +1694,16 @@ static void rfc8009_encrypt_case(struct kunit *test)
        KUNIT_EXPECT_EQ_MSG(test,
                            param->expected_result->len, buf.len,
                            "ciphertext length mismatch");
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->expected_result->data,
-                                  buf.head[0].iov_base,
-                                  param->expected_result->len), 0,
-                           "ciphertext mismatch");
-       KUNIT_EXPECT_EQ_MSG(test, memcmp(param->expected_hmac->data,
-                                        checksum.data,
-                                        checksum.len), 0,
-                           "HMAC mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->expected_result->data,
+                              buf.head[0].iov_base,
+                              param->expected_result->len,
+                              "ciphertext mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->expected_hmac->data,
+                              checksum.data,
+                              checksum.len,
+                              "HMAC mismatch");
 
        crypto_free_ahash(ahash_tfm);
        crypto_free_sync_skcipher(cts_tfm);
@@ -1826,10 +1834,11 @@ static void encrypt_selftest_case(struct kunit *test)
        KUNIT_EXPECT_EQ_MSG(test,
                            param->plaintext->len, buf.len,
                            "length mismatch");
-       KUNIT_EXPECT_EQ_MSG(test,
-                           memcmp(param->plaintext->data,
-                                  buf.head[0].iov_base, buf.len), 0,
-                           "plaintext mismatch");
+       KUNIT_EXPECT_MEMEQ_MSG(test,
+                              param->plaintext->data,
+                              buf.head[0].iov_base,
+                              buf.len,
+                              "plaintext mismatch");
 
        crypto_free_sync_skcipher(cts_tfm);
        crypto_free_sync_skcipher(cbc_tfm);