diff options
| author | David S. Miller <davem@davemloft.net> | 2019-03-27 17:37:58 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2019-03-27 17:37:58 -0700 |
| commit | 356d71e00d278d865f8c7f68adebd6ce4698a7e2 (patch) | |
| tree | 8cb2dabf7440b56c6dee76b4253210c6b603b98e /fs/locks.c | |
| parent | df453700e8d81b1bdafdf684365ee2b9431fb702 (diff) | |
| parent | 1a9df9e29c2afecf6e3089442d429b377279ca3c (diff) | |
| download | linux-356d71e00d278d865f8c7f68adebd6ce4698a7e2.tar.gz | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'fs/locks.c')
| -rw-r--r-- | fs/locks.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/locks.c b/fs/locks.c index eaa1cfaf73b08c..71d0c6c2aac5cc 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1160,6 +1160,11 @@ static int posix_lock_inode(struct inode *inode, struct file_lock *request, */ error = -EDEADLK; spin_lock(&blocked_lock_lock); + /* + * Ensure that we don't find any locks blocked on this + * request during deadlock detection. + */ + __locks_wake_up_blocks(request); if (likely(!posix_locks_deadlock(request, fl))) { error = FILE_LOCK_DEFERRED; __locks_insert_block(fl, request, |
