Thread (32 messages) 32 messages, 4 authors, 2018-06-29

Re: [PATCH v2 2/6] powerpc/pkeys: Save the pkey registers before fork

flat view

From: Ram Pai <hidden>
Date: 2018-06-21 17:36:00

On Thu, Jun 21, 2018 at 02:13:40PM +1000, Michael Ellerman wrote:
Ram Pai [off-list ref] writes:
quoted
On Tue, Jun 19, 2018 at 10:39:56PM +1000, Michael Ellerman wrote:
quoted
Ram Pai [off-list ref] writes:
quoted
When a thread forks the contents of AMR, IAMR, UAMOR registers in the
newly forked thread are not inherited.

Save the registers before forking, for content of those
registers to be automatically copied into the new thread.

CC: Michael Ellerman <mpe@ellerman.id.au>
CC: Florian Weimer <redacted>
CC: Andy Lutomirski <luto@kernel.org>
CC: Thiago Jung Bauermann <redacted>
Signed-off-by: Ram Pai <redacted>
Again this is an ABI change but we'll call it a bug fix I guess.
yes. the same defense here too. its a behaviorial change for the better.
Single threaded applications will not see any behaviorial change.
Multithreaded apps, which were unable to consume, the behavior will now be
able to do so.
Well threads is one thing, but this also affects processes.

And actually without this fix it's possible that a child process could
fault on a region protected in the parent, if the value in the AMR in
the thread struct happens to block access at the time of fork(). The
value in the thread struct would be whatever was in the AMR the last
time the parent was scheduled in. I think?
right. Child processes will see stale value of AMR. Technically this
behavior is a bug, since existing applications; if any,  cannot rely on
this stale AMR value.

RP
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help