mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Wood (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MESOS-6835) Fix SIGBUS on ARM64/AArch64
Date Thu, 22 Dec 2016 21:37:58 GMT

     [ https://issues.apache.org/jira/browse/MESOS-6835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Aaron Wood updated MESOS-6835:
------------------------------
    Description: 
Currently in the Linux launcher when the stack is allocated and prepared for a call to clone()
it is not properly aligned. This is not an issue for x86 or x64 but for ARM64/AArch64 it is
because of the requirement of having the stack aligned to a 16 byte boundary. While x86 and
x64 also expect the stack to have a 16 byte aligned stack, it is not enforced. An explanation
of the stack and requirements for ARM64 can be found here http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055b/IHI0055B_aapcs64.pdf
(specifically section 5.2.2.1 that says SP mod 16 = 0. The stack must be quad-word aligned.)

Additionally, the way that the stack is currently allocated and passed to clone() accidentally
chops off one entry, making a stack overflow using those missing 8 bytes a possibility. Fixing
this while aligning the memory will fix both the issue of the stack overflow issue as well
as the SIGBUS crash.

https://reviews.apache.org/r/54996/

  was:
Currently in the Linux launcher when the stack is allocated and prepared for a call to clone()
it is not properly aligned. This is not an issue for x86 or x64 but for ARM64/AArch64 it is
because of the requirement of having the stack aligned to a 16 byte boundary. While x86 and
x64 also expect the stack to have a 16 byte aligned stack, it is not enforced.

Additionally, the way that the stack is currently allocated and passed to clone() accidentally
chops off one entry, making a stack overflow using those missing 8 bytes a possibility. Fixing
this while aligning the memory will fix both the issue of the stack overflow issue as well
as the SIGBUS crash.

https://reviews.apache.org/r/54996/


> Fix SIGBUS on ARM64/AArch64
> ---------------------------
>
>                 Key: MESOS-6835
>                 URL: https://issues.apache.org/jira/browse/MESOS-6835
>             Project: Mesos
>          Issue Type: Bug
>          Components: security, stout
>            Reporter: Aaron Wood
>            Assignee: Aaron Wood
>
> Currently in the Linux launcher when the stack is allocated and prepared for a call to
clone() it is not properly aligned. This is not an issue for x86 or x64 but for ARM64/AArch64
it is because of the requirement of having the stack aligned to a 16 byte boundary. While
x86 and x64 also expect the stack to have a 16 byte aligned stack, it is not enforced. An
explanation of the stack and requirements for ARM64 can be found here http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055b/IHI0055B_aapcs64.pdf
(specifically section 5.2.2.1 that says SP mod 16 = 0. The stack must be quad-word aligned.)
> Additionally, the way that the stack is currently allocated and passed to clone() accidentally
chops off one entry, making a stack overflow using those missing 8 bytes a possibility. Fixing
this while aligning the memory will fix both the issue of the stack overflow issue as well
as the SIGBUS crash.
> https://reviews.apache.org/r/54996/



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message