ladybird/Kernel
Tom 7d1b8417bd Kernel: Add safe_memcpy, safe_memset and safe_strnlen
These special functions can be used to safely copy/set memory or
determine the length of a string, e.g. provided by user mode.

In the event of a page fault, safe_memcpy/safe_memset will return
false and safe_strnlen will return -1.
2020-09-13 21:19:15 +02:00
..
ACPI Kernel: Add SMP IPI support 2020-07-06 17:07:44 +02:00
API Kernel+LibC+UE: Implement sleep() via sys$clock_nanosleep() 2020-08-30 13:21:24 +02:00
Arch Kernel: Add safe_memcpy, safe_memset and safe_strnlen 2020-09-13 21:19:15 +02:00
Devices Kernel/USB: Disable autodetection of UHCI controllers for now 2020-09-05 15:42:54 +02:00
FileSystem Kernel: Fix various forward declarations 2020-09-12 13:46:15 +02:00
Heap Kernel: Fix heap expansion loop 2020-09-09 20:14:30 +02:00
Interrupts Refactor: Replace usages of FixedArray with Vector. 2020-09-08 14:01:21 +02:00
Modules Kernel: Module symbol declarations for type-checking 2020-08-12 20:40:59 +02:00
Net IPv4: Truncate raw socket reads past buffer length 2020-09-10 12:03:56 +02:00
PCI Kernel: Add PCI::get_programming_interface(PCI::Address) 2020-09-03 21:02:47 +02:00
Syscalls Kernel: Rename Process::is_ring0/3 to Process::is_kernel/user_process 2020-09-10 19:57:15 +02:00
Tasks Kernel: Require a reason to be passed to Thread::wait_on 2020-07-06 10:00:24 +02:00
Time AK: Remove FixedArray class. 2020-09-08 14:01:21 +02:00
TTY Kernel+LibC+UE: Introduce SIGINFO (generated with ^T) 2020-09-09 21:10:23 +02:00
VM Kernel: Fix various forward declarations 2020-09-12 13:46:15 +02:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h Kernel: List all CPUs in /proc/cpuinfo 2020-07-01 12:07:01 +02:00
CMakeLists.txt Kernel/USB: Start fleshing out a basic UHCI controller driver :^) 2020-09-04 21:21:41 +02:00
CMOS.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CommandLine.cpp Kernel: Copy command line to a safe place 2020-08-25 09:48:48 +02:00
CommandLine.h Kernel: Copy command line to a safe place 2020-08-25 09:48:48 +02:00
Console.cpp Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
Console.h Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
DoubleBuffer.cpp Kernel: Make File::write() and File::read() return KResultOr<size_t> 2020-08-04 18:17:16 +02:00
DoubleBuffer.h Kernel: Make File::write() and File::read() return KResultOr<size_t> 2020-08-04 18:17:16 +02:00
Forward.h Kernel: Remove spurious ProcessInspectionHandle 2020-09-12 13:46:15 +02:00
init.cpp Kernel/USB: Start fleshing out a basic UHCI controller driver :^) 2020-09-04 21:21:41 +02:00
IO.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
KBuffer.h Kernel: Make Inode::read_entire() return a KBuffer (not ByteBuffer) 2020-08-11 20:29:14 +02:00
KBufferBuilder.cpp AK: Rename KB, MB, GB to KiB, MiB, GiB 2020-08-16 16:33:28 +02:00
KBufferBuilder.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
kprintf.cpp Kernel: Stop supporting sprintf 2020-08-22 20:55:10 +02:00
KResult.h Kernel: Decorate KResult and KResultOr<T> methods with [[nodiscard]] 2020-08-09 00:13:39 +02:00
kstdio.h Kernel: Stop supporting sprintf 2020-08-22 20:55:10 +02:00
KSyms.cpp Kernel: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
KSyms.h Kernel: Update cryptically-named functions related to symbolication 2020-04-08 17:19:46 +02:00
linker.ld Kernel: Invoke heap constructors separately early on 2020-08-10 20:05:18 +02:00
Lock.cpp Kernel: Add SMP IPI support 2020-07-06 17:07:44 +02:00
Lock.h AK: Add ALWAYS_INLINE, NEVER_INLINE and FLATTEN macros 2020-04-30 11:43:25 +02:00
mkmap.sh Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Module.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Multiboot.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
PerformanceEventBuffer.cpp Kernel: Don't use copy_from_user() for kernelspace read in perf events 2020-08-17 09:57:18 +02:00
PerformanceEventBuffer.h Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
PhysicalAddress.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
Process.cpp Kernel: Rename Process::is_ring0/3 to Process::is_kernel/user_process 2020-09-10 19:57:15 +02:00
Process.h Kernel: Rename Process::is_ring0/3 to Process::is_kernel/user_process 2020-09-10 19:57:15 +02:00
ProcessGroup.cpp Kernel: Distinguish between new and old process groups with equal pgids 2020-08-19 21:21:34 +02:00
ProcessGroup.h Kernel: Distinguish between new and old process groups with equal pgids 2020-08-19 21:21:34 +02:00
Profiling.cpp AK: Rename KB, MB, GB to KiB, MiB, GiB 2020-08-16 16:33:28 +02:00
Profiling.h Kernel: More PID/TID typing 2020-08-10 11:51:45 +02:00
Ptrace.cpp Kernel: More PID/TID typing 2020-08-10 11:51:45 +02:00
Ptrace.h Kernel: Move headers intended for userspace use into Kernel/API/ 2020-07-04 17:22:23 +02:00
Random.cpp Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
Random.h Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
RTC.cpp Kernel: Minor tweak to now() computation 2020-08-26 08:52:07 +02:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Scheduler.cpp Kernel: Fix crash when delivering signal to barely created thread 2020-09-07 16:49:19 +02:00
Scheduler.h Kernel: Fix a few Thread::block related races 2020-08-03 15:59:11 +02:00
SharedBuffer.cpp Kernel: Unbreak building with extra debug macros, part 2 2020-08-30 09:43:49 +02:00
SharedBuffer.h Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
SpinLock.h Kernel: Do not wait before first attempt at locking SpinLock (#3212) 2020-08-19 11:10:53 +02:00
StdLib.cpp Kernel: Remove strcpy() 2020-08-24 00:45:03 +02:00
StdLib.h Kernel: Remove strcpy() 2020-08-24 00:45:03 +02:00
Syscall.cpp Kernel: Request random numbers for syscall stack noise in larger chunks (#3125) 2020-08-13 21:05:08 +02:00
Thread.cpp Kernel: Rename Process::is_ring0/3 to Process::is_kernel/user_process 2020-09-10 19:57:15 +02:00
Thread.h Kernel: Fix various forward declarations 2020-09-12 13:46:15 +02:00
ThreadTracer.cpp Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
ThreadTracer.h Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
TimerQueue.cpp Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
TimerQueue.h Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
UnixTypes.h Kernel+LibC+UE: Introduce SIGINFO (generated with ^T) 2020-09-09 21:10:23 +02:00
VirtualAddress.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
WaitQueue.cpp Kernel: Dequeue dying threads from WaitQueue 2020-08-06 10:02:55 +02:00
WaitQueue.h Kernel: Dequeue dying threads from WaitQueue 2020-08-06 10:02:55 +02:00