ext4: fix oops in ext4_quota_off()
authorAmir Goldstein <amir73il@gmail.com>
Mon, 16 May 2011 13:59:13 +0000 (09:59 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 16 May 2011 13:59:13 +0000 (09:59 -0400)
If quota is not enabled when ext4_quota_off() is called, we must not
dereference quota file inode since it is NULL.  Check properly for
this.

This fixes a bug in commit 21f976975cbe (ext4: remove unnecessary
[cm]time update of quota file), which was merged for 2.6.39-rc3.

Reported-by: Amir Goldstein <amir73il@users.sf.net>
Signed-off-by: Amir Goldstein <amir73il@users.sf.net>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/super.c

index fc827bb2a69b4ebdd8dbe618fc20e4e7d4080db5..26893511825182bafa7f83784c183012457e3f1c 100644 (file)
@@ -4681,6 +4681,9 @@ static int ext4_quota_off(struct super_block *sb, int type)
        if (test_opt(sb, DELALLOC))
                sync_filesystem(sb);
 
+       if (!inode)
+               goto out;
+
        /* Update modification times of quota files when userspace can
         * start looking at them */
        handle = ext4_journal_start(inode, 1);