Re: [PATCH 5.18 112/181] vmcore: convert copy_oldmem_page() to take an iov_iter

From: Heiko Carstens
Date: Mon Jun 27 2022 - 12:27:36 EST


On Mon, Jun 27, 2022 at 01:21:25PM +0200, Greg Kroah-Hartman wrote:
> From: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
>
> [ Upstream commit 5d8de293c224896a4da99763fce4f9794308caf4 ]
>
> Patch series "Convert vmcore to use an iov_iter", v5.
>
> For some reason several people have been sending bad patches to fix
> compiler warnings in vmcore recently. Here's how it should be done.
> Compile-tested only on x86. As noted in the first patch, s390 should take
> this conversion a bit further, but I'm not inclined to do that work
> myself.
>
> This patch (of 3):
>
> Instead of passing in a 'buf' and 'userbuf' argument, pass in an iov_iter.
> s390 needs more work to pass the iov_iter down further, or refactor, but
> I'd be more comfortable if someone who can test on s390 did that work.
>
> It's more convenient to convert the whole of read_from_oldmem() to take an
> iov_iter at the same time, so rename it to read_from_oldmem_iter() and add
> a temporary read_from_oldmem() wrapper that creates an iov_iter.
>
> Link: https://lkml.kernel.org/r/20220408090636.560886-1-bhe@xxxxxxxxxx
> Link: https://lkml.kernel.org/r/20220408090636.560886-2-bhe@xxxxxxxxxx
> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
> Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>
> Cc: Heiko Carstens <hca@xxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> ---
> arch/arm/kernel/crash_dump.c | 27 +++-------------
> arch/arm64/kernel/crash_dump.c | 29 +++--------------
> arch/ia64/kernel/crash_dump.c | 32 +++----------------
> arch/mips/kernel/crash_dump.c | 27 +++-------------
> arch/powerpc/kernel/crash_dump.c | 35 +++------------------
> arch/riscv/kernel/crash_dump.c | 26 +++------------
> arch/s390/kernel/crash_dump.c | 13 +++++---
> arch/sh/kernel/crash_dump.c | 29 +++--------------
> arch/x86/kernel/crash_dump_32.c | 29 +++--------------
> arch/x86/kernel/crash_dump_64.c | 41 +++++++-----------------
> fs/proc/vmcore.c | 54 ++++++++++++++++++++------------
> include/linux/crash_dump.h | 9 +++---
> 12 files changed, 91 insertions(+), 260 deletions(-)

This one breaks s390. You would also need to apply the following two commits:

cc02e6e21aa5 ("s390/crash: add missing iterator advance in copy_oldmem_page()")
af2debd58bd7 ("s390/crash: make copy_oldmem_page() return number of bytes copied")