banan-os/kernel/include/kernel
Bananymous df260fe0e8 Kernel: Process::validate_pointer_access now maps the whole range
This fixes a bug where userspace provided address is not fully mapped
and the kernel tries to read/write it while using PageTable fast page.

In the future userspace input should be copied on syscall entry, so
userspace could not modify the input during syscall. Currently there
is change that userspace input passes kernel syscall validation and
after that userspace could modify the input before the value is
actually used.
2024-05-24 14:14:17 +03:00
..
ACPI Kernel: Implement ACPI reset 2024-04-22 21:12:13 +03:00
Device Kernel: Start making device numbers unique for each device 2024-02-22 15:53:48 +02:00
FS Kernel/LibC: Rework dirent structure 2024-05-22 20:19:59 +03:00
Input Kernel: PS2Controller uses RecursiveSpinLock so timeouts don't panic 2024-03-15 13:45:44 +02:00
Lock Kernel: Fix PriorityMutex::try_lock() 2024-04-18 01:36:15 +03:00
Memory Kernel: Make PageTable::s_fast_page_lock non-recursive 2024-05-24 14:12:35 +03:00
Networking Kernel: Move Interruptable from InterruptController.h to its own file 2024-03-06 00:47:02 +02:00
Storage Kernel: NVMe Queue max simultaneous commands is dependent on arch 2024-03-26 01:45:43 +02:00
Terminal Kernel: Move Interruptable from InterruptController.h to its own file 2024-03-06 00:47:02 +02:00
Timer Kernel: Move Interruptable from InterruptController.h to its own file 2024-03-06 00:47:02 +02:00
APIC.h Kernel: Implement IPI broadcasting 2024-03-09 23:53:38 +02:00
Arch.h Kernel: Replace i386 with i686 2024-03-26 02:48:26 +02:00
Attributes.h Kernel: add NEVER_INLINE and make Interruptable not constructable 2023-10-13 16:17:27 +03:00
BananBootloader.h Bootloader: Implement VESA video mode query and pass it to kernel 2023-11-17 22:45:35 +02:00
BootInfo.h Kernel: Parse RSDP from multiboot headers if exists 2024-01-26 00:49:42 +02:00
CPUID.h Kernel: Move current page table to Processor 2024-03-06 02:19:59 +02:00
Credentials.h Kernel: Implement supplementary groups 2024-01-02 23:24:32 +02:00
Debug.h Kernel: Fix all broken locks from new mutexes 2024-02-28 22:45:34 +02:00
Errors.h BAN: Make String and StringView header only 2024-05-23 15:43:26 +03:00
Font.h All: Cleanup all files 2024-01-24 15:53:38 +02:00
GDT.h Kernel: Set ss in i686 tss 2024-04-03 00:43:38 +03:00
IDT.h Kernel: Fix multiprocessing on x86_64 2024-04-03 14:21:55 +03:00
IO.h All: Cleanup all files 2024-01-24 15:53:38 +02:00
InterruptController.h Kernel: Remove lai as a dependecy 2024-04-10 04:39:48 +03:00
InterruptStack.h Kernel: Rework scheduler/processor stacks. 2024-04-02 12:34:42 +03:00
Interruptable.h Kernel: Move Interruptable from InterruptController.h to its own file 2024-03-06 00:47:02 +02:00
MMIO.h All: Cleanup all files 2024-01-24 15:53:38 +02:00
OpenFileDescriptorSet.h Kernel/LibC: Update SYS_SEEK to return new offset and implement lseek 2024-05-23 14:49:23 +03:00
PCI.h All: Cleanup all files 2024-01-24 15:53:38 +02:00
PIC.h Kernel: Implement IPI broadcasting 2024-03-09 23:53:38 +02:00
Panic.h BAN/Kernel: Rework assertion/panic system 2024-03-04 11:41:54 +02:00
Process.h Kernel: Process::validate_pointer_access now maps the whole range 2024-05-24 14:14:17 +03:00
Processor.h Kernel: Rewrite whole scheduler 2024-03-29 18:02:12 +02:00
RSDP.h Kernel: Parse RSDP from multiboot headers if exists 2024-01-26 00:49:42 +02:00
Random.h Kernel: Implement super simple PRNG 2024-02-12 04:25:06 +02:00
Scheduler.h Kernel: Fix multiprocessing on x86_64 2024-04-03 14:21:55 +03:00
SchedulerQueue.h Kernel: Rewrite whole scheduler 2024-03-29 18:02:12 +02:00
Semaphore.h Kernel: Semaphores and Threads can now be blocked with timeout 2024-02-09 15:28:15 +02:00
Syscall.h LibC: Rewrite all the headers. 2023-05-26 22:31:21 +03:00
Thread.h Kernel: Fix signal trampoline 2024-04-18 13:32:40 +03:00
kprint.h Kernel: Start work on making tty a file 2023-04-05 00:56:09 +03:00
multiboot2.h Kernel: Don't use multiboot2 explicitly. Parse it to common structure 2023-11-17 18:54:59 +02:00