]> www.infradead.org Git - users/dwmw2/linux.git/commit
s390/dump: fix old lowcore virtual vs physical address confusion
authorAlexander Gordeev <agordeev@linux.ibm.com>
Sat, 29 Jan 2022 07:38:56 +0000 (08:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 21 Aug 2022 13:16:09 +0000 (15:16 +0200)
commitae921d176b6f4359ac7462406ea68293c8c1c84e
tree801c3a229057b94306c4ee44c54fa9bbcc4bb537
parentb002a71d45bd323101a49f0cade978f1f65849c0
s390/dump: fix old lowcore virtual vs physical address confusion

[ Upstream commit dc306186a130c6d9feb0aabc1c71b8ed1674a3bf ]

Virtual addresses of vmcore_info and os_info members are
wrongly passed to copy_oldmem_kernel(), while the function
expects physical address of the source. Instead, __pa()
macro should have been applied.

Yet, use of __pa() macro could be somehow confusing, since
copy_oldmem_kernel() may treat the source as an offset, not
as a direct physical address (that depens from the oldmem
availability and location).

Fix the virtual vs physical address confusion and make the
way the old lowcore is read consistent across all sources.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kernel/asm-offsets.c
arch/s390/kernel/crash_dump.c
arch/s390/kernel/os_info.c