From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10729 invoked from network); 19 Oct 2020 22:41:02 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 19 Oct 2020 22:41:02 -0000 Received: (qmail 1245 invoked by uid 550); 19 Oct 2020 22:40:50 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 1209 invoked from network); 19 Oct 2020 22:40:49 -0000 IronPort-SDR: iIUY8f0woCoPZxDeYMzRKX1SQn8sFENveUFhxO4vo1qej8UOfI66L0BhzXVJ5VMsXXE5Bpoo1N HphKckx/WBzA== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="231313841" X-IronPort-AV: E=Sophos;i="5.77,395,1596524400"; d="scan'208";a="231313841" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False IronPort-SDR: wo+u+a+S03OahoIaoIT9O1rt7G9qW9XF18cg58UbMeLR+juU2aglmLB2djHxRyPJnEPqXKFAMk C8q9xDOM7gog== X-IronPort-AV: E=Sophos;i="5.77,395,1596524400"; d="scan'208";a="465692039" From: Joao Moreira To: musl@lists.openwall.com Date: Mon, 19 Oct 2020 15:43:38 -0700 Message-Id: <20201019224342.53303-1-joao.moreira@intel.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [musl] [PATCH 0/4] Add CET IBT Support to MUSL 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 (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