From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Layton Subject: [PATCH] locks: pass correct "before" pointer to locks_unlink_lock in generic_add_lease Date: Sat, 23 Aug 2014 06:36:19 -0400 Message-ID: <1408790179-7809-1-git-send-email-jlayton@primarydata.com> Cc: bfields@fieldses.org To: linux-fsdevel@vger.kernel.org Return-path: Received: from mail-qa0-f51.google.com ([209.85.216.51]:32844 "EHLO mail-qa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752460AbaHWKg1 (ORCPT ); Sat, 23 Aug 2014 06:36:27 -0400 Received: by mail-qa0-f51.google.com with SMTP id k15so10507108qaq.24 for ; Sat, 23 Aug 2014 03:36:26 -0700 (PDT) Sender: linux-fsdevel-owner@vger.kernel.org List-ID: The argument to locks_unlink_lock can't be just any pointer to a pointer. It must be a pointer to the fl_next field in the previous lock in the list. Cc: # v3.15+ Signed-off-by: Jeff Layton --- fs/locks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/locks.c b/fs/locks.c index cb66fb05ad4a..bb08857f90b5 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1619,7 +1619,7 @@ static int generic_add_lease(struct file *filp, long arg, struct file_lock **flp smp_mb(); error = check_conflicting_open(dentry, arg); if (error) - locks_unlink_lock(flp); + locks_unlink_lock(before); out: if (is_deleg) mutex_unlock(&inode->i_mutex); -- 1.9.3