lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081016134112.GA8773@ubuntu>
Date:	Thu, 16 Oct 2008 21:41:12 +0800
From:	Jianjun Kong <jianjun@...ux.org>
To:	Tim Shimmin <tes@....com>
Cc:	stable@...nel.org, linux-kernel@...r.kernel.org, xfs@....sgi.com
Subject: Re: [PATCH] XFS fix remount rw with unrecognized options

On Thu, Oct 16, 2008 at 11:29:26AM +1100, Tim Shimmin wrote:
>Resending as I mangled sending the mail from home last time. Sorry.
>
>Please include the following patch for 2.6.27.1 stable release as
>suggested by Christoph Hellwig and Eric Sandeen.
>It fixes a regression in the recent remount recoding
>where remounting say from ro to rw allows the xfs flags to
>be out of sync with the vfs flags, resulting
>in failures for some programs such as touch (which end up calling xfs_setattr).
>The fix is a very minor and clear.
>
>Thanks,
>Tim.
>
>Date: Sun, 12 Oct 2008 14:30:44 +0200
>From: Christoph Hellwig <hch@....de>
>To: xfs@....sgi.com
>Subject: [PATCH] fix remount rw with unrecognized options
>
>When we skip unrecognized options in xfs_fs_remount we should just break
>out of the switch and not return because otherwise we may skip clearing
>the xfs-internal read-only flag.  This will only show up on some
>operations like touch because most read-only checks are done by the VFS
>which thinks this filesystem is r/w.  Eventually we should replace the
>XFS read-only flag with a helper that always checks the VFS flag to make
>sure they can never get out of sync.
>
>Bug reported and fix verified by Marcel Beister on #xfs.
>Bug fix verified by updated xfstests/189.
>
>Signed-off-by: Christoph Hellwig <hch@....de>
>Acked-by: Eric Sandeen <sandeen@...deen.net>
>Signed-off-by: Timothy Shimmin <tes@....com>
>
>Index: mainline/fs/xfs/linux-2.6/xfs_super.c
>===================================================================
>--- mainline.orig/fs/xfs/linux-2.6/xfs_super.c	2008-10-15 17:59:26.542652847 +1100
>+++ mainline/fs/xfs/linux-2.6/xfs_super.c	2008-10-15 17:59:45.376217172 +1100
>@@ -1323,7 +1323,7 @@ xfs_fs_remount(
> 	"XFS: mount option \"%s\" not supported for remount\n", p);
> 			return -EINVAL;
> #else
>-			return 0;
>+			break;
> #endif
> 		}
> 	}


And the code above "return 0" can not be executed, so delete them.
__________________________________________
#if 0
                        printk(KERN_INFO
        "XFS: mount option \"%s\" not supported for remount\n", p);
                        return -EINVAL;
#else                                                                                                            
                        return 0;
-----------------------------------------


Signed-off-by: Jianjun Kong <kongjianjun@...il.com>
---
 fs/xfs/linux-2.6/xfs_super.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index e390136..bd5ec81 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -1318,12 +1318,7 @@ xfs_fs_remount(
 			 * every remount request, and silently ignore all
 			 * options that we can't actually change.
 			 */
-#if 0
-			printk(KERN_INFO
-	"XFS: mount option \"%s\" not supported for remount\n", p);
-			return -EINVAL;
-#else
-			break;
+			break 0;
 #endif
 		}
 	}
-- 
1.5.2.5



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ