HomeFreeBSD

When entering exception handlers we may not have an aligned stack. This is
rS253968Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

When entering exception handlers we may not have an aligned stack. This is
because an exception may happen at any time. The stack alignment rules on
ARM EABI state the only place the stack must be 8-byte aligned is on a
function boundary.

If an exception happens while a function is setting up or tearing down it's
stack frame it may not be correctly aligned. There is also no requirement
for it to be when the function is a leaf node.

The fix is to align the stack after we have stored a backup of the old stack
pointer, but before we have stored anything in the trapframe. Along with
this we need to adjust the size of the trapframe by 4 bytes to ensure the
stack below it is also correctly aligned.

Details

Provenance
andrewAuthored on
Parents
rS253967: The tmpfs_alloc_vp() is used to instantiate vnode for the tmpfs node,
Branches
Unknown
Tags
Unknown

Event Timeline