diff options
author | Jan Kara <jack@suse.cz> | 2017-06-09 09:04:47 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2017-08-17 19:18:11 +0200 |
commit | cb8d01b4f624bbf34fd82cbca19e34a22d1eeef6 (patch) | |
tree | 7ad6c8bef10600d11d938cd65be3aaa26d6db06b | |
parent | 42fdb8583d5a7eaf916c7323fce6cb4728f364c4 (diff) | |
download | linux-cb8d01b4f624bbf34fd82cbca19e34a22d1eeef6.tar.bz2 |
quota: Fix error codes in v2_read_file_info()
v2_read_file_info() returned -1 instead of proper error codes on error.
Luckily this is not easily visible from userspace as we have called
->check_quota_file shortly before and thus already verified the quota
file is sane. Still set the error codes to proper values.
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r-- | fs/quota/quota_v2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/quota/quota_v2.c b/fs/quota/quota_v2.c index 373d7cfea5b0..21a8bdf7cfec 100644 --- a/fs/quota/quota_v2.c +++ b/fs/quota/quota_v2.c @@ -99,13 +99,13 @@ static int v2_read_file_info(struct super_block *sb, int type) down_read(&dqopt->dqio_sem); if (!v2_read_header(sb, type, &dqhead)) { - ret = -1; + ret = -EIO; goto out; } version = le32_to_cpu(dqhead.dqh_version); if ((info->dqi_fmt_id == QFMT_VFS_V0 && version != 0) || (info->dqi_fmt_id == QFMT_VFS_V1 && version != 1)) { - ret = -1; + ret = -EINVAL; goto out; } @@ -113,7 +113,7 @@ static int v2_read_file_info(struct super_block *sb, int type) sizeof(struct v2_disk_dqinfo), V2_DQINFOOFF); if (size != sizeof(struct v2_disk_dqinfo)) { quota_error(sb, "Can't read info structure"); - ret = -1; + ret = -EIO; goto out; } info->dqi_priv = kmalloc(sizeof(struct qtree_mem_dqinfo), GFP_NOFS); |