packages: kernel/kernel-small_fixes.patch - revert xfs link mem corruption ...

arekm arekm at pld-linux.org
Mon Nov 7 17:26:14 CET 2011


Author: arekm                        Date: Mon Nov  7 16:26:14 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- revert xfs link mem corruption fix; waiting for some form to be commited upstream

---- Files affected:
packages/kernel:
   kernel-small_fixes.patch (1.45 -> 1.46) 

---- Diffs:

================================================================
Index: packages/kernel/kernel-small_fixes.patch
diff -u packages/kernel/kernel-small_fixes.patch:1.45 packages/kernel/kernel-small_fixes.patch:1.46
--- packages/kernel/kernel-small_fixes.patch:1.45	Mon Oct 31 22:37:12 2011
+++ packages/kernel/kernel-small_fixes.patch	Mon Nov  7 17:26:09 2011
@@ -153,50 +153,6 @@
  		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 at 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 at 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
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-small_fixes.patch?r1=1.45&r2=1.46&f=u



More information about the pld-cvs-commit mailing list