| 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> |
|---|---|---|
| ||
| Previous by Date: | new xfsqa mismatches, Christoph Hellwig |
|---|---|
| Next by Date: | Re: [Patch] Remove xlog_ticket allocator, Christoph Hellwig |
| Previous by Thread: | new xfsqa mismatches, Christoph Hellwig |
| Next by Thread: | Re: [PATCH] don't validate symlink target component length, David Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |