summaryrefslogtreecommitdiffstats
path: root/module/icp/asm-x86_64
diff options
context:
space:
mode:
authorJason Zaman <[email protected]>2016-08-11 23:59:03 +0800
committerBrian Behlendorf <[email protected]>2016-08-12 09:51:26 -0700
commita3600a106deead9ef33466ab95a87cb64e7b995b (patch)
treef9eaf9095971e7a6aa81551cab82656b64bdfdb3 /module/icp/asm-x86_64
parenta9947ce77175234fa4e26afc663a75041b37f8f0 (diff)
icp: mark asm files with noexec stack
If there is no explicit note in the .S files, the obj file will mark it as requiring an executable stack. This is unneeded and causes issues on hardened systems. More info: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart Signed-off-by: Jason Zaman <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #4947 Closes #4962
Diffstat (limited to 'module/icp/asm-x86_64')
-rw-r--r--module/icp/asm-x86_64/aes/aes_amd64.S4
-rw-r--r--module/icp/asm-x86_64/aes/aes_intel.S4
-rw-r--r--module/icp/asm-x86_64/modes/gcm_intel.S4
-rw-r--r--module/icp/asm-x86_64/sha1/sha1-x86_64.S4
-rw-r--r--module/icp/asm-x86_64/sha2/sha256_impl.S4
5 files changed, 20 insertions, 0 deletions
diff --git a/module/icp/asm-x86_64/aes/aes_amd64.S b/module/icp/asm-x86_64/aes/aes_amd64.S
index fb6444119..fa66dc321 100644
--- a/module/icp/asm-x86_64/aes/aes_amd64.S
+++ b/module/icp/asm-x86_64/aes/aes_amd64.S
@@ -898,3 +898,7 @@ dec_tab:
SET_SIZE(aes_decrypt_amd64)
#endif /* lint || __lint */
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",%progbits
+#endif
diff --git a/module/icp/asm-x86_64/aes/aes_intel.S b/module/icp/asm-x86_64/aes/aes_intel.S
index 0b4700f96..6c5c0f919 100644
--- a/module/icp/asm-x86_64/aes/aes_intel.S
+++ b/module/icp/asm-x86_64/aes/aes_intel.S
@@ -849,3 +849,7 @@ ENTRY_NP(aes_decrypt_intel)
SET_SIZE(aes_decrypt_intel)
#endif /* lint || __lint */
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",%progbits
+#endif
diff --git a/module/icp/asm-x86_64/modes/gcm_intel.S b/module/icp/asm-x86_64/modes/gcm_intel.S
index 9bb40bf23..109f9b47b 100644
--- a/module/icp/asm-x86_64/modes/gcm_intel.S
+++ b/module/icp/asm-x86_64/modes/gcm_intel.S
@@ -332,3 +332,7 @@ ENTRY_NP(gcm_mul_pclmulqdq)
SET_SIZE(gcm_mul_pclmulqdq)
#endif /* lint || __lint */
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",%progbits
+#endif
diff --git a/module/icp/asm-x86_64/sha1/sha1-x86_64.S b/module/icp/asm-x86_64/sha1/sha1-x86_64.S
index 53cc156a7..6fb4ac5da 100644
--- a/module/icp/asm-x86_64/sha1/sha1-x86_64.S
+++ b/module/icp/asm-x86_64/sha1/sha1-x86_64.S
@@ -1344,3 +1344,7 @@ SET_SIZE(sha1_block_data_order)
.asciz "SHA1 block transform for x86_64, CRYPTOGAMS by <[email protected]>"
#endif /* lint || __lint */
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",%progbits
+#endif
diff --git a/module/icp/asm-x86_64/sha2/sha256_impl.S b/module/icp/asm-x86_64/sha2/sha256_impl.S
index b6a9bbc86..b689c9022 100644
--- a/module/icp/asm-x86_64/sha2/sha256_impl.S
+++ b/module/icp/asm-x86_64/sha2/sha256_impl.S
@@ -2058,3 +2058,7 @@ K256:
.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
#endif /* !lint && !__lint */
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",%progbits
+#endif