Signed-off-by: Eric Biggers <ebigge...@gmail.com>
---
 fs/crypto/fname.c | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/fs/crypto/fname.c b/fs/crypto/fname.c
index cd0eae8..e5c6959 100644
--- a/fs/crypto/fname.c
+++ b/fs/crypto/fname.c
@@ -14,11 +14,6 @@
 #include <linux/ratelimit.h>
 #include <linux/fscrypto.h>
 
-static u32 size_round_up(size_t size, size_t blksize)
-{
-       return ((size + blksize - 1) / blksize) * blksize;
-}
-
 /**
  * fname_crypt_complete() - The completion callback for filename encryption and
  *                         decryption
@@ -61,10 +56,9 @@ static int fname_encrypt(struct inode *inode,
        if (iname->len <= 0 || iname->len > lim)
                return -EIO;
 
-       ciphertext_len = (iname->len < FS_CRYPTO_BLOCK_SIZE) ?
-                                       FS_CRYPTO_BLOCK_SIZE : iname->len;
-       ciphertext_len = size_round_up(ciphertext_len, padding);
-       ciphertext_len = (ciphertext_len > lim) ? lim : ciphertext_len;
+       ciphertext_len = max_t(u32, iname->len, FS_CRYPTO_BLOCK_SIZE);
+       ciphertext_len = round_up(ciphertext_len, padding);
+       ciphertext_len = min(ciphertext_len, lim);
 
        if (ciphertext_len <= sizeof(buf)) {
                workbuf = buf;
@@ -235,9 +229,8 @@ u32 fscrypt_fname_encrypted_size(struct inode *inode, u32 
ilen)
 
        if (ci)
                padding = 4 << (ci->ci_flags & FS_POLICY_FLAGS_PAD_MASK);
-       if (ilen < FS_CRYPTO_BLOCK_SIZE)
-               ilen = FS_CRYPTO_BLOCK_SIZE;
-       return size_round_up(ilen, padding);
+       ilen = max_t(u32, ilen, FS_CRYPTO_BLOCK_SIZE);
+       return round_up(ilen, padding);
 }
 EXPORT_SYMBOL(fscrypt_fname_encrypted_size);
 
-- 
2.7.4

Reply via email to