30 was used all over the place to compare name length against
AFFS maximum name length.

Cc: Andrew Morton <a...@linux-foundation.org>
Signed-off-by: Fabian Frederick <f...@skynet.be>
---
v2:
   use 30U instead of 30 to solve min() interpretation
   (suggested by Andrew Morton)

 fs/affs/affs.h     |  2 ++
 fs/affs/amigaffs.c |  6 +++---
 fs/affs/dir.c      |  3 ++-
 fs/affs/namei.c    | 16 ++++++++--------
 fs/affs/super.c    |  2 +-
 5 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/fs/affs/affs.h b/fs/affs/affs.h
index ff44ff3..c8764bd 100644
--- a/fs/affs/affs.h
+++ b/fs/affs/affs.h
@@ -30,6 +30,8 @@
 #define AFFS_AC_SIZE           (AFFS_CACHE_SIZE/sizeof(struct affs_ext_key)/2)
 #define AFFS_AC_MASK           (AFFS_AC_SIZE-1)
 
+#define AFFSNAMEMAX 30U
+
 struct affs_ext_key {
        u32     ext;                            /* idx of the extended block */
        u32     key;                            /* block number */
diff --git a/fs/affs/amigaffs.c b/fs/affs/amigaffs.c
index 0836f6f..118d782 100644
--- a/fs/affs/amigaffs.c
+++ b/fs/affs/amigaffs.c
@@ -483,11 +483,11 @@ affs_check_name(const unsigned char *name, int len, bool 
notruncate)
 {
        int      i;
 
-       if (len > 30) {
+       if (len > AFFSNAMEMAX) {
                if (notruncate)
                        return -ENAMETOOLONG;
                else
-                       len = 30;
+                       len = AFFSNAMEMAX;
        }
        for (i = 0; i < len; i++) {
                if (name[i] < ' ' || name[i] == ':'
@@ -508,7 +508,7 @@ affs_check_name(const unsigned char *name, int len, bool 
notruncate)
 int
 affs_copy_name(unsigned char *bstr, struct dentry *dentry)
 {
-       u32 len = min(dentry->d_name.len, 30u);
+       u32 len = min(dentry->d_name.len, AFFSNAMEMAX);
 
        *bstr++ = len;
        memcpy(bstr, dentry->d_name.name, len);
diff --git a/fs/affs/dir.c b/fs/affs/dir.c
index a682892..ac4f318 100644
--- a/fs/affs/dir.c
+++ b/fs/affs/dir.c
@@ -114,7 +114,8 @@ inside:
                                break;
                        }
 
-                       namelen = min(AFFS_TAIL(sb, fh_bh)->name[0], (u8)30);
+                       namelen = min(AFFS_TAIL(sb, fh_bh)->name[0],
+                                     (u8)AFFSNAMEMAX);
                        name = AFFS_TAIL(sb, fh_bh)->name + 1;
                        pr_debug("readdir(): dir_emit(\"%.*s\", ino=%u), 
hash=%d, f_pos=%llx\n",
                                 namelen, name, ino, hash_pos, ctx->pos);
diff --git a/fs/affs/namei.c b/fs/affs/namei.c
index 66c6cb3..ffb7bd8 100644
--- a/fs/affs/namei.c
+++ b/fs/affs/namei.c
@@ -72,7 +72,7 @@ __affs_hash_dentry(struct qstr *qstr, toupper_t toupper, bool 
notruncate)
                return retval;
 
        hash = init_name_hash();
-       len = min(qstr->len, 30u);
+       len = min(qstr->len, AFFSNAMEMAX);
        for (; len > 0; name++, len--)
                hash = partial_name_hash(toupper(*name), hash);
        qstr->hash = end_name_hash(hash);
@@ -115,10 +115,10 @@ static inline int __affs_compare_dentry(unsigned int len,
         * If the names are longer than the allowed 30 chars,
         * the excess is ignored, so their length may differ.
         */
-       if (len >= 30) {
-               if (name->len < 30)
+       if (len >= AFFSNAMEMAX) {
+               if (name->len < AFFSNAMEMAX)
                        return 1;
-               len = 30;
+               len = AFFSNAMEMAX;
        } else if (len != name->len)
                return 1;
 
@@ -157,10 +157,10 @@ affs_match(struct dentry *dentry, const u8 *name2, 
toupper_t toupper)
        const u8 *name = dentry->d_name.name;
        int len = dentry->d_name.len;
 
-       if (len >= 30) {
-               if (*name2 < 30)
+       if (len >= AFFSNAMEMAX) {
+               if (*name2 < AFFSNAMEMAX)
                        return 0;
-               len = 30;
+               len = AFFSNAMEMAX;
        } else if (len != *name2)
                return 0;
 
@@ -176,7 +176,7 @@ affs_hash_name(struct super_block *sb, const u8 *name, 
unsigned int len)
        toupper_t toupper = affs_get_toupper(sb);
        u32 hash;
 
-       hash = len = min(len, 30u);
+       hash = len = min(len, AFFSNAMEMAX);
        for (; len > 0; len--)
                hash = (hash * 13 + toupper(*name++)) & 0x7ff;
 
diff --git a/fs/affs/super.c b/fs/affs/super.c
index ee8eca7..c3524bf 100644
--- a/fs/affs/super.c
+++ b/fs/affs/super.c
@@ -584,7 +584,7 @@ affs_statfs(struct dentry *dentry, struct kstatfs *buf)
        buf->f_bavail  = free;
        buf->f_fsid.val[0] = (u32)id;
        buf->f_fsid.val[1] = (u32)(id >> 32);
-       buf->f_namelen = 30;
+       buf->f_namelen = AFFSNAMEMAX;
        return 0;
 }
 
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to