svn commit: r313772 - head/sys/arm64/arm64
Mark Millard
markmi at dsl-only.net
Wed Feb 15 21:45:14 UTC 2017
On 2017-Feb-15, at 1:39 PM, Oliver Pinter <oliver.pinter at hardenedbsd.org> wrote:
> On 2/15/17, Mark Millard <markmi at dsl-only.net> wrote:
>>> Author: andrew
>>> Date: Wed Feb 15 14:56:47 2017
>>> New Revision: 313772
>>> URL:
>>> https://svnweb.freebsd.org/changeset/base/313772
>>>
>>> Log:
>>> Load the new sp_el0 with interrupts disabled in fork_trampoline. If an
>>> interrupt arrives in fork_trampoline after sp_el0 was written we may
>>> then
>>> switch to a new thread, enter userland so change this stack pointer,
>>> then
>>> return to this code with the wrong value. This fixes this case by
>>> moving
>>> the load of sp_el0 until after interrupts have been disabled.
>>
>> https://svnweb.freebsd.org/base/stable/11/sys/arm64/arm64/swtch.S?revision=302408&view=markup
>>
>> shows stable/11 has the same issue.
>>
>> Is this to be MFC'd at some point?
>>
>>
>> stable/10 seems to have a different code structure:
>>
>> https://svnweb.freebsd.org/base/stable/10/sys/amd64/amd64/
>
> This is x86-64 aka amd64 in FreeBSD, in 10-STABLE only 32 bit ARM
> support exists, so there isn't arm64.
Clearly I was somewhat distracted and careless when I looked at
stable/10. Sorry for the noise in that part.
Still the stable/11 part does apply: at least I got something
right.
>>
>> . . .
===
Mark Millard
markmi at dsl-only.net
More information about the svn-src-head
mailing list