Commit 0986d977 authored by Christian Borntraeger's avatar Christian Borntraeger Committed by Martin Schwidefsky

s390: fix DAT off memory access, e.g. on kdump

commit 204ee2c5 ("s390/irqflags: optimize irq restore") optimized
irqrestore to really only care about interrupts and adapted the
remaining low level users. One spot (memcpy_real) was not touched,
though - fix it. Otherwise a kdump kernel will fail while reading
the old kernel. As we re-enable irqs with a non-standard function
we have to tell lockdep about that.

Fixes: 204ee2c5 ("s390/irqflags: optimize irq restore")
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 232f5dd7
...@@ -101,7 +101,9 @@ int memcpy_real(void *dest, void *src, size_t count) ...@@ -101,7 +101,9 @@ int memcpy_real(void *dest, void *src, size_t count)
local_irq_save(flags); local_irq_save(flags);
__arch_local_irq_stnsm(0xfbUL); __arch_local_irq_stnsm(0xfbUL);
rc = __memcpy_real(dest, src, count); rc = __memcpy_real(dest, src, count);
local_irq_restore(flags); if (!arch_irqs_disabled_flags(flags))
trace_hardirqs_on();
__arch_local_irq_ssm(flags);
return rc; return rc;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment