2024-01-16 11:17:59 -08:00
|
|
|
load("//pkg/sync/locking:locking.bzl", "declare_mutex", "declare_rwmutex")
|
2020-01-27 10:04:07 -08:00
|
|
|
load("//tools:defs.bzl", "go_library", "go_test")
|
2020-01-06 12:51:35 -08:00
|
|
|
load("//tools/go_generics:defs.bzl", "go_template_instance")
|
2019-07-18 15:09:14 -07:00
|
|
|
|
2023-03-02 10:46:34 -08:00
|
|
|
package(default_applicable_licenses = ["//:license"])
|
|
|
|
|
|
2020-01-27 10:04:07 -08:00
|
|
|
licenses(["notice"])
|
2019-07-18 15:09:14 -07:00
|
|
|
|
|
|
|
|
go_template_instance(
|
|
|
|
|
name = "dentry_list",
|
|
|
|
|
out = "dentry_list.go",
|
2020-01-06 12:51:35 -08:00
|
|
|
package = "tmpfs",
|
2019-07-18 15:09:14 -07:00
|
|
|
prefix = "dentry",
|
|
|
|
|
template = "//pkg/ilist:generic_list",
|
|
|
|
|
types = {
|
2019-08-08 11:45:33 -07:00
|
|
|
"Element": "*dentry",
|
|
|
|
|
"Linker": "*dentry",
|
2019-07-18 15:09:14 -07:00
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
|
2020-04-21 12:16:42 -07:00
|
|
|
go_template_instance(
|
|
|
|
|
name = "fstree",
|
|
|
|
|
out = "fstree.go",
|
|
|
|
|
package = "tmpfs",
|
|
|
|
|
prefix = "generic",
|
|
|
|
|
template = "//pkg/sentry/vfs/genericfstree:generic_fstree",
|
|
|
|
|
types = {
|
|
|
|
|
"Dentry": "dentry",
|
2024-11-14 18:10:03 -08:00
|
|
|
"Filesystem": "filesystem",
|
2020-04-21 12:16:42 -07:00
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
|
2020-08-12 18:09:34 -07:00
|
|
|
go_template_instance(
|
|
|
|
|
name = "inode_refs",
|
|
|
|
|
out = "inode_refs.go",
|
|
|
|
|
package = "tmpfs",
|
|
|
|
|
prefix = "inode",
|
2022-12-01 12:43:06 -08:00
|
|
|
template = "//pkg/refs:refs_template",
|
2020-08-12 18:09:34 -07:00
|
|
|
types = {
|
|
|
|
|
"T": "inode",
|
|
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
|
2024-11-14 18:10:03 -08:00
|
|
|
declare_rwmutex(
|
|
|
|
|
name = "ancestry_mutex",
|
|
|
|
|
out = "ancestry_mutex.go",
|
2022-05-19 12:05:08 -07:00
|
|
|
package = "tmpfs",
|
2024-11-14 18:10:03 -08:00
|
|
|
prefix = "ancestry",
|
2022-05-19 12:05:08 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
declare_rwmutex(
|
|
|
|
|
name = "filesystem_mutex",
|
|
|
|
|
out = "filesystem_mutex.go",
|
|
|
|
|
package = "tmpfs",
|
|
|
|
|
prefix = "filesystem",
|
|
|
|
|
)
|
|
|
|
|
|
2024-11-14 18:10:03 -08:00
|
|
|
declare_mutex(
|
|
|
|
|
name = "inode_mutex",
|
|
|
|
|
out = "inode_mutex.go",
|
|
|
|
|
package = "tmpfs",
|
|
|
|
|
prefix = "inode",
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
declare_mutex(
|
|
|
|
|
name = "iter_mutex",
|
|
|
|
|
out = "iter_mutex.go",
|
|
|
|
|
package = "tmpfs",
|
|
|
|
|
prefix = "iter",
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
declare_mutex(
|
|
|
|
|
name = "pages_used_mutex",
|
|
|
|
|
out = "pages_used_mutex.go",
|
|
|
|
|
package = "tmpfs",
|
|
|
|
|
prefix = "pagesUsed",
|
|
|
|
|
)
|
|
|
|
|
|
2019-07-18 15:09:14 -07:00
|
|
|
go_library(
|
2020-01-06 12:51:35 -08:00
|
|
|
name = "tmpfs",
|
2019-07-18 15:09:14 -07:00
|
|
|
srcs = [
|
2024-11-14 18:10:03 -08:00
|
|
|
"ancestry_mutex.go",
|
2019-07-18 15:09:14 -07:00
|
|
|
"dentry_list.go",
|
2020-01-24 17:06:30 -08:00
|
|
|
"device_file.go",
|
2019-07-18 15:09:14 -07:00
|
|
|
"directory.go",
|
|
|
|
|
"filesystem.go",
|
2022-05-19 12:05:08 -07:00
|
|
|
"filesystem_mutex.go",
|
2020-04-21 12:16:42 -07:00
|
|
|
"fstree.go",
|
2022-05-19 12:05:08 -07:00
|
|
|
"inode_mutex.go",
|
2020-08-12 18:09:34 -07:00
|
|
|
"inode_refs.go",
|
2022-05-19 12:05:08 -07:00
|
|
|
"iter_mutex.go",
|
2019-10-19 11:48:09 -07:00
|
|
|
"named_pipe.go",
|
2022-05-19 12:05:08 -07:00
|
|
|
"pages_used_mutex.go",
|
2019-07-18 15:09:14 -07:00
|
|
|
"regular_file.go",
|
2020-10-23 17:46:43 -07:00
|
|
|
"save_restore.go",
|
2020-04-06 07:30:20 -07:00
|
|
|
"socket_file.go",
|
2019-07-18 15:09:14 -07:00
|
|
|
"symlink.go",
|
2020-01-06 12:51:35 -08:00
|
|
|
"tmpfs.go",
|
2019-07-18 15:09:14 -07:00
|
|
|
],
|
2020-01-28 15:04:34 -08:00
|
|
|
visibility = ["//pkg/sentry:internal"],
|
2019-07-18 15:09:14 -07:00
|
|
|
deps = [
|
|
|
|
|
"//pkg/abi/linux",
|
2022-04-05 15:13:30 -07:00
|
|
|
"//pkg/atomicbitops",
|
2020-01-27 15:17:58 -08:00
|
|
|
"//pkg/context",
|
2021-06-29 15:05:27 -07:00
|
|
|
"//pkg/errors/linuxerr",
|
2023-01-30 21:54:06 -08:00
|
|
|
"//pkg/fd",
|
2019-12-11 13:40:57 -08:00
|
|
|
"//pkg/fspath",
|
2021-03-29 13:28:32 -07:00
|
|
|
"//pkg/hostarch",
|
2020-01-06 12:51:35 -08:00
|
|
|
"//pkg/log",
|
2020-08-12 18:09:34 -07:00
|
|
|
"//pkg/refs",
|
2020-01-27 15:17:58 -08:00
|
|
|
"//pkg/safemem",
|
2019-10-19 11:48:09 -07:00
|
|
|
"//pkg/sentry/arch",
|
2022-11-16 11:02:23 -08:00
|
|
|
"//pkg/sentry/fsimpl/lock",
|
2020-11-18 18:08:02 -08:00
|
|
|
"//pkg/sentry/fsmetric",
|
2022-11-21 13:54:38 -08:00
|
|
|
"//pkg/sentry/fsutil",
|
2023-07-13 22:30:32 -07:00
|
|
|
"//pkg/sentry/hostfd",
|
2019-07-18 15:09:14 -07:00
|
|
|
"//pkg/sentry/kernel/auth",
|
2019-10-19 11:48:09 -07:00
|
|
|
"//pkg/sentry/kernel/pipe",
|
2024-11-06 18:08:21 -08:00
|
|
|
"//pkg/sentry/ktime",
|
2020-01-06 12:51:35 -08:00
|
|
|
"//pkg/sentry/memmap",
|
|
|
|
|
"//pkg/sentry/pgalloc",
|
|
|
|
|
"//pkg/sentry/platform",
|
2020-03-26 21:47:46 -07:00
|
|
|
"//pkg/sentry/socket/unix/transport",
|
2020-05-29 08:07:44 -07:00
|
|
|
"//pkg/sentry/uniqueid",
|
2020-01-06 12:51:35 -08:00
|
|
|
"//pkg/sentry/usage",
|
2019-07-18 15:09:14 -07:00
|
|
|
"//pkg/sentry/vfs",
|
2020-04-10 19:01:39 -07:00
|
|
|
"//pkg/sentry/vfs/memxattr",
|
2020-01-09 22:00:42 -08:00
|
|
|
"//pkg/sync",
|
2022-05-19 12:05:08 -07:00
|
|
|
"//pkg/sync/locking",
|
2020-01-27 15:17:58 -08:00
|
|
|
"//pkg/usermem",
|
2019-07-18 15:09:14 -07:00
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
go_test(
|
|
|
|
|
name = "benchmark_test",
|
|
|
|
|
size = "small",
|
|
|
|
|
srcs = ["benchmark_test.go"],
|
|
|
|
|
deps = [
|
2020-01-06 12:51:35 -08:00
|
|
|
":tmpfs",
|
2019-07-18 15:09:14 -07:00
|
|
|
"//pkg/abi/linux",
|
2019-12-23 13:17:29 -08:00
|
|
|
"//pkg/fspath",
|
2019-11-25 15:20:25 -08:00
|
|
|
"//pkg/refs",
|
2020-01-27 15:17:58 -08:00
|
|
|
"//pkg/sentry/contexttest",
|
2019-07-18 15:09:14 -07:00
|
|
|
"//pkg/sentry/kernel/auth",
|
|
|
|
|
"//pkg/sentry/vfs",
|
|
|
|
|
],
|
|
|
|
|
)
|
2019-10-19 11:48:09 -07:00
|
|
|
|
|
|
|
|
go_test(
|
2020-01-06 12:51:35 -08:00
|
|
|
name = "tmpfs_test",
|
2019-10-19 11:48:09 -07:00
|
|
|
size = "small",
|
2020-01-06 12:51:35 -08:00
|
|
|
srcs = [
|
|
|
|
|
"pipe_test.go",
|
|
|
|
|
"regular_file_test.go",
|
2020-01-15 16:31:24 -08:00
|
|
|
"stat_test.go",
|
2020-05-13 17:35:04 -07:00
|
|
|
"tmpfs_test.go",
|
2020-01-06 12:51:35 -08:00
|
|
|
],
|
2020-01-27 10:04:07 -08:00
|
|
|
library = ":tmpfs",
|
2019-10-19 11:48:09 -07:00
|
|
|
deps = [
|
|
|
|
|
"//pkg/abi/linux",
|
2022-04-08 16:04:01 -07:00
|
|
|
"//pkg/atomicbitops",
|
2020-01-27 15:17:58 -08:00
|
|
|
"//pkg/context",
|
2021-06-22 15:50:41 -07:00
|
|
|
"//pkg/errors/linuxerr",
|
2019-12-23 13:17:29 -08:00
|
|
|
"//pkg/fspath",
|
2020-01-27 15:17:58 -08:00
|
|
|
"//pkg/sentry/contexttest",
|
2022-11-16 11:02:23 -08:00
|
|
|
"//pkg/sentry/fsimpl/lock",
|
2019-10-19 11:48:09 -07:00
|
|
|
"//pkg/sentry/kernel/auth",
|
|
|
|
|
"//pkg/sentry/vfs",
|
2020-01-27 15:17:58 -08:00
|
|
|
"//pkg/usermem",
|
2019-10-19 11:48:09 -07:00
|
|
|
],
|
|
|
|
|
)
|