Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
On 08/09/2018 10:16 AM, Murphy Zhou wrote: Hi, Looks like this missed v4.18 ? Hi Murphy, yes, Jeff planned to push those patches into 4.19 and they are in "linux-next" now, but not in 4.18 "master" currently. On 06/14/2018 01:41 PM, Jeff Layton wrote: > These look fine to me. I'll plan to pick them up for v4.19 unless anyone > has objections. linux-next: 1cf8e5de4055 ("fs/lock: show locks taken by processes from another pidns") 826d7bc9f013 ("fs/lock: skip lock owner pid translation in case we are in init_pid_ns") -- Best regards, Konstantin Khorenko, Virtuozzo Linux Kernel Team On Fri, Jun 8, 2018 at 10:27 PM, Konstantin Khorenko wrote: The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks") and now /proc/$PID/fdinfo/$FD does not show the info about the lock * if the flock owner process is dead and its pid has been already freed or * if the lock owner is not visible in current pidns. CRIU uses this interface to store locks info during dump and thus can break on v4.13 and newer. So let's show info about locks anyway in described cases (like it was before 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. Reproducer: process A process A1 process A2 fork()-> exit() open() flock() fork()-> exit() sleep() Before the patch: (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 257 lock: (root@vz7)/: After the patch: === (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 295 lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF === # cat flock1.c #include #include #include #include #include #include #include int main(void) { int fd; int err; pid_t child_pid; child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) { exit(0); } fd = open("/tmp/a", O_CREAT | O_RDWR); if (fd == -1) perror("Failed to open the file"); err = flock(fd, LOCK_EX); if (err == -1) perror("flock failed"); child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) exit(0); sleep(1); return 0; } Konstantin Khorenko (2): fs/lock: skip lock owner pid translation in case we are in init_pid_ns fs/lock: show locks taken by processes from another pidns fs/locks.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) -- 2.15.1 .
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
On 08/09/2018 10:16 AM, Murphy Zhou wrote: Hi, Looks like this missed v4.18 ? Hi Murphy, yes, Jeff planned to push those patches into 4.19 and they are in "linux-next" now, but not in 4.18 "master" currently. On 06/14/2018 01:41 PM, Jeff Layton wrote: > These look fine to me. I'll plan to pick them up for v4.19 unless anyone > has objections. linux-next: 1cf8e5de4055 ("fs/lock: show locks taken by processes from another pidns") 826d7bc9f013 ("fs/lock: skip lock owner pid translation in case we are in init_pid_ns") -- Best regards, Konstantin Khorenko, Virtuozzo Linux Kernel Team On Fri, Jun 8, 2018 at 10:27 PM, Konstantin Khorenko wrote: The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks") and now /proc/$PID/fdinfo/$FD does not show the info about the lock * if the flock owner process is dead and its pid has been already freed or * if the lock owner is not visible in current pidns. CRIU uses this interface to store locks info during dump and thus can break on v4.13 and newer. So let's show info about locks anyway in described cases (like it was before 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. Reproducer: process A process A1 process A2 fork()-> exit() open() flock() fork()-> exit() sleep() Before the patch: (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 257 lock: (root@vz7)/: After the patch: === (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 295 lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF === # cat flock1.c #include #include #include #include #include #include #include int main(void) { int fd; int err; pid_t child_pid; child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) { exit(0); } fd = open("/tmp/a", O_CREAT | O_RDWR); if (fd == -1) perror("Failed to open the file"); err = flock(fd, LOCK_EX); if (err == -1) perror("flock failed"); child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) exit(0); sleep(1); return 0; } Konstantin Khorenko (2): fs/lock: skip lock owner pid translation in case we are in init_pid_ns fs/lock: show locks taken by processes from another pidns fs/locks.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) -- 2.15.1 .
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
Hi, Looks like this missed v4.18 ? Thanks, Murphy On Fri, Jun 8, 2018 at 10:27 PM, Konstantin Khorenko wrote: > The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid > and use fs-specific l_pid for remote locks") > and now /proc/$PID/fdinfo/$FD does not show the info about the lock > * if the flock owner process is dead and its pid has been already freed > or > * if the lock owner is not visible in current pidns. > > CRIU uses this interface to store locks info during dump and thus can break > on v4.13 and newer. > > So let's show info about locks anyway in described cases (like it was before > 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in > init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. > > Reproducer: > process A process A1 process A2 > fork()-> > exit() open() > flock() > fork()-> > exit() sleep() > > Before the patch: > > (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 > pos:4 > flags: 0212 > mnt_id: 257 > lock: (root@vz7)/: > > After the patch: > === > (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 > pos:4 > flags: 0212 > mnt_id: 295 > lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF > > === > # cat flock1.c > > #include > #include > #include > #include > #include > #include > #include > > int main(void) > { > int fd; > int err; > pid_t child_pid; > > child_pid = fork(); > if (child_pid == -1) > perror("fork failed"); > if (child_pid) { > exit(0); > } > > fd = open("/tmp/a", O_CREAT | O_RDWR); > if (fd == -1) > perror("Failed to open the file"); > > err = flock(fd, LOCK_EX); > if (err == -1) > perror("flock failed"); > > child_pid = fork(); > if (child_pid == -1) > perror("fork failed"); > if (child_pid) > exit(0); > > sleep(1); > > return 0; > } > > Konstantin Khorenko (2): > fs/lock: skip lock owner pid translation in case we are in init_pid_ns > fs/lock: show locks taken by processes from another pidns > > fs/locks.c | 15 ++- > 1 file changed, 10 insertions(+), 5 deletions(-) > > -- > 2.15.1 >
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
Hi, Looks like this missed v4.18 ? Thanks, Murphy On Fri, Jun 8, 2018 at 10:27 PM, Konstantin Khorenko wrote: > The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid > and use fs-specific l_pid for remote locks") > and now /proc/$PID/fdinfo/$FD does not show the info about the lock > * if the flock owner process is dead and its pid has been already freed > or > * if the lock owner is not visible in current pidns. > > CRIU uses this interface to store locks info during dump and thus can break > on v4.13 and newer. > > So let's show info about locks anyway in described cases (like it was before > 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in > init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. > > Reproducer: > process A process A1 process A2 > fork()-> > exit() open() > flock() > fork()-> > exit() sleep() > > Before the patch: > > (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 > pos:4 > flags: 0212 > mnt_id: 257 > lock: (root@vz7)/: > > After the patch: > === > (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 > pos:4 > flags: 0212 > mnt_id: 295 > lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF > > === > # cat flock1.c > > #include > #include > #include > #include > #include > #include > #include > > int main(void) > { > int fd; > int err; > pid_t child_pid; > > child_pid = fork(); > if (child_pid == -1) > perror("fork failed"); > if (child_pid) { > exit(0); > } > > fd = open("/tmp/a", O_CREAT | O_RDWR); > if (fd == -1) > perror("Failed to open the file"); > > err = flock(fd, LOCK_EX); > if (err == -1) > perror("flock failed"); > > child_pid = fork(); > if (child_pid == -1) > perror("fork failed"); > if (child_pid) > exit(0); > > sleep(1); > > return 0; > } > > Konstantin Khorenko (2): > fs/lock: skip lock owner pid translation in case we are in init_pid_ns > fs/lock: show locks taken by processes from another pidns > > fs/locks.c | 15 ++- > 1 file changed, 10 insertions(+), 5 deletions(-) > > -- > 2.15.1 >
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
On 8 Jun 2018, at 10:27, Konstantin Khorenko wrote: The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks") and now /proc/$PID/fdinfo/$FD does not show the info about the lock * if the flock owner process is dead and its pid has been already freed or * if the lock owner is not visible in current pidns. CRIU uses this interface to store locks info during dump and thus can break on v4.13 and newer. So let's show info about locks anyway in described cases (like it was before 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. Reproducer: process A process A1 process A2 fork()-> exit() open() flock() fork()-> exit() sleep() Before the patch: (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 257 lock: (root@vz7)/: After the patch: === (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 295 lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF === # cat flock1.c #include #include #include #include #include #include #include int main(void) { int fd; int err; pid_t child_pid; child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) { exit(0); } fd = open("/tmp/a", O_CREAT | O_RDWR); if (fd == -1) perror("Failed to open the file"); err = flock(fd, LOCK_EX); if (err == -1) perror("flock failed"); child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) exit(0); sleep(1); return 0; } Konstantin Khorenko (2): fs/lock: skip lock owner pid translation in case we are in init_pid_ns fs/lock: show locks taken by processes from another pidns These look good to me too. It makes sense that we treat pid numbers out of our namespace in the same way we'd treat remote pids, by returning 0 instead of skipping their display altogether. You can add my Reviewed-by: Benjamin Coddington to these two. Ben
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
On 8 Jun 2018, at 10:27, Konstantin Khorenko wrote: The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks") and now /proc/$PID/fdinfo/$FD does not show the info about the lock * if the flock owner process is dead and its pid has been already freed or * if the lock owner is not visible in current pidns. CRIU uses this interface to store locks info during dump and thus can break on v4.13 and newer. So let's show info about locks anyway in described cases (like it was before 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. Reproducer: process A process A1 process A2 fork()-> exit() open() flock() fork()-> exit() sleep() Before the patch: (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 257 lock: (root@vz7)/: After the patch: === (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 295 lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF === # cat flock1.c #include #include #include #include #include #include #include int main(void) { int fd; int err; pid_t child_pid; child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) { exit(0); } fd = open("/tmp/a", O_CREAT | O_RDWR); if (fd == -1) perror("Failed to open the file"); err = flock(fd, LOCK_EX); if (err == -1) perror("flock failed"); child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) exit(0); sleep(1); return 0; } Konstantin Khorenko (2): fs/lock: skip lock owner pid translation in case we are in init_pid_ns fs/lock: show locks taken by processes from another pidns These look good to me too. It makes sense that we treat pid numbers out of our namespace in the same way we'd treat remote pids, by returning 0 instead of skipping their display altogether. You can add my Reviewed-by: Benjamin Coddington to these two. Ben
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
On Fri, 2018-06-08 at 17:27 +0300, Konstantin Khorenko wrote: > The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid > and use fs-specific l_pid for remote locks") > and now /proc/$PID/fdinfo/$FD does not show the info about the lock > * if the flock owner process is dead and its pid has been already freed > or > * if the lock owner is not visible in current pidns. > > CRIU uses this interface to store locks info during dump and thus can break > on v4.13 and newer. > > So let's show info about locks anyway in described cases (like it was before > 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in > init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. > > Reproducer: > process A process A1 process A2 > fork()-> > exit() open() > flock() > fork()-> > exit() sleep() > > Before the patch: > > (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 > pos:4 > flags: 0212 > mnt_id: 257 > lock: (root@vz7)/: > > After the patch: > === > (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 > pos:4 > flags: 0212 > mnt_id: 295 > lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF > > === > # cat flock1.c > > #include > #include > #include > #include > #include > #include > #include > > int main(void) > { > int fd; > int err; > pid_t child_pid; > > child_pid = fork(); > if (child_pid == -1) > perror("fork failed"); > if (child_pid) { > exit(0); > } > > fd = open("/tmp/a", O_CREAT | O_RDWR); > if (fd == -1) > perror("Failed to open the file"); > > err = flock(fd, LOCK_EX); > if (err == -1) > perror("flock failed"); > > child_pid = fork(); > if (child_pid == -1) > perror("fork failed"); > if (child_pid) > exit(0); > > sleep(1); > > return 0; > } > > Konstantin Khorenko (2): > fs/lock: skip lock owner pid translation in case we are in init_pid_ns > fs/lock: show locks taken by processes from another pidns > > fs/locks.c | 15 ++- > 1 file changed, 10 insertions(+), 5 deletions(-) > These look fine to me. I'll plan to pick them up for v4.19 unless anyone has objections. Thanks! -- Jeff Layton
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
On Fri, 2018-06-08 at 17:27 +0300, Konstantin Khorenko wrote: > The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid > and use fs-specific l_pid for remote locks") > and now /proc/$PID/fdinfo/$FD does not show the info about the lock > * if the flock owner process is dead and its pid has been already freed > or > * if the lock owner is not visible in current pidns. > > CRIU uses this interface to store locks info during dump and thus can break > on v4.13 and newer. > > So let's show info about locks anyway in described cases (like it was before > 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in > init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. > > Reproducer: > process A process A1 process A2 > fork()-> > exit() open() > flock() > fork()-> > exit() sleep() > > Before the patch: > > (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 > pos:4 > flags: 0212 > mnt_id: 257 > lock: (root@vz7)/: > > After the patch: > === > (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 > pos:4 > flags: 0212 > mnt_id: 295 > lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF > > === > # cat flock1.c > > #include > #include > #include > #include > #include > #include > #include > > int main(void) > { > int fd; > int err; > pid_t child_pid; > > child_pid = fork(); > if (child_pid == -1) > perror("fork failed"); > if (child_pid) { > exit(0); > } > > fd = open("/tmp/a", O_CREAT | O_RDWR); > if (fd == -1) > perror("Failed to open the file"); > > err = flock(fd, LOCK_EX); > if (err == -1) > perror("flock failed"); > > child_pid = fork(); > if (child_pid == -1) > perror("fork failed"); > if (child_pid) > exit(0); > > sleep(1); > > return 0; > } > > Konstantin Khorenko (2): > fs/lock: skip lock owner pid translation in case we are in init_pid_ns > fs/lock: show locks taken by processes from another pidns > > fs/locks.c | 15 ++- > 1 file changed, 10 insertions(+), 5 deletions(-) > These look fine to me. I'll plan to pick them up for v4.19 unless anyone has objections. Thanks! -- Jeff Layton
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
On Fri, Jun 08, 2018 at 05:27:10PM +0300, Konstantin Khorenko wrote: > The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid > and use fs-specific l_pid for remote locks") > and now /proc/$PID/fdinfo/$FD does not show the info about the lock > * if the flock owner process is dead and its pid has been already freed > or > * if the lock owner is not visible in current pidns. > > CRIU uses this interface to store locks info during dump and thus can break > on v4.13 and newer. Indeed, it should cause problems with procfs parsing. We should add a test for such scenarions, and since we're running tests by linux-next all the time we would have this issue catched already. The series looks ok to me, but I'm not flock expert so better wait for more trustworthy opinion. > > So let's show info about locks anyway in described cases (like it was before > 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in > init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID.
Re: [PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
On Fri, Jun 08, 2018 at 05:27:10PM +0300, Konstantin Khorenko wrote: > The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid > and use fs-specific l_pid for remote locks") > and now /proc/$PID/fdinfo/$FD does not show the info about the lock > * if the flock owner process is dead and its pid has been already freed > or > * if the lock owner is not visible in current pidns. > > CRIU uses this interface to store locks info during dump and thus can break > on v4.13 and newer. Indeed, it should cause problems with procfs parsing. We should add a test for such scenarions, and since we're running tests by linux-next all the time we would have this issue catched already. The series looks ok to me, but I'm not flock expert so better wait for more trustworthy opinion. > > So let's show info about locks anyway in described cases (like it was before > 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in > init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID.
[PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks") and now /proc/$PID/fdinfo/$FD does not show the info about the lock * if the flock owner process is dead and its pid has been already freed or * if the lock owner is not visible in current pidns. CRIU uses this interface to store locks info during dump and thus can break on v4.13 and newer. So let's show info about locks anyway in described cases (like it was before 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. Reproducer: process A process A1 process A2 fork()-> exit() open() flock() fork()-> exit() sleep() Before the patch: (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 257 lock: (root@vz7)/: After the patch: === (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 295 lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF === # cat flock1.c #include #include #include #include #include #include #include int main(void) { int fd; int err; pid_t child_pid; child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) { exit(0); } fd = open("/tmp/a", O_CREAT | O_RDWR); if (fd == -1) perror("Failed to open the file"); err = flock(fd, LOCK_EX); if (err == -1) perror("flock failed"); child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) exit(0); sleep(1); return 0; } Konstantin Khorenko (2): fs/lock: skip lock owner pid translation in case we are in init_pid_ns fs/lock: show locks taken by processes from another pidns fs/locks.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) -- 2.15.1
[PATCH 0/2] fs/lock: show locks info owned by dead/invisible processes
The behavior has been changed after 9d5b86ac13c5 ("fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks") and now /proc/$PID/fdinfo/$FD does not show the info about the lock * if the flock owner process is dead and its pid has been already freed or * if the lock owner is not visible in current pidns. CRIU uses this interface to store locks info during dump and thus can break on v4.13 and newer. So let's show info about locks anyway in described cases (like it was before 9d5b86ac13c5), but show pid number saved in file_lock struct if we are in init_pid_ns (patch 1) or just zero otherwise (patch 2) like we do with SID. Reproducer: process A process A1 process A2 fork()-> exit() open() flock() fork()-> exit() sleep() Before the patch: (root@vz7)/: cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 257 lock: (root@vz7)/: After the patch: === (root@vz7)/:cat /proc/${PID_A2}/fdinfo/3 pos:4 flags: 0212 mnt_id: 295 lock: 1: FLOCK ADVISORY WRITE ${PID_A1} b6:f8a61:529946 0 EOF === # cat flock1.c #include #include #include #include #include #include #include int main(void) { int fd; int err; pid_t child_pid; child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) { exit(0); } fd = open("/tmp/a", O_CREAT | O_RDWR); if (fd == -1) perror("Failed to open the file"); err = flock(fd, LOCK_EX); if (err == -1) perror("flock failed"); child_pid = fork(); if (child_pid == -1) perror("fork failed"); if (child_pid) exit(0); sleep(1); return 0; } Konstantin Khorenko (2): fs/lock: skip lock owner pid translation in case we are in init_pid_ns fs/lock: show locks taken by processes from another pidns fs/locks.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) -- 2.15.1