diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2017-06-13 01:23:54 +0200 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2017-06-13 01:26:22 +0200 |
commit | ba1fbb688edf7db0edf3ea9d24a95d5a5ef2260c (patch) | |
tree | 437b12ad243189a0c9f6db7c77edba5052499751 /src/Crypto | |
parent | 95bf8f85745bedeb09b82c187eb668d632f53424 (diff) | |
download | VeraCrypt-ba1fbb688edf7db0edf3ea9d24a95d5a5ef2260c.tar.gz VeraCrypt-ba1fbb688edf7db0edf3ea9d24a95d5a5ef2260c.zip |
Linux: fix executable stack in resulting binary which was caused by crypto assembly files missing the GNU-stack note.
Diffstat (limited to 'src/Crypto')
-rw-r--r-- | src/Crypto/Aes_hw_cpu.asm | 11 | ||||
-rw-r--r-- | src/Crypto/Aes_x64.asm | 11 | ||||
-rw-r--r-- | src/Crypto/Aes_x86.asm | 11 | ||||
-rw-r--r-- | src/Crypto/Twofish_x64.S | 5 | ||||
-rw-r--r-- | src/Crypto/Twofish_x86.S | 10 |
5 files changed, 48 insertions, 0 deletions
diff --git a/src/Crypto/Aes_hw_cpu.asm b/src/Crypto/Aes_hw_cpu.asm index edc20b29..4822e6a4 100644 --- a/src/Crypto/Aes_hw_cpu.asm +++ b/src/Crypto/Aes_hw_cpu.asm @@ -331,3 +331,14 @@ %endif ; __BITS__ != 16 + +%ifidn __OUTPUT_FORMAT__,elf +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf32 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf64 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif + diff --git a/src/Crypto/Aes_x64.asm b/src/Crypto/Aes_x64.asm index f74d0328..65965af1 100644 --- a/src/Crypto/Aes_x64.asm +++ b/src/Crypto/Aes_x64.asm @@ -905,3 +905,14 @@ end_prologue %endif %endif + +%ifidn __OUTPUT_FORMAT__,elf +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf32 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf64 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif + diff --git a/src/Crypto/Aes_x86.asm b/src/Crypto/Aes_x86.asm index 484e31a7..c45f790d 100644 --- a/src/Crypto/Aes_x86.asm +++ b/src/Crypto/Aes_x86.asm @@ -644,3 +644,14 @@ stk_spc equ 20 ; stack space do_exit %endif + +%ifidn __OUTPUT_FORMAT__,elf +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf32 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf64 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif + diff --git a/src/Crypto/Twofish_x64.S b/src/Crypto/Twofish_x64.S index 1e271691..c3483e33 100644 --- a/src/Crypto/Twofish_x64.S +++ b/src/Crypto/Twofish_x64.S @@ -312,3 +312,8 @@ movq %r8, %rdx; .endif ret; +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif + + diff --git a/src/Crypto/Twofish_x86.S b/src/Crypto/Twofish_x86.S index e69de29b..4f654871 100644 --- a/src/Crypto/Twofish_x86.S +++ b/src/Crypto/Twofish_x86.S @@ -0,0 +1,10 @@ +%ifidn __OUTPUT_FORMAT__,elf +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf32 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf64 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif + |