diff options
author | Xiong Zhou <xzhou@redhat.com> | 2018-04-23 10:42:48 +0800 |
---|---|---|
committer | Eryu Guan <guaneryu@gmail.com> | 2018-04-27 19:06:48 +0800 |
commit | 7bc26faa6b52a2035f659c90a2833a453a18bace (patch) | |
tree | 381c5998eb4095743c85e0af0805d52be594f2b3 /src/Makefile | |
parent | a6f6336df750d37b06f572564cbe767cc4837bb5 (diff) |
generic: test record locks across execve in multithread process
POSIX requires that record locks are preserved across an execve(2).
But currently the locks are released if process is multithreaded at
the time that execve is called.
As Jeff Layton wrote in his patch:
"
In that case, we'll end up unsharing the files_struct but the locks
will still have their fl_owner set to the address of the old one.
Eventually, when the other threads die and the last reference to the
old files_struct is put, any POSIX locks get torn down since it
looks like a close occurred on them.
The result is that all of your open files will be intact with none
of the locks you held before execve.
"
Add a new regression test for this particular case.
[Eryu: rewrite commit log and test description]
Signed-off-by: Xiong Zhou <xzhou@redhat.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
Diffstat (limited to 'src/Makefile')
-rw-r--r-- | src/Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Makefile b/src/Makefile index 0d3feae1..6ca56366 100644 --- a/src/Makefile +++ b/src/Makefile @@ -15,7 +15,7 @@ TARGETS = dirstress fill fill2 getpagesize holes lstat64 \ holetest t_truncate_self t_mmap_dio af_unix t_mmap_stale_pmd \ t_mmap_cow_race t_mmap_fallocate fsync-err t_mmap_write_ro \ t_ext4_dax_journal_corruption t_ext4_dax_inline_corruption \ - t_ofd_locks + t_ofd_locks t_locks_execve LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \ preallo_rw_pattern_writer ftrunc trunc fs_perms testx looptest \ |