| From ff0bc08454917964291f72ee5b8eca66de4bc250 Mon Sep 17 00:00:00 2001 |
| From: Seth Forshee <seth.forshee@canonical.com> |
| Date: Thu, 5 May 2016 10:52:38 -0400 |
| Subject: ext4: fix check of dqget() return value in ext4_ioctl_setproject() |
| |
| From: Seth Forshee <seth.forshee@canonical.com> |
| |
| commit ff0bc08454917964291f72ee5b8eca66de4bc250 upstream. |
| |
| 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") |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/ext4/ioctl.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/ext4/ioctl.c |
| +++ b/fs/ext4/ioctl.c |
| @@ -365,7 +365,7 @@ static int ext4_ioctl_setproject(struct |
| struct dquot *transfer_to[MAXQUOTAS] = { }; |
| |
| transfer_to[PRJQUOTA] = dqget(sb, make_kqid_projid(kprojid)); |
| - if (transfer_to[PRJQUOTA]) { |
| + if (!IS_ERR(transfer_to[PRJQUOTA])) { |
| err = __dquot_transfer(inode, transfer_to); |
| dqput(transfer_to[PRJQUOTA]); |
| if (err) |