Skip to content

Commit d6df52e

Browse files
Vasily Gorbikheicarst
authored andcommitted
s390/maccess: add no DAT mode to kernel_write
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]>
1 parent 3047766 commit d6df52e

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

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)