arm-trusted-firmware/docs
Douglas Raillard 51faada71a Add support for GCC stack protection
Introduce new build option ENABLE_STACK_PROTECTOR. It enables
compilation of all BL images with one of the GCC -fstack-protector-*
options.

A new platform function plat_get_stack_protector_canary() is introduced.
It returns a value that is used to initialize the canary for stack
corruption detection. Returning a random value will prevent an attacker
from predicting the value and greatly increase the effectiveness of the
protection.

A message is printed at the ERROR level when a stack corruption is
detected.

To be effective, the global data must be stored at an address
lower than the base of the stacks. Failure to do so would allow an
attacker to overwrite the canary as part of an attack which would void
the protection.

FVP implementation of plat_get_stack_protector_canary is weak as
there is no real source of entropy on the FVP. It therefore relies on a
timer's value, which could be predictable.

Change-Id: Icaaee96392733b721fa7c86a81d03660d3c1bc06
Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
2017-03-31 13:58:48 +01:00
..
diagrams Initialize secondary CPUs during cold boot 2016-03-07 09:23:38 +00:00
plat Tegra: enable ECC/Parity protection for Cortex-A57 CPUs 2017-02-28 08:50:01 -08:00
spd spd: dispatcher for interacting with the Trusty TEE 2016-11-08 15:50:04 -08:00
auth-framework.md Remove dashes from image names: 'BL3-x' --> 'BL3x' 2015-12-14 12:31:37 +00:00
change-log.md Release v1.3: update change-log.md 2016-10-13 15:17:39 +01:00
cpu-specific-build-macros.md Add workaround for ARM Cortex-A53 erratum 855873 2017-03-20 10:57:46 +00:00
firmware-design.md firmware-design: Fix typo in ToC header flags specification 2017-03-20 13:43:52 +00:00
firmware-update.md Improve FWU documentation 2016-12-20 11:43:10 +00:00
interrupt-framework-design.md Docs: Clarify IRQ/FIQ handler API in Interrupt Design Guide 2016-11-17 10:04:49 +00:00
platform-migration-guide.md Remove dashes from image names: 'BL3-x' --> 'BL3x' 2015-12-14 12:31:37 +00:00
porting-guide.md Add support for GCC stack protection 2017-03-31 13:58:48 +01:00
psci-lib-integration-guide.md PSCI: Optimize call paths if all participants are cache-coherent 2017-03-02 11:00:20 +00:00
psci-pd-tree.md Rework type usage in Trusted Firmware 2016-07-18 17:52:15 +01:00
reset-design.md Introduce the ARM TF reset design document 2015-12-15 15:14:43 +00:00
rt-svc-writers-guide.md Introduce PSCI Library Interface 2016-07-19 10:19:01 +01:00
trusted-board-boot.md Replace fip_create with fiptool 2016-07-29 10:38:46 +01:00
user-guide.md Add support for GCC stack protection 2017-03-31 13:58:48 +01:00