ladybird/Kernel/FileSystem
Andreas Kling c44b4d61f3 Kernel: Make Inode::lookup() return a RefPtr<Inode>
Previously this API would return an InodeIdentifier, which meant that
there was a race in path resolution where an inode could be unlinked
in between finding the InodeIdentifier for a path component, and
actually resolving that to an Inode object.

Attaching a test that would quickly trip an assertion before.

Test: Kernel/path-resolution-race.cpp
2020-02-01 10:56:17 +01:00
..
Custody.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Custody.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
DevPtsFS.cpp Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
DevPtsFS.h Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
DiskBackedFileSystem.cpp Kernel+LibC+Userland: Switch to 64-bit time_t 2020-01-27 10:59:29 +01:00
DiskBackedFileSystem.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ext2_fs.h Meta: Remove some copyright headers added in error 2020-01-25 10:34:32 +01:00
ext2_types.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Ext2FileSystem.cpp Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
Ext2FileSystem.h Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
FIFO.cpp Kernel: Make DoubleBuffer use a KBuffer instead of kmalloc()ing 2020-01-20 16:08:49 +01:00
FIFO.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
File.cpp Kernel: Move setting file flags and r/w mode to VFS::open() 2020-01-18 23:51:22 +01:00
File.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileDescription.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileDescription.h Kernel: Make O_RDONLY non-zero 2020-01-21 13:27:08 +01:00
FileSystem.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileSystem.h Kernel: Tweak some include statements 2020-01-28 20:42:27 +01:00
Inode.cpp Kernel: LocalSocket should fail with EADDRINUSE for already-bound files 2020-01-30 22:15:45 +01:00
Inode.h Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
InodeFile.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeFile.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeIdentifier.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeMetadata.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeWatcher.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeWatcher.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ProcFS.cpp Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
ProcFS.h Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
TmpFS.cpp Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
TmpFS.h Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
VirtualFileSystem.cpp Kernel: Make Inode::lookup() return a RefPtr<Inode> 2020-02-01 10:56:17 +01:00
VirtualFileSystem.h Kernel+LibC: Clean up open() flag (O_*) definitions 2020-01-21 13:34:39 +01:00