From: "H.J. Lu" <hjl.tools@gmail.com>
To: libc-alpha@sourceware.org
Subject: [PATCH-V2: 00/24] CET: Prepare for CET enabling
Date: Wed, 13 Jun 2018 15:32:00 -0000 [thread overview]
Message-ID: <20180613153207.57232-1-hjl.tools@gmail.com> (raw)
This is the first set of patches to enable CET, excluding changes which
use the new CET system calls. The complete set of patches is available
on hjl/cet/master branch at:
https://github.com/hjl-tools/glibc/tree/hjl/cet/master
I will submit the second set of patches with the new CET system calls,
which are on Linux kernel CET branch:
https://github.com/yyu168/linux_cet
later.
H.J. Lu (24):
x86: Rename __glibc_reserved1 to feature_1 in tcbhead_t [BZ #22563]
x86: Support shadow stack pointer in setjmp/longjmp
x86: Support IBT and SHSTK in Intel CET [BZ #21598]
x86: Add _CET_ENDBR to functions in crti.S
x86: Add _CET_ENDBR to functions in dl-tlsdesc.S
x86-64: Add _CET_ENDBR to STRCMP_SSE42
i386: Add _CET_ENDBR to indirect jump targets in add_n.S/sub_n.S
x86: Update vfork to pop shadow stack
x86_64: Use _CET_NOTRACK in strcmp.S
x86-64: Use _CET_NOTRACK in strcpy-sse2-unaligned.S
x86-64: Use _CET_NOTRACK in strcmp-sse42.S
x86-64: Use _CET_NOTRACK in memcpy-ssse3-back.S
x86-64: Use _CET_NOTRACK in memcmp-sse4.S
x86-64: Use _CET_NOTRACK in memcpy-ssse3.S
i386: Use _CET_NOTRACK in i686/memcmp.S
i386: Use _CET_NOTRACK in memset-sse2.S
i386: Use _CET_NOTRACK in memcmp-sse4.S
i386: Use _CET_NOTRACK in memcpy-ssse3-rep.S
i386: Use _CET_NOTRACK in memcpy-ssse3.S
i386: Use _CET_NOTRACK in strcpy-sse2.S
i386: Use _CET_NOTRACK in strcat-sse2.S
i386: Use _CET_NOTRACK in memset-sse2-rep.S
x86-64: Add endbr64 to tst-quadmod[12].S
Intel CET: Document --enable-cet
INSTALL | 11 ++
NEWS | 10 +
configure | 11 ++
configure.ac | 6 +
elf/dl-load.c | 61 +++---
elf/dl-open.c | 4 +
elf/rtld.c | 12 ++
manual/install.texi | 10 +
nptl/pthread_create.c | 5 +
sysdeps/i386/__longjmp.S | 78 ++++++++
sysdeps/i386/add_n.S | 27 ++-
sysdeps/i386/bsd-_setjmp.S | 21 ++
sysdeps/i386/bsd-setjmp.S | 21 ++
sysdeps/i386/crti.S | 2 +
sysdeps/i386/dl-tlsdesc.S | 7 +
sysdeps/i386/dl-trampoline.S | 72 +++++++
sysdeps/i386/i686/add_n.S | 27 ++-
sysdeps/i386/i686/memcmp.S | 4 +-
sysdeps/i386/i686/multiarch/memcmp-sse4.S | 4 +-
.../i386/i686/multiarch/memcpy-ssse3-rep.S | 8 +-
sysdeps/i386/i686/multiarch/memcpy-ssse3.S | 4 +-
sysdeps/i386/i686/multiarch/memset-sse2-rep.S | 4 +-
sysdeps/i386/i686/multiarch/memset-sse2.S | 4 +-
sysdeps/i386/i686/multiarch/strcat-sse2.S | 4 +-
sysdeps/i386/i686/multiarch/strcpy-sse2.S | 4 +-
sysdeps/i386/nptl/tcb-offsets.sym | 1 +
sysdeps/i386/nptl/tls.h | 5 +-
sysdeps/i386/setjmp.S | 21 ++
sysdeps/i386/sub_n.S | 26 ++-
.../unix/sysv/linux/i386/____longjmp_chk.S | 40 ++++
sysdeps/unix/sysv/linux/i386/dl-cet.c | 67 +++++++
sysdeps/unix/sysv/linux/i386/dl-machine.h | 23 +++
sysdeps/unix/sysv/linux/i386/vfork.S | 54 +++++
sysdeps/unix/sysv/linux/x86/Makefile | 43 +++-
sysdeps/unix/sysv/linux/x86/check-cet.awk | 53 +++++
sysdeps/unix/sysv/linux/x86/configure | 69 +++++++
sysdeps/unix/sysv/linux/x86/configure.ac | 46 +++++
sysdeps/unix/sysv/linux/x86/dl-cet.c | 186 ++++++++++++++++++
sysdeps/unix/sysv/linux/x86/dl-cet.h | 138 +++++++++++++
sysdeps/unix/sysv/linux/x86/dl-procruntime.c | 57 ++++++
sysdeps/unix/sysv/linux/x86/ldsodefs.h | 29 +++
sysdeps/unix/sysv/linux/x86/link_map.h | 26 +++
sysdeps/unix/sysv/linux/x86/pthreaddef.h | 24 +++
.../unix/sysv/linux/x86_64/____longjmp_chk.S | 41 ++++
sysdeps/unix/sysv/linux/x86_64/dl-machine.h | 27 +++
sysdeps/unix/sysv/linux/x86_64/vfork.S | 35 ++++
sysdeps/x86/Makefile | 1 +
sysdeps/x86/cpu-features.h | 5 +
sysdeps/x86/jmp_buf-ssp.sym | 1 +
sysdeps/x86/sysdep.h | 8 +
sysdeps/x86_64/__longjmp.S | 45 +++++
sysdeps/x86_64/crti.S | 2 +
sysdeps/x86_64/dl-tlsdesc.S | 5 +
sysdeps/x86_64/dl-trampoline.h | 2 +
sysdeps/x86_64/multiarch/memcmp-sse4.S | 2 +-
sysdeps/x86_64/multiarch/memcpy-ssse3-back.S | 6 +-
sysdeps/x86_64/multiarch/memcpy-ssse3.S | 124 ++++++------
sysdeps/x86_64/multiarch/strcmp-sse42.S | 3 +-
.../x86_64/multiarch/strcpy-sse2-unaligned.S | 2 +-
sysdeps/x86_64/nptl/tcb-offsets.sym | 1 +
sysdeps/x86_64/nptl/tls.h | 5 +-
sysdeps/x86_64/setjmp.S | 21 ++
sysdeps/x86_64/strcmp.S | 2 +-
sysdeps/x86_64/tst-quadmod1.S | 6 +
sysdeps/x86_64/tst-quadmod2.S | 6 +
65 files changed, 1561 insertions(+), 118 deletions(-)
create mode 100644 sysdeps/unix/sysv/linux/i386/dl-cet.c
create mode 100644 sysdeps/unix/sysv/linux/i386/dl-machine.h
create mode 100644 sysdeps/unix/sysv/linux/x86/check-cet.awk
create mode 100644 sysdeps/unix/sysv/linux/x86/configure
create mode 100644 sysdeps/unix/sysv/linux/x86/configure.ac
create mode 100644 sysdeps/unix/sysv/linux/x86/dl-cet.c
create mode 100644 sysdeps/unix/sysv/linux/x86/dl-cet.h
create mode 100644 sysdeps/unix/sysv/linux/x86/dl-procruntime.c
create mode 100644 sysdeps/unix/sysv/linux/x86/ldsodefs.h
create mode 100644 sysdeps/unix/sysv/linux/x86/link_map.h
create mode 100644 sysdeps/unix/sysv/linux/x86/pthreaddef.h
create mode 100644 sysdeps/unix/sysv/linux/x86_64/dl-machine.h
create mode 100644 sysdeps/x86/jmp_buf-ssp.sym
--
2.17.1
next reply other threads:[~2018-06-13 15:32 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-13 15:32 H.J. Lu [this message]
2018-06-13 15:32 ` [PATCH 09/24] x86_64: Use _CET_NOTRACK in strcmp.S H.J. Lu
2018-07-18 3:17 ` H.J. Lu
2018-06-13 15:32 ` [PATCH 14/24] x86-64: Use _CET_NOTRACK in memcpy-ssse3.S H.J. Lu
2018-06-13 15:32 ` [PATCH 24/24] Intel CET: Document --enable-cet H.J. Lu
2018-06-13 15:32 ` [PATCH 22/24] i386: Use _CET_NOTRACK in memset-sse2-rep.S H.J. Lu
2018-06-13 15:32 ` [PATCH 19/24] i386: Use _CET_NOTRACK in memcpy-ssse3.S H.J. Lu
2018-06-13 15:32 ` [PATCH 08/24] x86: Update vfork to pop shadow stack H.J. Lu
2018-06-13 15:32 ` [PATCH 01/24] x86: Rename __glibc_reserved1 to feature_1 in tcbhead_t [BZ #22563] H.J. Lu
2018-07-13 13:19 ` V2: " H.J. Lu
2018-07-13 18:51 ` Carlos O'Donell
2018-07-13 18:55 ` Jeff Law
2018-07-13 19:05 ` Carlos O'Donell
2018-07-13 19:11 ` Jeff Law
2018-07-13 19:22 ` Florian Weimer
2018-07-13 20:21 ` Carlos O'Donell
2018-06-13 15:32 ` [PATCH 21/24] i386: Use _CET_NOTRACK in strcat-sse2.S H.J. Lu
2018-06-13 15:32 ` [PATCH 10/24] x86-64: Use _CET_NOTRACK in strcpy-sse2-unaligned.S H.J. Lu
2018-06-13 15:32 ` [PATCH 16/24] i386: Use _CET_NOTRACK in memset-sse2.S H.J. Lu
2018-06-13 15:32 ` [PATCH 04/24] x86: Add _CET_ENDBR to functions in crti.S H.J. Lu
2018-07-06 14:50 ` Carlos O'Donell
2018-07-06 17:01 ` H.J. Lu
2018-07-06 18:48 ` Carlos O'Donell
2018-06-13 15:32 ` [PATCH 17/24] i386: Use _CET_NOTRACK in memcmp-sse4.S H.J. Lu
2018-06-13 15:32 ` [PATCH 02/24] x86: Support shadow stack pointer in setjmp/longjmp H.J. Lu
2018-07-12 18:13 ` Carlos O'Donell
2018-07-13 13:23 ` V2: " H.J. Lu
2018-07-13 18:49 ` Carlos O'Donell
2018-07-14 19:57 ` Florian Weimer
2018-07-14 21:03 ` H.J. Lu
2018-07-14 23:07 ` Florian Weimer
2018-07-14 23:16 ` H.J. Lu
2018-07-14 23:16 ` H.J. Lu
2018-07-15 8:07 ` Florian Weimer
2018-07-15 13:54 ` H.J. Lu
2018-07-15 20:20 ` Florian Weimer
2018-07-15 22:01 ` H.J. Lu
2018-06-13 15:32 ` [PATCH 23/24] x86-64: Add endbr64 to tst-quadmod[12].S H.J. Lu
2018-06-13 15:32 ` [PATCH 13/24] x86-64: Use _CET_NOTRACK in memcmp-sse4.S H.J. Lu
2018-06-13 15:32 ` [PATCH 20/24] i386: Use _CET_NOTRACK in strcpy-sse2.S H.J. Lu
2018-06-13 15:32 ` [PATCH 11/24] x86-64: Use _CET_NOTRACK in strcmp-sse42.S H.J. Lu
2018-06-13 15:32 ` [PATCH 03/24] x86: Support IBT and SHSTK in Intel CET [BZ #21598] H.J. Lu
2018-07-06 19:47 ` Carlos O'Donell
2018-07-07 20:02 ` V2 " H.J. Lu
2018-06-13 15:32 ` [PATCH 06/24] x86-64: Add _CET_ENDBR to STRCMP_SSE42 H.J. Lu
2018-07-06 14:50 ` Carlos O'Donell
2018-06-13 15:32 ` [PATCH 07/24] i386: Add _CET_ENDBR to indirect jump targets in add_n.S/sub_n.S H.J. Lu
2018-07-06 14:50 ` Carlos O'Donell
2018-06-13 15:32 ` [PATCH 18/24] i386: Use _CET_NOTRACK in memcpy-ssse3-rep.S H.J. Lu
2018-06-13 15:32 ` [PATCH 12/24] x86-64: Use _CET_NOTRACK in memcpy-ssse3-back.S H.J. Lu
2018-06-13 15:32 ` [PATCH 05/24] x86: Add _CET_ENDBR to functions in dl-tlsdesc.S H.J. Lu
2018-07-06 14:50 ` Carlos O'Donell
2018-06-13 15:32 ` [PATCH 15/24] i386: Use _CET_NOTRACK in i686/memcmp.S H.J. Lu
2018-07-02 14:54 ` [PATCH-V2: 00/24] CET: Prepare for CET enabling H.J. Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180613153207.57232-1-hjl.tools@gmail.com \
--to=hjl.tools@gmail.com \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).