[PATCH] ext3: Wrong return value for EXT3_IOC_GROUP_ADD

From: Glauber de Oliveira Costa
Date: Fri Nov 25 2005 - 14:07:38 EST


This patch corrects the return value for the EXT3_IOC_GROUP_ADD in case
it fails due to the presence of multiple resizers at the filesystem.

The problem is a little bit more serious than a wrong return value in
this case, since the clause err=0 in the exit_journal path will lead to
a call to update_backups which in turns causes a NULL pointer
dereference.

Signed-off-by: Glauber de Oliveira Costa <glommer@xxxxxxxxxx>



--- linux-2.6.14.2-orig/fs/ext3/resize.c 2005-11-25 15:47:41.000000000 +0000
+++ linux-2.6.14.2-orig/fs/ext3/resize-ret.c 2005-11-25 15:49:20.000000000 +0000
@@ -757,6 +757,7 @@ int ext3_group_add(struct super_block *s
if (input->group != EXT3_SB(sb)->s_groups_count) {
ext3_warning(sb, __FUNCTION__,
"multiple resizers run on filesystem!\n");
+ err = -EBUSY;
goto exit_journal;
}