Thread (148 messages) flat view 148 messages, 17 authors, 2022-06-09

Re: [PATCH 00/35] Shadow stacks for userspace

From: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
Date: 2022-06-01 17:24:38
Also in: linux-arch, linux-doc, linux-mm, lkml

On Wed, 2022-06-01 at 11:06 +0300, Mike Rapoport wrote:
quoted
Yea, having something working is really great. My only hesitancy is
that, per a discussion on the LAM patchset, we are going to make
this
enabling API CET only (same semantics for though). I suppose the
locking API arch_prctl() could still be support other arch
features,
but it might be a second CET only regset. It's not the end of the
world.
The support for CET in criu is anyway experimental for now, if the
kernel
API will be slightly different in the end, we'll update criu.
The important things are the ability to control tracee shadow stack
from ptrace, the ability to map the shadow stack at fixed address and
the
ability to control the features at least from ptrace.
As long as we have APIs that provide those, it should be Ok.
 
quoted
I guess the other consideration is tieing CRIU to glibc
peculiarities.
Like even if we fix glibc, then CRIU may not work with some other
libc
or app that force disables for some weird reason. Is it supposed to
be
libc-agnostic?
Actually using the ptrace to control the CET features does not tie
criu to
glibc. The current proposal for the arch_prctl() allows libc to lock
CET
features and having a ptrace call to control the lock makes criu
agnostic
to libc behaviour.
From staring at the glibc code, I'm suspicious something was weird with
your test setup, as I don't think it should be locking. But I guess to
be completely proper you would need to save and restore the lock state
anyway. So, ok yea, on balance probably better to have an extra
interface.

Should we make it a GET/SET interface?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help