Thread (4 messages) 4 messages, 2 authors, 2019-05-30

rt kernel break printf command's parent process

From: ddu <hidden>
Date: 2019-05-27 09:47:43

Hi all

I use yocto rt-kernel which rebase on rt kernel:

http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto/log/?h=v5.0/standard/preempt-rt/intel-x86

yocto branch: master

run command:

printf "%0.0f\n" 123.4567

error:

[ OK ] Stopped Serial Getty on ttyS0.
[ OK ] Started Serial Getty on ttyS0.

the system loged out, and let login again.

I using bisect to find which commit break the it:

---------------------------------------------------------------------------

commit 6115b04921fc2b8a6b9f7de6d35a0202204a36ba
Author: Rik van Riel [off-list ref]
Date:   Sun Sep 9 18:30:50 2018 +0200

     x86/fpu: Always store the registers in copy_fpstate_to_sigframe()

     copy_fpstate_to_sigframe() stores the registers directly to user space.
     This is okay because the FPU register are valid and saving it directly
     avoids saving it into kernel memory and making a copy.
     However<E2><80><A6> We can't keep doing this if we are going to 
restore the FPU
     registers on the return to userland. It is possible that the FPU
     registers will be invalidated in the middle of the save operation and
     this should be done with disabled preemption / BH.

     Save the FPU registers to task's FPU struct and copy them to the user
     memory later on.

     This code is extracted from an earlier version of the patchset while
     there still was lazy-FPU on x86.

     Signed-off-by: Rik van Riel [off-list ref]
     Signed-off-by: Sebastian Andrzej Siewior [off-list ref]

---------------------------------------------------------------------------

When I want to revert it, I found it's a serial patches, so if I revert 
it, I need to revert a serial patches.

So can anyone help me to trace where break the return from printf and 
break the parent process?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help