[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <4dadd9c101e32b17e927d56966c54e734ced21ab.1604393169.git.szabolcs.nagy@arm.com>
Date: Tue, 3 Nov 2020 10:26:42 +0000
From: Szabolcs Nagy <szabolcs.nagy@....com>
To: libc-alpha@...rceware.org
Cc: Jeremy Linton <jeremy.linton@....com>,
Catalin Marinas <catalin.marinas@....com>,
Mark Rutland <mark.rutland@....com>,
Will Deacon <will.deacon@....com>,
Mark Brown <broonie@...nel.org>,
Florian Weimer <fweimer@...hat.com>,
Kees Cook <keescook@...omium.org>,
Salvatore Mesoraca <s.mesoraca16@...il.com>,
Lennart Poettering <mzxreary@...inter.de>,
Topi Miettinen <toiwoton@...il.com>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
kernel-hardening@...ts.openwall.com,
linux-hardening@...r.kernel.org
Subject: [PATCH 4/4] aarch64: Remove the bti link_map field [BZ #26831]
The bti link_map field is no longer necessary because PROT_BTI
is applied at note processing time immediately instead of in
_dl_open_check based on the bti field.
This is a separate patch that is not expected to be backported
to avoid changing the link_map layout that is libc internal ABI.
---
sysdeps/aarch64/dl-prop.h | 5 +----
sysdeps/aarch64/linkmap.h | 1 -
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/sysdeps/aarch64/dl-prop.h b/sysdeps/aarch64/dl-prop.h
index 762bc93733..cf14381e4a 100644
--- a/sysdeps/aarch64/dl-prop.h
+++ b/sysdeps/aarch64/dl-prop.h
@@ -52,10 +52,7 @@ _dl_process_gnu_property (struct link_map *l, int fd, uint32_t type,
unsigned int feature_1 = *(unsigned int *) data;
if (feature_1 & GNU_PROPERTY_AARCH64_FEATURE_1_BTI)
- {
- l->l_mach.bti = true; /* No longer needed. */
- _dl_bti_protect (l, fd);
- }
+ _dl_bti_protect (l, fd);
/* Stop if we processed the property note. */
return 0;
diff --git a/sysdeps/aarch64/linkmap.h b/sysdeps/aarch64/linkmap.h
index 847a03ace2..e921e77495 100644
--- a/sysdeps/aarch64/linkmap.h
+++ b/sysdeps/aarch64/linkmap.h
@@ -22,5 +22,4 @@ struct link_map_machine
{
ElfW(Addr) plt; /* Address of .plt */
void *tlsdesc_table; /* Address of TLS descriptor hash table. */
- bool bti; /* Branch Target Identification is enabled. */
};
--
2.17.1
Powered by blists - more mailing lists