arm64: module: ensure instruction is little-endian before manipulation
authorWill Deacon <will.deacon@arm.com>
Tue, 5 Nov 2013 10:16:52 +0000 (10:16 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 5 Nov 2013 10:23:13 +0000 (10:23 +0000)
commit122e2fa0d310d262cb85cf0b003032e5d2bc2ae7
treed6d40641150f867af562c1dfb84c3d17f05fdd72
parentdab7ea360967f26337be1f26f56b12771da8c731
arm64: module: ensure instruction is little-endian before manipulation

Relocations that require an instruction immediate to be re-encoded must
ensure that the instruction pattern is represented in a little-endian
format for the manipulation code to work correctly.

This patch converts the loaded instruction into native-endianess prior
to encoding and then converts back to little-endian byteorder before
updating memory.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Tested-by: Matthew Leach <matthew.leach@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/module.c