diff options
| author | Thorsten Blum <thorsten.blum@linux.dev> | 2026-05-18 09:38:45 +0200 |
|---|---|---|
| committer | Tyler Hicks <code@tyhicks.com> | 2026-06-04 14:15:08 -0500 |
| commit | 95ce5ffd54cf66098f91892f98606c3bd33846fe (patch) | |
| tree | ddee415430f0a5409746b06838707f3b57901233 | |
| parent | 4d97a37e2cedb008eb39354b2a4e2af9ae8bdbe7 (diff) | |
| download | linux-stable-95ce5ffd54cf66098f91892f98606c3bd33846fe.tar.gz linux-stable-95ce5ffd54cf66098f91892f98606c3bd33846fe.zip | |
ecryptfs: use kasprintf in ecryptfs_crypto_api_algify_cipher_name
Use kasprintf() to simplify ecryptfs_crypto_api_algify_cipher_name().
Use const char * for the read-only cipher name and chaining modifier
while at it.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Tyler Hicks <code@tyhicks.com>
| -rw-r--r-- | fs/ecryptfs/crypto.c | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index 5ef67b2674ee..74b02b55e3f6 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c @@ -49,25 +49,15 @@ void ecryptfs_from_hex(char *dst, char *src, int dst_size) } static int ecryptfs_crypto_api_algify_cipher_name(char **algified_name, - char *cipher_name, - char *chaining_modifier) + const char *cipher_name, + const 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; } /** |
