]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- revert xfs link mem corruption fix; waiting for some form to be commited upstream
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 7 Nov 2011 16:26:09 +0000 (16:26 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    kernel-small_fixes.patch -> 1.46

kernel-small_fixes.patch

index cc9d901e5f6fbcba8071d2dbd5026c95f1b20533..d9ab7f775360561833ac455b5bf223438aad7f19 100644 (file)
@@ -153,50 +153,6 @@ Please read the FAQ at  http://www.tux.org/lkml/
                done
 
 
-Fixes a possible memory corruption when the link is larger than
-MAXPATHLEN and XFS_DEBUG is not enabled. This also remove the
-S_ISLNK assert, since the inode mode is checked previously in
-xfs_readlink_by_handle() and via VFS.
-
-Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
----
- fs/xfs/xfs_vnodeops.c |   11 ++++++++---
- 1 files changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
-index 51fc429..c3288be 100644
---- a/fs/xfs/xfs_vnodeops.c
-+++ b/fs/xfs/xfs_vnodeops.c
-@@ -123,13 +123,18 @@ xfs_readlink(
-       xfs_ilock(ip, XFS_ILOCK_SHARED);
--      ASSERT(S_ISLNK(ip->i_d.di_mode));
--      ASSERT(ip->i_d.di_size <= MAXPATHLEN);
--
-       pathlen = ip->i_d.di_size;
-       if (!pathlen)
-               goto out;
-+      if (pathlen > MAXPATHLEN) {
-+              xfs_alert(mp, "%s: inode (%llu) symlink length (%d) too long",
-+                       __func__, (unsigned long long)ip->i_ino, pathlen);
-+              ASSERT(0);
-+              return XFS_ERROR(EFSCORRUPTED);
-+      }
-+
-+
-       if (ip->i_df.if_flags & XFS_IFINLINE) {
-               memcpy(link, ip->i_df.if_u1.if_data, pathlen);
-               link[pathlen] = '\0';
--- 
-1.7.6.2
-
-_______________________________________________
-xfs mailing list
-xfs@oss.sgi.com
-http://oss.sgi.com/mailman/listinfo/xfs
-
 An integer overflow will happen on 64bit archs if task's sum of rss, swapents
 and nr_ptes exceeds (2^31)/1000 value. This was introduced by commit
 
This page took 0.254583 seconds and 4 git commands to generate.