From: NeilBrown Date: Thu, 29 Nov 2018 23:04:08 +0000 (+1100) Subject: ocfs2: properly initial file_lock used for unlock. X-Git-Tag: v5.0-rc1~119^2~8 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4316c3c685f5bd949e75eb99df09a18e45cc8e5c;p=users%2Fdwmw2%2Flinux.git ocfs2: properly initial file_lock used for unlock. Rather than assuming all-zeros is sufficient, use the available API to initialize the file_lock structure use for unlock. VFS-level changes will soon make it important that the list_heads in file_lock are always properly initialized. Signed-off-by: NeilBrown Reviewed-by: J. Bruce Fields Signed-off-by: Jeff Layton --- diff --git a/fs/ocfs2/locks.c b/fs/ocfs2/locks.c index d56f0079b8580..b11acd34001ab 100644 --- a/fs/ocfs2/locks.c +++ b/fs/ocfs2/locks.c @@ -52,6 +52,7 @@ static int ocfs2_do_flock(struct file *file, struct inode *inode, if (lockres->l_flags & OCFS2_LOCK_ATTACHED && lockres->l_level > LKM_NLMODE) { int old_level = 0; + struct file_lock request; if (lockres->l_level == LKM_EXMODE) old_level = 1; @@ -66,11 +67,10 @@ static int ocfs2_do_flock(struct file *file, struct inode *inode, * level. */ - locks_lock_file_wait(file, - &(struct file_lock) { - .fl_type = F_UNLCK, - .fl_flags = FL_FLOCK - }); + locks_init_lock(&request); + request.fl_type = F_UNLCK; + request.fl_flags = FL_FLOCK; + locks_lock_file_wait(file, &request); ocfs2_file_unlock(file); }