Searched hist:"43 b8fa8e981226418b8d0722ba260a7df63638ab" (Results 1 – 1 of 1) sorted by relevance
| /rk3399_ARM-atf/include/lib/ |
| H A D | smccc.h | 43b8fa8e981226418b8d0722ba260a7df63638ab Mon Jul 02 11:01:16 UTC 2018 Sandrine Bailleux <sandrine.bailleux@arm.com> Fix incorrect pointer conversion in SMC_UUID_RET()
Casting a pointer to a struct uuid into a pointer to uint32_t may result in a pointer that is not correctly aligned, which constitutes an undefined behaviour. In the case of TF, this also generates a data abort because alignment fault checking is enabled (through the SCTLR.A bit).
This patch modifies the SMC_UUID_RET() macro to read the uuid structure without any pointer aliasing. A helper function then combines every set of 4 bytes into a 32-bit value suitable to be returned through the x0-x3 registers.
This fixes a violation of MISRA rule 11.3.
Change-Id: I53ee73bb4cb332f4d8286055ceceb6f347caa080 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|