diff options
author | Ingo Molnar <mingo@kernel.org> | 2020-07-25 12:16:16 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2020-07-25 12:16:16 +0200 |
commit | fb4405ae6e1c66277b7d69d2c7a34215671da585 (patch) | |
tree | 95a24efe3a3ca90a4b041d5ca548c2d37eac1ae8 /arch/s390/mm/maccess.c | |
parent | c9a1ff316bc9b1d1806a4366d0aef6e18833ba52 (diff) | |
parent | ba47d845d715a010f7b51f6f89bae32845e6acb7 (diff) |
Merge tag 'v5.8-rc6' into x86/cpu, to refresh the branch before adding new commits
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/s390/mm/maccess.c')
-rw-r--r-- | arch/s390/mm/maccess.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/s390/mm/maccess.c b/arch/s390/mm/maccess.c index 22a0be655f27..1d17413b319a 100644 --- a/arch/s390/mm/maccess.c +++ b/arch/s390/mm/maccess.c @@ -62,11 +62,15 @@ notrace void *s390_kernel_write(void *dst, const void *src, size_t size) long copied; spin_lock_irqsave(&s390_kernel_write_lock, flags); - while (size) { - copied = s390_kernel_write_odd(tmp, src, size); - tmp += copied; - src += copied; - size -= copied; + if (!(flags & PSW_MASK_DAT)) { + memcpy(dst, src, size); + } else { + while (size) { + copied = s390_kernel_write_odd(tmp, src, size); + tmp += copied; + src += copied; + size -= copied; + } } spin_unlock_irqrestore(&s390_kernel_write_lock, flags); |