kunit: Don't use a managed alloc in is_literal()

There is no need to use a test-managed alloc in is_literal().
The function frees the temporary buffer before returning.

This removes the only use of the test and gfp members of
struct string_stream outside of the string_stream implementation.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Richard Fitzgerald 2023-08-28 11:41:06 +01:00 committed by Shuah Khan
parent 1f58cdb173
commit 7b4481cbe7
1 changed files with 6 additions and 8 deletions

View File

@ -89,8 +89,7 @@ void kunit_ptr_not_err_assert_format(const struct kunit_assert *assert,
EXPORT_SYMBOL_GPL(kunit_ptr_not_err_assert_format); EXPORT_SYMBOL_GPL(kunit_ptr_not_err_assert_format);
/* Checks if `text` is a literal representing `value`, e.g. "5" and 5 */ /* Checks if `text` is a literal representing `value`, e.g. "5" and 5 */
static bool is_literal(struct kunit *test, const char *text, long long value, static bool is_literal(const char *text, long long value)
gfp_t gfp)
{ {
char *buffer; char *buffer;
int len; int len;
@ -100,14 +99,15 @@ static bool is_literal(struct kunit *test, const char *text, long long value,
if (strlen(text) != len) if (strlen(text) != len)
return false; return false;
buffer = kunit_kmalloc(test, len+1, gfp); buffer = kmalloc(len+1, GFP_KERNEL);
if (!buffer) if (!buffer)
return false; return false;
snprintf(buffer, len+1, "%lld", value); snprintf(buffer, len+1, "%lld", value);
ret = strncmp(buffer, text, len) == 0; ret = strncmp(buffer, text, len) == 0;
kunit_kfree(test, buffer); kfree(buffer);
return ret; return ret;
} }
@ -125,14 +125,12 @@ void kunit_binary_assert_format(const struct kunit_assert *assert,
binary_assert->text->left_text, binary_assert->text->left_text,
binary_assert->text->operation, binary_assert->text->operation,
binary_assert->text->right_text); binary_assert->text->right_text);
if (!is_literal(stream->test, binary_assert->text->left_text, if (!is_literal(binary_assert->text->left_text, binary_assert->left_value))
binary_assert->left_value, stream->gfp))
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s == %lld (0x%llx)\n", string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s == %lld (0x%llx)\n",
binary_assert->text->left_text, binary_assert->text->left_text,
binary_assert->left_value, binary_assert->left_value,
binary_assert->left_value); binary_assert->left_value);
if (!is_literal(stream->test, binary_assert->text->right_text, if (!is_literal(binary_assert->text->right_text, binary_assert->right_value))
binary_assert->right_value, stream->gfp))
string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s == %lld (0x%llx)", string_stream_add(stream, KUNIT_SUBSUBTEST_INDENT "%s == %lld (0x%llx)",
binary_assert->text->right_text, binary_assert->text->right_text,
binary_assert->right_value, binary_assert->right_value,