[PATCH] ecryptfs: Simplify ecryptfs_crypto_api_algify_cipher_name()

From: Christophe JAILLET
Date: Mon Oct 30 2023 - 09:27:43 EST


Use kasprintf() instead of hand writing it.
It is much less verbose.

Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
---
fs/ecryptfs/crypto.c | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
index 044863c0d824..00d795658cf5 100644
--- a/fs/ecryptfs/crypto.c
+++ b/fs/ecryptfs/crypto.c
@@ -23,6 +23,7 @@
#include <linux/slab.h>
#include <asm/unaligned.h>
#include <linux/kernel.h>
+#include <linux/sprintf.h>
#include <linux/xattr.h>
#include "ecryptfs_kernel.h"

@@ -78,22 +79,12 @@ static int ecryptfs_crypto_api_algify_cipher_name(char **algified_name,
char *cipher_name,
char *chaining_modifier)
{
- int cipher_name_len = strlen(cipher_name);
- int chaining_modifier_len = strlen(chaining_modifier);
- int algified_name_len;
- int rc;
+ *algified_name = kasprintf(GFP_KERNEL, "%s(%s)",
+ chaining_modifier, cipher_name);
+ if (!(*algified_name))
+ return -ENOMEM;

- algified_name_len = (chaining_modifier_len + cipher_name_len + 3);
- (*algified_name) = kmalloc(algified_name_len, GFP_KERNEL);
- if (!(*algified_name)) {
- rc = -ENOMEM;
- goto out;
- }
- snprintf((*algified_name), algified_name_len, "%s(%s)",
- chaining_modifier, cipher_name);
- rc = 0;
-out:
- return rc;
+ return 0;
}

/**
--
2.34.1