blob: 09bab89931ababaf36a52e751e6ab68f287d9b14 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
From f27f96cee0b73f770cf69cb98a5744f769014ee5 Mon Sep 17 00:00:00 2001
From: "James A. Kupsch" <kupsch@cs.wisc.edu>
Date: Mon, 30 Aug 2021 10:18:17 -0500
Subject: [PATCH] remove executable flag from .dyninst_heap section
This prevents the library/object with this code from having a segment violates
the W^X security property for segments as the current setting resulted in
segment with both the WRITE and EXECUTE flags set. The function
mark_heaps_exec() restores execute protection to just the heap arrays.
--- a/dyninstAPI_RT/src/RTspace.S
+++ b/dyninstAPI_RT/src/RTspace.S
@@ -8,7 +8,7 @@
.type DYNINSTstaticHeap_16M_anyHeap_1, @object
.size DYNINSTstaticHeap_16M_anyHeap_1, 16777216
-.section .dyninst_heap,"awx",@nobits
+.section .dyninst_heap,"aw",@nobits
.align 16
DYNINSTstaticHeap_512K_lowmemHeap_1:
.skip 524288
|