This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Revert Intel CET changes to __jmp_buf_tag (Bug 22743)
On 01/25/2018 06:33 AM, H.J. Lu wrote:
Please don't revert my patch. Please try this patch:
https://sourceware.org/git/?p=glibc.git;a=commit;h=4b7fc470a6740808b41502d7431f91805e272d26
instead. I will clean it up and submit it tomorrow.
I don't see how adding a symbol version to pthread_create helps to solve
the general case. Callers of pthread_register_cancel and pthread_create
are often compiled at different times. Not everyone does a mass rebuild
each time they switch to a new glibc version.
I still think you are over-engineering this. The pad array has still an
unused member (the last one). Just change sigsetjmp to store the shadow
pointer in that location, then the old and new setjmp will work with the
current stack layout. As far as I can tell, there are only 64 signals,
so you don't even have to change the location of the signal mask.
Furthermore, nothing in the toolchain prevents people from compiling
CET-marked binaries with older glibc headers, so you can't use CET
markup to determine the size of the stack allocation anyway.
Thanks,
Florian