Skip to content

Commit 8942819

Browse files
Vasily Gorbikgregkh
authored andcommitted
s390/maccess: add no DAT mode to kernel_write
[ Upstream commit d6df52e ] To be able to patch kernel code before paging is initialized do plain memcpy if DAT is off. This is required to enable early jump label initialization. Reviewed-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent f5857c6 commit 8942819

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

arch/s390/mm/maccess.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,15 @@ notrace void *s390_kernel_write(void *dst, const void *src, size_t size)
6262
long copied;
6363

6464
spin_lock_irqsave(&s390_kernel_write_lock, flags);
65-
while (size) {
66-
copied = s390_kernel_write_odd(tmp, src, size);
67-
tmp += copied;
68-
src += copied;
69-
size -= copied;
65+
if (!(flags & PSW_MASK_DAT)) {
66+
memcpy(dst, src, size);
67+
} else {
68+
while (size) {
69+
copied = s390_kernel_write_odd(tmp, src, size);
70+
tmp += copied;
71+
src += copied;
72+
size -= copied;
73+
}
7074
}
7175
spin_unlock_irqrestore(&s390_kernel_write_lock, flags);
7276

0 commit comments

Comments
 (0)