diff mbox series

[09/26] ocfs2: fix error handling in ocfs2_setattr()

Message ID 20191019031947.0Tw492E24%akpm@linux-foundation.org (mailing list archive)
State New, archived
Headers show
Series [01/26] drivers/base/memory.c: don't access uninitialized memmaps in soft_offline_page_store() | expand

Commit Message

Andrew Morton Oct. 19, 2019, 3:19 a.m. UTC
From: Chengguang Xu <cgxu519@mykernel.net>
Subject: ocfs2: fix error handling in ocfs2_setattr()

Should set transfer_to[USRQUOTA/GRPQUOTA] to NULL on error case before
jumping to do dqput().

Link: http://lkml.kernel.org/r/20191010082349.1134-1-cgxu519@mykernel.net
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Gang He <ghe@suse.com>
Cc: Jun Piao <piaojun@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 fs/ocfs2/file.c |    2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

--- a/fs/ocfs2/file.c~resend-ocfs2-fix-error-handling-in-ocfs2_setattr
+++ a/fs/ocfs2/file.c
@@ -1230,6 +1230,7 @@  int ocfs2_setattr(struct dentry *dentry,
 			transfer_to[USRQUOTA] = dqget(sb, make_kqid_uid(attr->ia_uid));
 			if (IS_ERR(transfer_to[USRQUOTA])) {
 				status = PTR_ERR(transfer_to[USRQUOTA]);
+				transfer_to[USRQUOTA] = NULL;
 				goto bail_unlock;
 			}
 		}
@@ -1239,6 +1240,7 @@  int ocfs2_setattr(struct dentry *dentry,
 			transfer_to[GRPQUOTA] = dqget(sb, make_kqid_gid(attr->ia_gid));
 			if (IS_ERR(transfer_to[GRPQUOTA])) {
 				status = PTR_ERR(transfer_to[GRPQUOTA]);
+				transfer_to[GRPQUOTA] = NULL;
 				goto bail_unlock;
 			}
 		}