blob: cd293567991063d9fd267afb713864b931806427 (
plain) (
blame)
1
2
3
4
5
6
7
|
The issue described relates to signal handling within QEMU where the stack alignment during signal handlers is incorrect, leading to crashes. The problem occurs when the `movaps` instruction is executed with an unaligned stack address. This misalignment arises because the kernel's stack adjustment for signal handlers does not adhere to the x86_64 ABI requirements.
The kernel code provided attempts to align the stack pointer but may incorrectly adjust it, resulting in a misaligned stack when entering a signal handler. Specifically, the current implementation subtracts 8 bytes after rounding down, which can lead to an incorrect alignment for certain cases.
To fix this issue, the stack adjustment needs to ensure that the stack pointer remains properly aligned according to the x86_64 ABI, especially when handling signals in user space applications like Ruby.
**Answer:** instruction
|