Stefanos Kornilios Mitsis Poiitidis

Results 336 comments of Stefanos Kornilios Mitsis Poiitidis

https://elixir.bootlin.com/linux/latest/source/arch/x86/ia32/ia32_signal.c#L347 https://elixir.bootlin.com/linux/latest/source/arch/x86/include/asm/sigframe.h#L23 the `rt_sigframe` has special some meaning for some applications (eg, gdb) according to comments around the kernel, we could match ours with it for guest gdb debugging.

One more note on the actual flow in the linux kernel. For non usermode-linux kernels, signal delivery starts from `handle_signal_work` (https://elixir.bootlin.com/linux/latest/source/kernel/entry/common.c#L143) which calls `arch_do_signal_or_restart` (https://elixir.bootlin.com/linux/latest/source/include/linux/entry-common.h#L280) implemented in https://elixir.bootlin.com/linux/latest/source/arch/x86/kernel/signal.c#L864. `arch_do_signal_or_restart` calls...

#### Complication: Signal mask handling vs thunks A host thunk may modify the signal mask, and the guest will not be informed about, so if it goes `getprocmask` it will...

#### Complication: Signal mask handling on guest signal returns When returning from a guest signal handler we need to give the guest's signal mask back to the kernel, not the...

#### To Investigate: X86ContextBackup/ArmContextBackup may not contain or restore all of the context AVX and other extensions in x86, SVE and other extensions in arm. There's a `// XXX: Save...

From discussion with @Sonicadvance1, `MINSIGSTKSZ` (2048 bytes in old applications, variable in glibc > 2.34) is a limiting factor on how much stack we use. This is also an issue...

Run into guest stack overflows in a sample app that used 4kb stacks, both with `main` and `skmp/guest-rt_sigreturn`.

Another interesting tidbit from `do_sigaction` (common signal handling code) in the kernel [source](https://elixir.bootlin.com/linux/latest/source/kernel/signal.c#L4133) ``` POSIX 3.3.1.3: "Setting a signal action to SIG_IGN for a signal that is pending shall cause...

Yes, I'm not trusting anything (except how the kernel actually implements things) at this point

And everything is subject to a test case