ladybird/Kernel/FileSystem
Liav A 718ae68621 Kernel+LibCore+LibC: Implement support for forcing unveil on exec
To accomplish this, we add another VeilState which is called
LockedInherited. The idea is to apply exec unveil data, similar to
execpromises of the pledge syscall, on the current exec'ed program
during the execve sequence. When applying the forced unveil data, the
veil state is set to be locked but the special state of LockedInherited
ensures that if the new program tries to unveil paths, the request will
silently be ignored, so the program will continue running without
receiving an error, but is still can only use the paths that were
unveiled before the exec syscall. This in turn, allows us to use the
unveil syscall with a special utility to sandbox other userland programs
in terms of what is visible to them on the filesystem, and is usable on
both programs that use or don't use the unveil syscall in their code.
2022-11-26 12:42:15 -07:00
..
DevPtsFS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
Ext2FS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
FATFS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
ISO9660FS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
Plan9FS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
ProcFS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
SysFS Kernel+LibCore+LibC: Implement support for forcing unveil on exec 2022-11-26 12:42:15 -07:00
TmpFS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
AnonymousFile.cpp Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
AnonymousFile.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
BlockBasedFileSystem.cpp Kernel/FileSystem: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00
BlockBasedFileSystem.h Kernel/FileSystem: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00
Custody.cpp Kernel: Use RefPtr instead of LockRefPtr for Custody 2022-08-21 12:25:14 +02:00
Custody.h Kernel: Use RefPtr instead of LockRefPtr for Custody 2022-08-21 12:25:14 +02:00
DeviceFileTypes.h Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
FIFO.cpp Kernel: Add support for MSG_NOSIGNAL and properly send SIGPIPE 2022-10-24 15:49:39 +02:00
FIFO.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
File.cpp Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
File.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
FileBackedFileSystem.cpp Kernel: Introduce support for using FileSystem object in multiple mounts 2022-10-22 16:57:52 -04:00
FileBackedFileSystem.h Kernel: Introduce support for using FileSystem object in multiple mounts 2022-10-22 16:57:52 -04:00
FileSystem.cpp Kernel/FileSystem: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00
FileSystem.h Kernel/FileSystem: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00
Inode.cpp Kernel: Use AK::Time for InodeMetadata timestamps instead of time_t 2022-11-24 16:56:27 +01:00
Inode.h Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
InodeFile.cpp Kernel: Use AK::Time for InodeMetadata timestamps instead of time_t 2022-11-24 16:56:27 +01:00
InodeFile.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
InodeIdentifier.h Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
InodeMetadata.cpp Kernel: Make VirtualFileSystem functions take credentials as input 2022-08-21 16:02:24 +02:00
InodeMetadata.h Kernel: Use AK::Time for InodeMetadata timestamps instead of time_t 2022-11-24 16:56:27 +01:00
InodeWatcher.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
InodeWatcher.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
Mount.cpp Kernel: Use RefPtr instead of LockRefPtr for Custody 2022-08-21 12:25:14 +02:00
Mount.h Kernel: Add missing includes for Mount.h file 2022-11-11 10:25:54 +01:00
OpenFileDescription.cpp Kernel/FileSystem: Add a few missing includes 2022-10-22 16:57:52 -04:00
OpenFileDescription.h Kernel/FileSystem: Add a few missing includes 2022-10-22 16:57:52 -04:00
UnveilNode.h AK+Kernel: Specialize Trie for NNOP<KString> and use it in UnveilNode 2022-02-16 22:21:37 +01:00
VirtualFileSystem.cpp Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
VirtualFileSystem.h Kernel/FileSystem: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00