ladybird/Kernel
Liav A b40b1c8d93 Kernel+Userland: Ensure proper unveil permissions before using rm/rmdir
When deleting a directory, the rmdir syscall should fail if the path was
unveiled without the 'c' permission. This matches the same behavior that
OpenBSD enforces when doing this kind of operation.

When deleting a file, the unlink syscall should fail if the path was
unveiled without the 'w' permission, to ensure that userspace is aware
of the possibility of removing a file only when the path was unveiled as
writable.

When using the userdel utility, we now unveil that directory path with
the unveil 'c' permission so removal of an account home directory is
done properly.
2023-06-02 17:53:55 +02:00
..
API Kernel: Mark sys$get_dir_entries as not needing the big lock 2023-05-27 10:58:58 +02:00
Arch Kernel: Move the Storage directory to be a new directory under Devices 2023-06-02 11:04:37 +02:00
Bus AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
Devices Kernel: Move the Storage directory to be a new directory under Devices 2023-06-02 11:04:37 +02:00
FileSystem Kernel+Userland: Ensure proper unveil permissions before using rm/rmdir 2023-06-02 17:53:55 +02:00
Firmware Kernel/PCI: Hold a reference to DeviceIdentifier in the Device class 2023-01-26 23:04:26 +01:00
Graphics AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
Heap Kernel+LibC: Move name length constants to Kernel/API from limits.h 2023-01-21 10:43:59 -07:00
Interrupts Kernel: Move handle_interrupt out-of-line in PCIIRQHandler 2023-05-21 18:01:29 -06:00
Library Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
Locking Kernel: Don't ref/unref the holder thread in Mutex 2023-04-04 10:33:42 +02:00
Memory Kernel/ScatterGatherList: Add region_name as a part of try_create API 2023-05-19 22:04:37 +02:00
Net Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
Prekernel Revert "Kernel/x86: Bake the Prekernel and the Kernel into one image" 2023-04-28 23:24:19 +02:00
Syscalls Kernel: Mark sys$get_dir_entries as not needing the big lock 2023-05-27 10:58:58 +02:00
Tasks AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
Time Kernel/aarch64: Fix build after #17842 2023-05-25 08:26:07 -07:00
TTY Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
AddressSanitizer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AddressSanitizer.h
Assertions.h Kernel: Replace VERIFY_NOT_REACHED with TODO_AARCH64 2022-10-16 17:35:37 +02:00
AtomicEdgeAction.h Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
BootInfo.h Kernel: Store the kernel command line in a StringView 2023-04-29 08:24:18 +02:00
CMakeLists.txt Kernel: Move the Storage directory to be a new directory under Devices 2023-06-02 11:04:37 +02:00
CommandLine.cpp Kernel: Check only for the first equal sign in the kernel command line 2023-05-19 20:11:53 -06:00
CommandLine.h Kernel: Store the kernel command line in a StringView 2023-04-29 08:24:18 +02:00
Coredump.cpp Kernel: Stop using *LockRefPtr for Process pointers 2023-04-04 10:33:42 +02:00
Coredump.h Kernel: Mark a bunch of NonnullRefPtrs also const to ensure immutability 2023-04-08 13:44:21 +02:00
CrashHandler.cpp Kernel: Add optional userspace backtrace to Process::crash 2023-02-08 18:19:48 +00:00
Credentials.cpp Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
Credentials.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
Debug.h.in Meta: Remove unused debug flags, add missing GENERATE_DEBUG 2023-05-14 16:01:57 -06:00
DoubleBuffer.cpp Kernel: Move InterruptDisabler out of Arch directory 2022-10-17 20:11:31 +02:00
DoubleBuffer.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
ExecutionMode.h Kernel: Factor our PreviousMode into RegisterState::previous_mode 2023-01-27 11:41:43 +01:00
Forward.h Kernel/FileSystem: Simplify the ProcFS significantly 2023-02-24 22:14:18 +01:00
FutexQueue.cpp Kernel: Propagate OOM conditions out of sys$futex 2022-07-21 16:39:22 +02:00
FutexQueue.h AK+Kernel: Add AK::AtomicRefCounted and use everywhere in the kernel 2022-08-20 17:15:52 +02:00
generate-version-file.sh Kernel: Bake version information into the Kernel 2022-10-14 13:45:33 +02:00
InterruptDisabler.h Kernel: Move InterruptDisabler out of Arch directory 2022-10-17 20:11:31 +02:00
IOWindow.cpp Kernel: Add bar_address_mask to mask the last 4 bits of a BAR address 2023-04-24 21:41:54 +02:00
IOWindow.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Jail.cpp Kernel: Allow configuring a Jail to not impose PID isolation restriction 2023-04-24 12:15:29 +02:00
Jail.h Kernel: Allow configuring a Jail to not impose PID isolation restriction 2023-04-24 12:15:29 +02:00
KBuffer.h Everywhere: Remove string.h include from AK/Traits.h and resolve fallout 2023-01-21 10:43:59 -07:00
KBufferBuilder.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
KBufferBuilder.h Kernel: Remove includes to LibC stdarg definitions 2023-03-01 19:36:53 -07:00
KLexicalPath.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
KLexicalPath.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
kprintf.cpp Kernel: Move a bunch of generic devices code into new subdirectory 2023-05-19 21:49:21 +02:00
kstdio.h Kernel: Remove includes to LibC stdarg definitions 2023-03-01 19:36:53 -07:00
KString.cpp Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KString.h AK: Add support for "debug only" formatters 2023-01-13 21:09:26 +00:00
KSyms.cpp Kernel: Add optional userspace backtrace to Process::crash 2023-02-08 18:19:48 +00:00
KSyms.h Kernel: Add ability to dump backtrace from provided frame pointer 2022-10-01 14:09:01 +02:00
MiniStdLib.cpp Kernel: Remove i686 support 2022-12-28 11:53:41 +01:00
mkmap.sh Kernel: Use the toolchain's nm in mkmap.sh 2021-12-30 18:10:51 +01:00
Multiboot.h Kernel: Add basic aarch64 support to MemoryManager 2022-09-12 00:56:44 +01:00
Panic.cpp Kernel: Add RPi Watchdog and use it for system shutdown 2023-05-17 01:32:43 -06:00
Panic.h Kernel: Implement __panic() for the aarch64 Kernel 2022-05-03 21:53:36 +02:00
PerformanceEventBuffer.cpp AK+Kernel: Add includes before removing Kernel/ProcessExposed.h 2023-02-24 22:14:18 +01:00
PerformanceEventBuffer.h Everywhere: Remove needless copies of Error / ErrorOr instances 2023-02-10 09:08:52 +00:00
PerformanceManager.h Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
PhysicalAddress.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Process.cpp Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
Process.h Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
ProcessGroup.cpp Kernel: Make ProcessGroup a ListedRefCounted and fix two races 2023-04-05 11:37:27 +02:00
ProcessGroup.h Kernel: Make ProcessGroup a ListedRefCounted and fix two races 2023-04-05 11:37:27 +02:00
ProcessList.cpp Kernel: Make the Jails' internal design a lot more sane 2023-03-12 10:21:59 -06:00
Random.cpp Kernel/aarch64: Fix build after #17842 2023-05-25 08:26:07 -07:00
Random.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
SanCov.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
Scheduler.cpp Kernel: Mark the idle thread as active before switching it in 2023-04-17 20:30:17 +02:00
Scheduler.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ScopedCritical.cpp Kernel: Move ScopedCritical.cpp to Kernel base directory 2022-12-29 19:32:20 -07:00
ScopedCritical.h Kernel: Move ScopedCritical.cpp to Kernel base directory 2022-12-29 19:32:20 -07:00
Sections.h Kernel/aarch64: Change base address of the kernel to 0x2000000000 2023-01-24 14:54:44 +00:00
StdLib.cpp AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
StdLib.h AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
Syscall.cpp Kernel: Add optional userspace backtrace to Process::crash 2023-02-08 18:19:48 +00:00
Thread.cpp AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
Thread.h AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
ThreadBlockers.cpp AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
ThreadTracer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadTracer.h Kernel+Userland: Remove dependency on i386-specific registers 2022-12-28 11:53:41 +01:00
TimerQueue.cpp AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
TimerQueue.h AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
UBSanitizer.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
UnixTypes.h Kernel: Add support for SA_SIGINFO 2022-03-04 20:07:05 +01:00
UserOrKernelBuffer.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
UserOrKernelBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
VirtualAddress.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
WaitQueue.cpp Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WaitQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
WorkQueue.cpp Kernel/aarch64: Make sure no reordering of DAIF::read is possible 2023-04-13 20:22:08 +02:00
WorkQueue.h Kernel: Stop using *LockRefPtr for Thread 2023-04-04 10:33:42 +02:00