• Heiko Carstens's avatar
    s390/maccess: remove potentially broken probe_kernel_write() · 8a5d8473
    Heiko Carstens authored
    Remove the s390 architecture implementation of probe_kernel_write() and
    instead use a new function s390_kernel_write() to modify kernel text and
    data everywhere.
    
    The s390 implementation of probe_kernel_write() was potentially broken
    since it modified memory in a read-modify-write fashion, which read four
    bytes, modified the requested bytes within those four bytes and wrote
    the result back.
    If two cpus would modify the same four byte area at different locations
    within that area, this could lead to corruption.
    Right now the only places which called probe_kernel_write() did run within
    stop_machine_run. Therefore the scenario can't happen right now, however
    that might change at any time.
    
    To fix this rename probe_kernel_write() to s390_kernel_write() which can
    have special semantics, like only call it while running within stop_machine().
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    8a5d8473
uaccess.h 9.89 KB