Unlike other architectures s390 can not use copyout() and memcopy() for accessing memory and thus using copy_to_iter() now is not possible. But a fix is needed, since 'cp' routine as 'core_collector' for kdump service initiates multi-segment iterator. The reason iterate_iovec() and __iterate_and_advance() macros copied from lib/iov_iter.c (thus introducing redundancy) is to avoid custom iterator- treating in s390 code. I doubt these macros could be turned public (i.e with a follow-up patch), so the intention is to do it like _copy_to_iter() does. Changes since v1: - number of bytes left to copy on fail fixed; Alexander Gordeev (1): s390/crash: allow multi-segment iterators arch/s390/kernel/crash_dump.c | 65 +++++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 15 deletions(-) -- 2.34.1