LoongArch: Make relocate_new_kernel_size be a .quad value
authorHuacai Chen <chenhuacai@loongson.cn>
Sun, 3 Aug 2025 14:49:47 +0000 (22:49 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Sun, 3 Aug 2025 14:49:47 +0000 (22:49 +0800)
commita1a81b5477196ca1290b367404a461e046e647d5
treed6696f31c78c642316a121c5ffd8c3fdc26b99c6
parent41fee4f0036734bec427659f749e44cfe1821565
LoongArch: Make relocate_new_kernel_size be a .quad value

Now relocate_new_kernel_size is a .long value, which means 32bit, so its
high 32bit is undefined. This causes memcpy((void *)reboot_code_buffer,
relocate_new_kernel, relocate_new_kernel_size) in machine_kexec_prepare()
access out of range memories in some cases, and then end up with an ADE
exception.

So make relocate_new_kernel_size be a .quad value, which means 64bit, to
avoid such errors.

Cc: stable@vger.kernel.org
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/kernel/relocate_kernel.S