s390/mm,kvm: fix software dirty bits vs. kvm for old machines
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 7 Oct 2013 14:15:29 +0000 (16:15 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 15 Oct 2013 11:47:57 +0000 (13:47 +0200)
commitaf0ebc40a81c694ad25f034383c13a233c4a2f55
treeffb3ad6513106ae0c0a4d5f8d2f85bbcf35d4c54
parent1e52db6908ca5aa8e035caeaf96e8de2567fd84d
s390/mm,kvm: fix software dirty bits vs. kvm for old machines

For machines without enhanced supression on protection the software
dirty bit code forces the pte dirty bit and clears the page protection
bit in pgste_set_pte. This is done for all pte types, the check for
present ptes is missing. As a result swap ptes and other not-present
ptes can get corrupted.
Add a check for the _PAGE_PRESENT bit to pgste_set_pte before modifying
the pte value.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/pgtable.h