mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 19:07:52 +00:00
ARM: zynq: Use memcpy_toio instead of memcpy on smp bring-up
commitb7005d4ef4
upstream. This fixes a kernel panic on memcpy when FORTIFY_SOURCE is enabled. The initial smp implementation on commitaa7eb2bb4e
("arm: zynq: Add smp support") used memcpy, which worked fine until commitee333554fe
("ARM: 8749/1: Kconfig: Add ARCH_HAS_FORTIFY_SOURCE") enabled overflow checks at runtime, producing a read overflow panic. The computed size of memcpy args are: - p_size (dst): 4294967295 = (size_t) -1 - q_size (src): 1 - size (len): 8 Additionally, the memory is marked as __iomem, so one of the memcpy_* functions should be used for read/write. Fixes:aa7eb2bb4e
("arm: zynq: Add smp support") Signed-off-by: Luis Araneda <luaraneda@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a7c25f73cc
commit
44141474c0
1 changed files with 1 additions and 1 deletions
|
@ -65,7 +65,7 @@ int zynq_cpun_start(u32 address, int cpu)
|
||||||
* 0x4: Jump by mov instruction
|
* 0x4: Jump by mov instruction
|
||||||
* 0x8: Jumping address
|
* 0x8: Jumping address
|
||||||
*/
|
*/
|
||||||
memcpy((__force void *)zero, &zynq_secondary_trampoline,
|
memcpy_toio(zero, &zynq_secondary_trampoline,
|
||||||
trampoline_size);
|
trampoline_size);
|
||||||
writel(address, zero + trampoline_size);
|
writel(address, zero + trampoline_size);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue