From: Alexander Gordeev Date: Wed, 26 Jan 2022 12:47:59 +0000 (+0100) Subject: s390/dump: fix os_info virtual vs physical address confusion X-Git-Tag: v5.15.73~1165 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9287df4362941f7ef1e8dd7cff6b3f2618fdb5b1;p=platform%2Fkernel%2Flinux-rpi.git s390/dump: fix os_info virtual vs physical address confusion [ Upstream commit 9de209c7d584d6e06ad92f120d83d4f27c200497 ] Due to historical reasons os_info handling functions misuse the notion of physical vs virtual addresses difference. 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 Signed-off-by: Sasha Levin --- diff --git a/arch/s390/kernel/os_info.c b/arch/s390/kernel/os_info.c index e548844..6b5b64e 100644 --- a/arch/s390/kernel/os_info.c +++ b/arch/s390/kernel/os_info.c @@ -46,7 +46,7 @@ void os_info_crashkernel_add(unsigned long base, unsigned long size) */ void os_info_entry_add(int nr, void *ptr, u64 size) { - os_info.entry[nr].addr = (u64)(unsigned long)ptr; + os_info.entry[nr].addr = __pa(ptr); os_info.entry[nr].size = size; os_info.entry[nr].csum = (__force u32)csum_partial(ptr, size, 0); os_info.csum = os_info_csum(&os_info); @@ -63,7 +63,7 @@ void __init os_info_init(void) os_info.version_minor = OS_INFO_VERSION_MINOR; os_info.magic = OS_INFO_MAGIC; os_info.csum = os_info_csum(&os_info); - mem_assign_absolute(S390_lowcore.os_info, (unsigned long) ptr); + mem_assign_absolute(S390_lowcore.os_info, __pa(ptr)); } #ifdef CONFIG_CRASH_DUMP