Skip to content

Commit

Permalink
locks: fix list insertion when lock is split in two
Browse files Browse the repository at this point in the history
In the case where we're splitting a lock in two, the current code
the new "left" lock in the incorrect spot. It's inserted just
before "right" when it should instead be inserted just before the
new lock.

When we add a new lock, set "fl" to that value so that we can
add "left" before it.

Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
  • Loading branch information
Jeff Layton committed Feb 17, 2015
1 parent 267f112 commit 2e2f756
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions fs/locks.c
Original file line number Diff line number Diff line change
Expand Up @@ -1107,6 +1107,7 @@ static int __posix_lock_file(struct inode *inode, struct file_lock *request, str
}
locks_copy_lock(new_fl, request);
locks_insert_lock_ctx(new_fl, &fl->fl_list);
fl = new_fl;
new_fl = NULL;
}
if (right) {
Expand Down

0 comments on commit 2e2f756

Please sign in to comment.