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 Thu, Jan 25, 2018 at 8:47 AM, Florian Weimer <fweimer@redhat.com> wrote:
> On 01/25/2018 05:22 PM, Zack Weinberg wrote:
>>
>> This seems like the sort of thing that could reasonably be backported
>> to the release branch(es) ...*after* we have calmly, without rushing,
>> figured out the correct fix in mainline.
>
>
> H.J.'s approach requires that glibc 2.27 is fixed now because once people
> build with CET, binaries will have the CET markup but still follow the old
> ABI (assuming we make the ABI change subsequently).
No, they won't. We haven't checked in the critical patch to turn on
the CET markup yet. You can build glibc 2.27 with GCC 8. But you
won't get
[hjl@gnu-6 build-x86_64-linux]$ readelf -n csu/crt1.o
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT, SHSTK
Displaying notes found in: .note.ABI-tag
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 3.2.0
[hjl@gnu-6 build-x86_64-linux]$
Use an used padding in pthread_unwind_buf to save and restore
shadow stack isn't a long term solution. What do we do if we need
to save and restore another register in jmp buf 5 years from now?
> (I don't understand why this doesn't already happen when glibc 2.26 headers
> are used to build programs with CET compiler flags.)
>
See above.
--
H.J.