ladybird/Kernel/FileSystem
Liav A. ecc9c5409d Kernel: Ignore dirfd if absolute path is given in VFS-related syscalls
To be able to do this, we add a new class called CustodyBase, which can
be resolved on-demand internally in the VirtualFileSystem resolving path
code.

When being resolved, CustodyBase will return a known custody if it was
constructed with such, if that's not the case it will provide the root
custody if the original path is absolute.
Lastly, if that's not the case as well, it will resolve the given dirfd
to provide a Custody object.
2024-06-01 19:25:15 +02:00
..
DevLoopFS Kernel/FileSystem: Add the DevLoopFS filesystem 2024-03-13 15:33:47 -06:00
DevPtsFS Kernel: Get RefPtr<Device> from the DeviceManagement::get_device method 2024-03-13 15:33:47 -06:00
Ext2FS Kernel/Devices: Introduce the LoopDevice device 2024-03-13 15:33:47 -06:00
FATFS Kernel/FATFS: Only read the requested blocks in read_bytes_locked() 2024-04-21 15:34:33 +02:00
FUSE Kernel: Add FUSE support 2024-05-07 16:54:27 -06:00
ISO9660FS Kernel/FileSystem: Enforce locking of m_inode_lock when truncating Inode 2024-02-24 16:45:26 -07:00
Plan9FS Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
ProcFS Kernel/FileSystem: Enforce locking of m_inode_lock when truncating Inode 2024-02-24 16:45:26 -07:00
RAMFS Kernel/Devices: Introduce the LoopDevice device 2024-03-13 15:33:47 -06:00
SysFS Kernel: Remove includes of PCI API.h file 2024-05-14 15:42:29 -06:00
AnonymousFile.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
AnonymousFile.h Kernel: Use RefPtr instead of LockRefPtr for File and subclasses 2023-03-10 13:15:44 +01:00
BlockBasedFileSystem.cpp Kernel: Allow Ext2FS::flush_writes() to return ErrorOr<void> 2023-08-25 11:36:57 +01:00
BlockBasedFileSystem.h Kernel: Allow Ext2FS::flush_writes() to return ErrorOr<void> 2023-08-25 11:36:57 +01:00
Custody.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Custody.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
CustodyBase.cpp Kernel: Ignore dirfd if absolute path is given in VFS-related syscalls 2024-06-01 19:25:15 +02:00
CustodyBase.h Kernel: Ignore dirfd if absolute path is given in VFS-related syscalls 2024-06-01 19:25:15 +02:00
FIFO.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
FIFO.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
File.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
File.h Kernel/Devices: Introduce the LoopDevice device 2024-03-13 15:33:47 -06:00
FileBackedFileSystem.cpp Kernel: Introduce support for using FileSystem object in multiple mounts 2022-10-22 16:57:52 -04:00
FileBackedFileSystem.h Kernel/FileSystem: Pass last mount point guest inode to unmount prepare 2023-07-15 00:12:01 +02:00
FileSystem.cpp Kernel/Ext2: Check and set file system state 2023-07-15 00:12:01 +02:00
FileSystem.h Kernel/Devices: Introduce the LoopDevice device 2024-03-13 15:33:47 -06:00
Initializer.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
Inode.cpp Kernel: Ignore dirfd if absolute path is given in VFS-related syscalls 2024-06-01 19:25:15 +02:00
Inode.h Kernel: Ignore dirfd if absolute path is given in VFS-related syscalls 2024-06-01 19:25:15 +02:00
InodeFile.cpp Kernel: Call did_modify_contents() after truncate() 2024-02-24 15:48:36 -07:00
InodeFile.h Kernel: Mark a bunch of NonnullRefPtrs also const to ensure immutability 2023-04-08 13:44:21 +02:00
InodeIdentifier.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
InodeMetadata.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
InodeMetadata.h Kernel: Populate stat.st_dev with fsid 2023-10-01 13:34:41 +02:00
InodeWatcher.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
InodeWatcher.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Mount.cpp Kernel: Add accessor for mount host custody 2023-07-15 00:12:01 +02:00
Mount.h Kernel: Add accessor for mount host custody 2023-07-15 00:12:01 +02:00
MountFile.cpp Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
MountFile.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
OpenFileDescription.cpp Kernel: Move TTY-related code to a new subdirectory under Devices 2023-09-09 12:08:59 -06:00
OpenFileDescription.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
RAMBackedFileType.h Kernel/FileSystem: Send proper filetypes when traversing RAM-backed FSes 2024-01-13 19:01:07 -07:00
UnveilNode.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
VirtualFileSystem.cpp Kernel: Ignore dirfd if absolute path is given in VFS-related syscalls 2024-06-01 19:25:15 +02:00
VirtualFileSystem.h Kernel: Ignore dirfd if absolute path is given in VFS-related syscalls 2024-06-01 19:25:15 +02:00