From: Alexander Gordeev Date: Thu, 24 Mar 2022 19:02:24 +0000 (+0100) Subject: s390/smp: use physical address for SIGP_SET_PREFIX command X-Git-Tag: v5.18-rc1~30^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7277b4216a1162157de06fd93cd54426c47d47b8;p=thirdparty%2Fkernel%2Flinux.git s390/smp: use physical address for SIGP_SET_PREFIX command Signal processor SIGP_SET_PREFIX command expects physical address of the lowcore to be installed, but instead the virtual address is provided. Note: this does not fix a bug currently, since virtual and physical addresses are identical. Reviewed-by: Heiko Carstens Signed-off-by: Alexander Gordeev Signed-off-by: Vasily Gorbik --- diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 51529c33c7bf2..30c91d5659337 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c @@ -213,7 +213,7 @@ static int pcpu_alloc_lowcore(struct pcpu *pcpu, int cpu) if (nmi_alloc_mcesa(&lc->mcesad)) goto out; lowcore_ptr[cpu] = lc; - pcpu_sigp_retry(pcpu, SIGP_SET_PREFIX, (u32)(unsigned long) lc); + pcpu_sigp_retry(pcpu, SIGP_SET_PREFIX, __pa(lc)); return 0; out: