2004-04-16 21:35:30

by Dave Jones

[permalink] [raw]
Subject: dqout dereference bug

--- linux-2.6.5/fs/dquot.c~ 2004-04-16 22:30:05.000000000 +0100
+++ linux-2.6.5/fs/dquot.c 2004-04-16 22:30:48.000000000 +0100
@@ -1145,11 +1145,13 @@
int vfs_quota_off(struct super_block *sb, int type)
{
int cnt;
- struct quota_info *dqopt = sb_dqopt(sb);
+ struct quota_info *dqopt;

if (!sb)
goto out;

+ dqopt = sb_dqopt(sb);
+
/* We need to serialize quota_off() for device */
down(&dqopt->dqonoff_sem);
for (cnt = 0; cnt < MAXQUOTAS; cnt++) {


2004-04-19 13:11:51

by Jan Kara

[permalink] [raw]
Subject: Re: dqout dereference bug

Yes, the patch is right. The case sb == NULL should not happen but
it's always good to have clean code :). Linus/Andrew please apply.

Honza
--
Jan Kara <[email protected]>
SuSE CR Labs


--- linux-2.6.5/fs/dquot.c~ 2004-04-16 22:30:05.000000000 +0100
+++ linux-2.6.5/fs/dquot.c 2004-04-16 22:30:48.000000000 +0100
@@ -1145,11 +1145,13 @@
int vfs_quota_off(struct super_block *sb, int type)
{
int cnt;
- struct quota_info *dqopt = sb_dqopt(sb);
+ struct quota_info *dqopt;

if (!sb)
goto out;

+ dqopt = sb_dqopt(sb);
+
/* We need to serialize quota_off() for device */
down(&dqopt->dqonoff_sem);
for (cnt = 0; cnt < MAXQUOTAS; cnt++) {