xfs
[Top] [All Lists]

[PATCH] don't validate symlink target component length

To: xfs@xxxxxxxxxxx
Subject: [PATCH] don't validate symlink target component length
From: Christoph Hellwig <hch@xxxxxx>
Date: Mon, 7 Apr 2008 11:57:45 +0200
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
This validtion is not posix conform and no other Linux filesystem does
it.


Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: linux-2.6-xfs/fs/xfs/xfs_vnodeops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vnodeops.c    2008-04-07 09:33:21.000000000 
+0200
+++ linux-2.6-xfs/fs/xfs/xfs_vnodeops.c 2008-04-07 09:34:25.000000000 +0200
@@ -3105,31 +3105,6 @@ xfs_symlink(
        pathlen = strlen(target_path);
        if (pathlen >= MAXPATHLEN)      /* total string too long */
                return XFS_ERROR(ENAMETOOLONG);
-       if (pathlen >= MAXNAMELEN) {    /* is any component too long? */
-               int len, total;
-               char *path;
-
-               for (total = 0, path = target_path; total < pathlen;) {
-                       /*
-                        * Skip any slashes.
-                        */
-                       while(*path == '/') {
-                               total++;
-                               path++;
-                       }
-
-                       /*
-                        * Count up to the next slash or end of path.
-                        * Error out if the component is bigger than MAXNAMELEN.
-                        */
-                       for(len = 0; *path != '/' && total < pathlen;total++, 
path++) {
-                               if (++len >= MAXNAMELEN) {
-                                       error = ENAMETOOLONG;
-                                       return error;
-                               }
-                       }
-               }
-       }
 
        if (DM_EVENT_ENABLED(dp, DM_EVENT_SYMLINK)) {
                error = XFS_SEND_NAMESP(mp, DM_EVENT_SYMLINK, dp,


<Prev in Thread] Current Thread [Next in Thread>