diff options
author | Matthew Leach <matthew.leach@arm.com> | 2013-10-11 15:52:14 +0200 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-10-25 16:59:37 +0200 |
commit | a1d5ebaf8ccdd100f45042ce32c591867de04ac3 (patch) | |
tree | 8f47a40eabb63ca19ec96936fd808537824c0b25 /arch/arm64/include | |
parent | arm64: compat: correct register concatenation for syscall wrappers (diff) | |
download | linux-a1d5ebaf8ccdd100f45042ce32c591867de04ac3.tar.xz linux-a1d5ebaf8ccdd100f45042ce32c591867de04ac3.zip |
arm64: big-endian: don't treat code as data when copying sigret code
Currently the sigreturn compat code is copied to an offset in the
vectors table. When using a BE kernel this data will be stored in the
wrong endianess so when returning from a signal on a 32-bit BE system,
arbitrary code will be executed.
Instead of declaring the code inside a struct and copying that, use
the assembler's .byte directives to store the code in the correct
endianess regardless of platform endianess.
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/include')
0 files changed, 0 insertions, 0 deletions