From: Seth Forshee Date: Thu, 5 May 2016 14:52:38 +0000 (-0400) Subject: ext4: fix check of dqget() return value in ext4_ioctl_setproject() X-Git-Tag: v4.5.7~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d337f81f01db9f7c9ea385f76ac536e9074cb87;p=thirdparty%2Fkernel%2Fstable.git ext4: fix check of dqget() return value in ext4_ioctl_setproject() 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 Signed-off-by: Theodore Ts'o Reviewed-by: Jan Kara Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index eae5917c534e5..0acf8cacb2bee 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) 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)