mirror of https://gitee.com/openkylin/linux.git
quota: Fix WARN_ON in lookup_one_len
We should hold i_mutex when looking up quota files for journaled quotas, otherwise a WARN_ON in lookup_one_len triggers. The fact that we didn't hold i_mutex previously probably could not lead to a real bug since the filesystem is just being mounted / remounted read-write and thus the root directory cannot change anyway but it's definitely cleaner with i_mutex. Reported-by: Bastien ROUCARIES <roucaries.bastien@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
1472da5fdc
commit
c56818d7dc
|
@ -2164,7 +2164,9 @@ int vfs_quota_on_mount(struct super_block *sb, char *qf_name,
|
||||||
struct dentry *dentry;
|
struct dentry *dentry;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
|
mutex_lock(&sb->s_root->d_inode->i_mutex);
|
||||||
dentry = lookup_one_len(qf_name, sb->s_root, strlen(qf_name));
|
dentry = lookup_one_len(qf_name, sb->s_root, strlen(qf_name));
|
||||||
|
mutex_unlock(&sb->s_root->d_inode->i_mutex);
|
||||||
if (IS_ERR(dentry))
|
if (IS_ERR(dentry))
|
||||||
return PTR_ERR(dentry);
|
return PTR_ERR(dentry);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue