Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Feb 2017 13:22:37 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        Andrew Turner <andrew@fubar.geek.nz>, svn-src-head@freebsd.org
Subject:   Re: svn commit: r313772 - head/sys/arm64/arm64
Message-ID:  <62A5F129-EFD3-496B-854C-9D8623EFFD38@dsl-only.net>

next in thread | raw e-mail | index | archive | help
> Author: andrew
> Date: Wed Feb 15 14:56:47 2017
> New Revision: 313772
> URL:=20
> https://svnweb.freebsd.org/changeset/base/313772
>=20
> 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=
=3D302408&view=3Dmarkup

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/

does not list swtch.S . So I'm unsure about its status for
fork returning to the child process and its handling of the
stack pointer to be restored.

=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?62A5F129-EFD3-496B-854C-9D8623EFFD38>