Thread (10 messages) flat view 10 messages, 2 authors, 2019-01-31

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at C startup and thread creation (v6)

From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: 2019-01-31 16:53:39
Also in: lkml

----- On Jan 31, 2019, at 11:37 AM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:
----- On Jan 30, 2019, at 4:10 PM, Joseph Myers joseph@codesourcery.com wrote:
quoted
On Wed, 30 Jan 2019, Mathieu Desnoyers wrote:
quoted
#if defined (__NR_rseq) && !defined (RSEQ_SIG)
# error "UAPI headers support rseq system call, but glibc does not define
RSEQ_SIG."
#endif

Would that take care of your concerns ?
That would of course need appropriate conditionals based on the most
recent kernel version for which a given glibc version has been updated, so
that using new kernel headers with an existing glibc release does not make
the build fail (cf. the test of syscall-names.list).
The test I hint at above would not be for the glibc build per se. It would
be for a check that glibc implements support for all the system calls
available in the kernel headers (if such a test target currently exists).
quoted
And being able to
write such a test only solves one half of the problem - it needs to be
easy to determine what value to put in that header in glibc for an
architecture that's newly gained support in the kernel, *without* needing
any architecture expertise.
I'm afraid this requirement is incompatible with the nature of the RSEQ
signature. This signature may be required to be a specific trap instruction
by the architecture, so deciding on its value without architecture expertise
is not possible.
Just to clarify a point: the "success criterion" I'm aiming for here is to
provide a rseq integration that does not cause foreseeable user crashes on
upgrade.

I'm all for taking into account the maintenance burden on glibc maintainers as
a metric in the implementation choices made, but at this point, I don't see
how we can achieve success without introducing architecture headers for the
RSEQ_SIG signature. If you have ideas on how to further minimize the maintenance
burden for glibc maintainers while still meeting the success criterion, I'm all
ears.

Thanks,

Mathieu



-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help