summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorChristian Brauner <christian.brauner@ubuntu.com>2021-04-12 13:57:04 +0200
committerEryu Guan <guaneryu@gmail.com>2021-04-18 20:53:53 +0800
commit0d1af68e1a9d6738178d0054d121ff6962c7fead (patch)
treef08fca9938bfdbce2f3c029419a480df94a205b6 /m4
parenta7f90c1433f383e337d67f310ec7878781108ec4 (diff)
generic: add fstests for idmapped mounts
Add a test suite to verify the behavior of idmapped mounts. The test suite also includes a range of vfs tests to verify that no regressions are introduced by idmapped mounts. The following tests are currently available with more to come in the future: 01. posix acls on regular and idmapped mounts 02. create operations in user namespace 03. device node creation in user namespace 04. expected ownership on idmapped mounts 05. fscaps on regular mounts 06. fscaps on idmapped mounts 07. fscaps on idmapped mounts in user namespace 08. fscaps on idmapped mounts in user namespace with different id mappings 09. mapped fsids 10. unmapped fsids 11. cross mount hardlink 12. cross idmapped mount hardlink 13. hardlinks from idmapped mounts 14. hardlinks from idmapped mounts in user namespace 15. io_uring 16. io_uring in user namespace 17. io_uring from idmapped mounts 18. io_uring from idmapped mounts in user namespace 19. io_uring from idmapped mounts with unmapped ids 20. io_uring from idmapped mounts with unmapped ids in user namespace 21. following protected symlinks on regular mounts 22. following protected symlinks on idmapped mounts 23. following protected symlinks on idmapped mounts in user namespace 24. cross mount rename 25. cross idmapped mount rename 26. rename from idmapped mounts 27. rename from idmapped mounts in user namespace 28. symlink from regular mounts 29. symlink from idmapped mounts 30. symlink from idmapped mounts in user namespace 31. setid binaries on regular mounts 32. setid binaries on idmapped mounts 33. setid binaries on idmapped mounts in user namespace 34. setid binaries on idmapped mounts in user namespace with different id mappings 35. sticky bit unlink operations on regular mounts 36. sticky bit unlink operations on idmapped mounts 37. sticky bit unlink operations on idmapped mounts in user namespace 38. sticky bit rename operations on regular mounts 39. sticky bit rename operations on idmapped mounts 40. sticky bit rename operations on idmapped mounts in user namespace 41. create operations in directories with setgid bit set 42. create operations in directories with setgid bit set on idmapped mounts 43. create operations in directories with setgid bit set on idmapped mounts in user namespace 44. verify create operations and ownership with racing threads idmapping a mount 45. setattr truncate operations on regular mounts 46. setattr truncate operations on idmapped mounts 47. setattr truncate operations on idmapped mounts in user namespace Here's some sample output when running with DEBUG_TRACE defined: Cc: Amir Goldstein <amir73il@gmail.com> Cc: Eryu Guan <guan@eryu.me> Cc: fstests@vger.kernel.org Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
Diffstat (limited to 'm4')
-rw-r--r--m4/Makefile1
-rw-r--r--m4/package_libcap.m44
2 files changed, 5 insertions, 0 deletions
diff --git a/m4/Makefile b/m4/Makefile
index f3f195c5..8d9393f6 100644
--- a/m4/Makefile
+++ b/m4/Makefile
@@ -11,6 +11,7 @@ LSRCFILES = \
package_aiodev.m4 \
package_gdbmdev.m4 \
package_globals.m4 \
+ package_libcap.m4 \
package_libcdev.m4 \
package_liburing.m4 \
package_ncurses.m4 \
diff --git a/m4/package_libcap.m4 b/m4/package_libcap.m4
new file mode 100644
index 00000000..f1ea139c
--- /dev/null
+++ b/m4/package_libcap.m4
@@ -0,0 +1,4 @@
+AC_DEFUN([AC_PACKAGE_WANT_LIBCAP],
+ [ AC_CHECK_HEADERS(sys/capability.h, [ have_libcap=true ], [ have_libcap=false ])
+ AC_SUBST(have_libcap)
+ ])