From c13fb09697692d0cb66103d42c8dc0ff737e9664 Mon Sep 17 00:00:00 2001 From: tjuhasz Date: Tue, 5 Aug 2025 12:45:51 +0200 Subject: [PATCH] src: add Intel CET properties to large_pages.S Add note indicating support of Intel CET for large_pages.S file based on annocheck guide: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html --- src/large_pages/node_text_start.S | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/large_pages/node_text_start.S b/src/large_pages/node_text_start.S index d27dd39cc236f0..2a643457b57254 100644 --- a/src/large_pages/node_text_start.S +++ b/src/large_pages/node_text_start.S @@ -1,6 +1,27 @@ #if defined(__ELF__) .section .note.GNU-stack,"",%progbits #endif +// Add .note.gnu.property note for x86_64 to enable Intel CET +// Based on: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html +// Refs: https://github.com/nodejs/node/issues/59084 +#if defined(__x86_64__) || defined(_M_X64) +.section .note.gnu.property,"a" +.align 8 +.long 1f - 0f +.long 4f - 1f +.long 5 +0: +.string "GNU" +1: +.align 8 +.long 0xc0000002 +.long 3f - 2f +2: +.long 0x3 +3: +.align 8 +4: +#endif .text .align 0x2000 .global __node_text_start