author: Konstantin Khorenko <khorenko@virtuozzo.com> 2018-06-08 17:27:12 +0300
committer: Jeff Layton <jlayton@redhat.com> 2018-06-14 07:37:50 -0400
commit: 1cf8e5de4055f85383405a21a0a7c3c4348bf2ed
parent: 826d7bc9f013d01e92997883d2fd0c25f4af1f1c
Commit Summary:
Diffstat:
1 file changed, 3 insertions, 5 deletions
diff --git a/fs/locks.c b/fs/locks.c
index bfee5b7f2862..e533623e2e99 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -2633,12 +2633,10 @@ static void lock_get_status(struct seq_file *f, struct file_lock *fl,
fl_pid = locks_translate_pid(fl, proc_pidns);
/*
- * If there isn't a fl_pid don't display who is waiting on
- * the lock if we are called from locks_show, or if we are
- * called from __show_fd_info - skip lock entirely
+ * If lock owner is dead (and pid is freed) or not visible in current
+ * pidns, zero is shown as a pid value. Check lock info from
+ * init_pid_ns to get saved lock pid value.
*/
- if (fl_pid == 0)
- return;
if (fl->fl_file != NULL)
inode = locks_inode(fl->fl_file);