ladybird/Kernel
Tom c3d231616c Kernel: Fix crash when delivering signal to barely created thread
We need to wait until a thread is fully set up and ready for running
before attempting to deliver a signal. Otherwise we may not have a
user stack yet.

Also, remove the Skip0SchedulerPasses and Skip1SchedulerPass thread
states that we don't really need anymore with software context switching.

Fixes the kernel crash reported in #3419
2020-09-07 16:49:19 +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: Fix Processor::features_string() stopping too early and detect more features 2020-08-31 18:57:54 +02:00
Devices Kernel/USB: Disable autodetection of UHCI controllers for now 2020-09-05 15:42:54 +02:00
FileSystem Kernel: Track time-of-last-write in SlavePTY and report it as mtime 2020-09-06 18:48:24 +02:00
Heap Kernel: Use removed memory as backup if backup hasn't been allocated 2020-09-02 00:35:56 +02:00
Interrupts Kernel: Unbreak building with extra debug macros, part 1 2020-08-30 09:43:49 +02:00
Modules Kernel: Module symbol declarations for type-checking 2020-08-12 20:40:59 +02:00
Net Kernel: Make File weakable 2020-09-06 18:46:46 +02:00
PCI Kernel: Add PCI::get_programming_interface(PCI::Address) 2020-09-03 21:02:47 +02:00
Syscalls Kernel: Fix crash when delivering signal to barely created thread 2020-09-07 16:49:19 +02:00
Tasks Kernel: Require a reason to be passed to Thread::wait_on 2020-07-06 10:00:24 +02:00
Time Kernel: Let TimeManagement keep epoch time as timespec 2020-09-07 11:22:48 +02:00
TTY Kernel: Track time-of-last-write in SlavePTY and report it as mtime 2020-09-06 18:48:24 +02:00
VM Kernel: Handle committing pages in regions more gracefully 2020-09-02 00:35:56 +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: Prevent recursive calls into the scheduler 2020-08-02 17:15:11 +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: Unbreak building with extra debug macros, part 2 2020-08-30 09:43:49 +02:00
Process.h Kernel: Distinguish between new and old process groups with equal pgids 2020-08-19 21:21:34 +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: Fix crash when delivering signal to barely created thread 2020-09-07 16:49:19 +02:00
Thread.h Kernel: Fix crash when delivering signal to barely created thread 2020-09-07 16:49:19 +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 Ext2FS: Make reported file_type values match up with those in dirent 2020-08-28 16:06:55 +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