Date: Sun, 19 Mar 2017 11:18:12 -0300 From: =?UTF-8?B?T3RhY8OtbGlv?= <otacilio.neto@bsd.com.br> To: freebsd-arm@freebsd.org Subject: Re: A potential fix for arm64's: sh`forkshell child-process path after fork sometimes has a bad stack pointer value Message-ID: <f4f18f66-03c2-640c-fa85-aabe08434f08@bsd.com.br> In-Reply-To: <3BC697B9-4A3E-49FF-AB11-1106E2EF8399@dsl-only.net> References: <DC3CC3BE-9D8C-41ED-ADD0-AFD4019B2E90@dsl-only.net> <2D04FF37-DEC8-42CE-961D-AE8CD58A0EAA@dsl-only.net> <93064627-5F72-4167-90B1-0A98ABF4C99C@dsl-only.net> <3BC697B9-4A3E-49FF-AB11-1106E2EF8399@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Em 14/02/2017 13:35, Mark Millard escreveu: > The following change has let my test run for 8.5 hours so far without a > fork-failure in sh`forkshell : > > # svnlite diff /usr/src/sys/arm64/arm64/swtch.S > Index: /usr/src/sys/arm64/arm64/swtch.S > =================================================================== > --- /usr/src/sys/arm64/arm64/swtch.S (revision 312982) > +++ /usr/src/sys/arm64/arm64/swtch.S (working copy) > @@ -241,6 +241,12 @@ > mov fp, #0 /* Stack traceback stops here. */ > bl _C_LABEL(fork_exit) > > + /* > + * Disable interrupts to avoid > + * overwriting sp_el0 and spsr_el1 by an IRQ exception. > + */ > + msr daifset, #2 > + > /* Restore sp and lr */ > ldp x0, x1, [sp] > msr sp_el0, x0 > @@ -263,12 +269,6 @@ > ldp x28, x29, [sp, #TF_X + 28 * 8] > /* Skip x30 as it was restored above as lr */ > > - /* > - * Disable interrupts to avoid > - * overwriting spsr_el1 by an IRQ exception. > - */ > - msr daifset, #2 > - > /* Restore elr and spsr */ > ldp x0, x1, [sp, #16] > msr elr_el1, x0 > > I'm going to switch to attempting a self-hosted buildworld > buildkernel again. > > === > Mark Millard > markmi at dsl-only.net > > > _______________________________________________ > freebsd-arm@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org" This patch or some other about this bug was committed to HEAD? []'s -Otacilio
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f4f18f66-03c2-640c-fa85-aabe08434f08>