Skip to content

Commit

Permalink
[XFS] Don't validate symlink target component length
Browse files Browse the repository at this point in the history
This target component validation is not POSIX conformant and it is not
done by any other Linux filesystem so remove it from XFS.

SGI-PV: 980080
SGI-Modid: xfs-linux-melb:xfs-kern:30776a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
  • Loading branch information
Christoph Hellwig authored and Lachlan McIlroy committed Apr 18, 2008
1 parent 34a622b commit b6ddc4e
Showing 1 changed file with 0 additions and 25 deletions.
25 changes: 0 additions & 25 deletions fs/xfs/xfs_vnodeops.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit b6ddc4e

Please sign in to comment.