mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Joao Moreira <joao.moreira@intel.com>
To: musl@lists.openwall.com
Subject: [musl] [PATCH 0/4] Add CET IBT Support to MUSL
Date: Mon, 19 Oct 2020 15:43:38 -0700	[thread overview]
Message-ID: <20201019224342.53303-1-joao.moreira@intel.com> (raw)

Indirect Branch Tracking is an X86 feature which enforces that
indirect-branches to always target an endbranch instruction, confing the
execution flow of applications and protecting against control-flow hijacking
attacks. This patch series adds IBT support to MUSL.

Signed-off-by: Joao Moreira <joao.moreira@intel.com>

Joao Moreira (4):
  Support ASFLAGS in configure and Makefile
  Add ENDBRANCH64 and ENDBRANCH32 macro definitions
  Add endbr64 to x86_64 assembly functions
  Add endbr32 to i386 assembly functions

 Makefile                              |  4 ++--
 arch/x86_64/crt_arch.h                |  3 +++
 configure                             |  3 +++
 crt/i386/crti.s                       |  4 ++++
 crt/i386/crtn.s                       |  4 ++++
 crt/x86_64/crti.s                     |  4 ++++
 crt/x86_64/crtn.s                     |  4 ++++
 src/fenv/i386/fenv.s                  | 13 +++++++++++--
 src/fenv/x86_64/fenv.s                |  9 +++++++++
 src/include/ibt.s                     | 13 +++++++++++++
 src/ldso/i386/dlsym.s                 |  3 +++
 src/ldso/i386/tlsdesc.s               |  4 ++++
 src/ldso/x86_64/dlsym.s               |  3 +++
 src/ldso/x86_64/tlsdesc.s             |  4 ++++
 src/math/i386/acos.s                  |  2 ++
 src/math/i386/acosf.s                 |  3 +++
 src/math/i386/acosl.s                 |  3 +++
 src/math/i386/asin.s                  |  3 +++
 src/math/i386/asinf.s                 |  3 +++
 src/math/i386/asinl.s                 |  3 +++
 src/math/i386/atan.s                  |  3 +++
 src/math/i386/atan2.s                 |  3 +++
 src/math/i386/atan2f.s                |  3 +++
 src/math/i386/atan2l.s                |  3 +++
 src/math/i386/atanf.s                 |  3 +++
 src/math/i386/atanl.s                 |  2 ++
 src/math/i386/exp_ld.s                |  4 ++++
 src/math/i386/expl.s                  |  2 ++
 src/math/i386/floor.s                 | 11 +++++++++++
 src/math/i386/hypot.s                 |  3 +++
 src/math/i386/hypotf.s                |  3 +++
 src/math/i386/log.s                   |  3 +++
 src/math/i386/log10.s                 |  3 +++
 src/math/i386/log10f.s                |  3 +++
 src/math/i386/log10l.s                |  3 +++
 src/math/i386/log1p.s                 |  3 +++
 src/math/i386/log1pf.s                |  3 +++
 src/math/i386/log1pl.s                |  3 +++
 src/math/i386/log2.s                  |  3 +++
 src/math/i386/log2f.s                 |  3 +++
 src/math/i386/log2l.s                 |  3 +++
 src/math/i386/logf.s                  |  3 +++
 src/math/i386/logl.s                  |  3 +++
 src/math/i386/remquo.s                |  5 +++++
 src/math/i386/scalbn.s                |  5 +++++
 src/math/i386/scalbnf.s               |  5 +++++
 src/math/i386/scalbnl.s               |  5 +++++
 src/math/x86_64/acosl.s               |  2 ++
 src/math/x86_64/asinl.s               |  3 +++
 src/math/x86_64/atan2l.s              |  3 +++
 src/math/x86_64/atanl.s               |  3 +++
 src/math/x86_64/exp2l.s               |  4 ++++
 src/math/x86_64/expl.s                |  3 +++
 src/math/x86_64/floorl.s              |  5 +++++
 src/math/x86_64/log10l.s              |  3 +++
 src/math/x86_64/log1pl.s              |  3 +++
 src/math/x86_64/log2l.s               |  3 +++
 src/math/x86_64/logl.s                |  3 +++
 src/process/i386/vfork.s              |  3 +++
 src/process/x86_64/vfork.s            |  3 +++
 src/setjmp/i386/longjmp.s             |  3 +++
 src/setjmp/i386/setjmp.s              |  3 +++
 src/setjmp/x86_64/longjmp.s           |  3 +++
 src/setjmp/x86_64/setjmp.s            |  3 +++
 src/signal/i386/restore.s             |  4 ++++
 src/signal/i386/sigsetjmp.s           |  3 +++
 src/signal/x86_64/restore.s           |  3 +++
 src/signal/x86_64/sigsetjmp.s         |  3 +++
 src/string/i386/memcpy.s              |  3 +++
 src/string/i386/memmove.s             |  3 +++
 src/string/i386/memset.s              |  7 +++++--
 src/string/x86_64/memcpy.s            |  3 +++
 src/string/x86_64/memmove.s           |  3 +++
 src/string/x86_64/memset.s            |  3 +++
 src/thread/i386/__set_thread_area.s   |  3 +++
 src/thread/i386/__unmapself.s         |  3 +++
 src/thread/i386/clone.s               |  3 +++
 src/thread/i386/syscall_cp.s          |  3 +++
 src/thread/i386/tls.s                 |  3 +++
 src/thread/x86_64/__set_thread_area.s |  3 +++
 src/thread/x86_64/__unmapself.s       |  3 +++
 src/thread/x86_64/clone.s             |  3 +++
 src/thread/x86_64/syscall_cp.s        |  4 +++-
 83 files changed, 297 insertions(+), 7 deletions(-)
 create mode 100644 src/include/ibt.s

-- 
2.27.0


             reply	other threads:[~2020-10-19 22:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-19 22:43 Joao Moreira [this message]
2020-10-19 22:43 ` [musl] [PATCH 1/4] Support ASFLAGS in configure and Makefile Joao Moreira
2020-10-19 22:43 ` [musl] [PATCH 2/4] Add ENDBRANCH64 and ENDBRANCH32 macro definitions Joao Moreira
2020-10-19 22:43 ` [musl] [PATCH 3/4] Add endbr64 to x86_64 assembly functions Joao Moreira
2020-10-19 22:43 ` [musl] [PATCH 4/4] Add endbr32 to i386 " Joao Moreira

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=20201019224342.53303-1-joao.moreira@intel.com \
    --to=joao.moreira@intel.com \
    --cc=musl@lists.openwall.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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 NNTP newsgroup(s).