diff options
author | Seth Forshee <seth.forshee@canonical.com> | 2016-05-05 10:52:38 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2016-05-05 10:52:38 -0400 |
commit | ff0bc08454917964291f72ee5b8eca66de4bc250 (patch) | |
tree | 8293c7b58cf4a690da807a37c7bb281dc7723536 | |
parent | 7827a7f6ebfcb7f388dc47fddd48567a314701ba (diff) |
ext4: fix check of dqget() return value in ext4_ioctl_setproject()
A failed call to dqget() returns an ERR_PTR() and not null. Fix
the check in ext4_ioctl_setproject() to handle this correctly.
Fixes: 9b7365fc1c82 ("ext4: add FS_IOC_FSSETXATTR/FS_IOC_FSGETXATTR interface support")
Cc: stable@vger.kernel.org # v4.5
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
-rw-r--r-- | fs/ext4/ioctl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index eae5917c534e..0acf8cacb2be 100644 --- a/fs/ext4/ioctl.c +++ b/fs/ext4/ioctl.c | |||
@@ -365,7 +365,7 @@ static int ext4_ioctl_setproject(struct file *filp, __u32 projid) | |||
365 | struct dquot *transfer_to[MAXQUOTAS] = { }; | 365 | struct dquot *transfer_to[MAXQUOTAS] = { }; |
366 | 366 | ||
367 | transfer_to[PRJQUOTA] = dqget(sb, make_kqid_projid(kprojid)); | 367 | transfer_to[PRJQUOTA] = dqget(sb, make_kqid_projid(kprojid)); |
368 | if (transfer_to[PRJQUOTA]) { | 368 | if (!IS_ERR(transfer_to[PRJQUOTA])) { |
369 | err = __dquot_transfer(inode, transfer_to); | 369 | err = __dquot_transfer(inode, transfer_to); |
370 | dqput(transfer_to[PRJQUOTA]); | 370 | dqput(transfer_to[PRJQUOTA]); |
371 | if (err) | 371 | if (err) |