Explorar o código

missing unlock in jfs_quota_write()

We should unlock &inode->i_mutex on the error path.  This bug was
in ext2_quota_write().  I sent a patch to them today as well.

Found by smatch (http://repo.or.cz/w/smatch.git).  Compile tested.

regards,
dan carpenter

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Dan Carpenter %!s(int64=16) %!d(string=hai) anos
pai
achega
9c83633ad3
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      fs/jfs/super.c

+ 3 - 1
fs/jfs/super.c

@@ -720,8 +720,10 @@ static ssize_t jfs_quota_write(struct super_block *sb, int type,
 		blk++;
 		blk++;
 	}
 	}
 out:
 out:
-	if (len == towrite)
+	if (len == towrite) {
+		mutex_unlock(&inode->i_mutex);
 		return err;
 		return err;
+	}
 	if (inode->i_size < off+len-towrite)
 	if (inode->i_size < off+len-towrite)
 		i_size_write(inode, off+len-towrite);
 		i_size_write(inode, off+len-towrite);
 	inode->i_version++;
 	inode->i_version++;